#include <feedforwardnn.h>
Inheritance diagram for FeedForwardNN:
Public Types | |
typedef std::vector< NNLayer::WVEC > | WEIGHT |
enum | TRAIN_METHOD { GRADIENT_DESCENT, LINE_SEARCH, CONJUGATE_GRADIENT, WEIGHT_DECAY, ADAPTIVE_LEARNING_RATE } |
Public Member Functions | |
FeedForwardNN () | |
FeedForwardNN (const FeedForwardNN &) | |
FeedForwardNN (std::istream &is) | |
virtual | ~FeedForwardNN () |
const FeedForwardNN & | operator= (const FeedForwardNN &) |
virtual const id_t & | id () const |
virtual FeedForwardNN * | create () const |
Create a new object using the default constructor. | |
virtual FeedForwardNN * | clone () const |
Create a new object by replicating itself. | |
UINT | size () const |
const NNLayer & | operator[] (UINT n) const |
void | add_top (const NNLayer &) |
void | add_bottom (const NNLayer &) |
void | set_batch_mode (bool b=true) |
void | set_train_method (TRAIN_METHOD m) |
void | set_parameter (REAL lr, REAL mincst, UINT maxrun) |
virtual bool | support_weighted_data () const |
Whether the learning model/algorithm supports unequally weighted data. | |
virtual void | initialize () |
virtual void | train () |
Train with preset data set and sample weight. | |
virtual Output | operator() (const Input &) const |
WEIGHT | weight () const |
void | set_weight (const WEIGHT &) |
REAL | cost (UINT idx) const |
REAL | cost () const |
WEIGHT | gradient (UINT idx) const |
WEIGHT | gradient () const |
void | clear_gradient () const |
bool | stop_opt (UINT step, REAL cst) |
Protected Member Functions | |
virtual bool | serialize (std::ostream &, ver_list &) const |
virtual bool | unserialize (std::istream &, ver_list &, const id_t &=NIL_ID) |
virtual REAL | _cost (const Output &F, const Output &y) const |
virtual Output | _cost_deriv (const Output &F, const Output &y) const |
virtual void | log_cost (UINT epoch, REAL err) |
Protected Attributes | |
UINT | n_layer |
# of layers == layer.size()-1. | |
std::vector< NNLayer * > | layer |
layer pointers (layer[0] == 0). | |
std::vector< Output > | _y |
buffer for outputs. | |
std::vector< Output > | _dy |
buffer for derivatives. | |
bool | online_learn |
TRAIN_METHOD | train_method |
REAL | learn_rate |
REAL | min_cst |
UINT | max_run |
Definition at line 18 of file feedforwardnn.h.
|
Definition at line 28 of file feedforwardnn.h. |
|
Definition at line 29 of file feedforwardnn.h. |
|
Definition at line 22 of file feedforwardnn.cpp. References FeedForwardNN::layer. Referenced by FeedForwardNN::clone(), and FeedForwardNN::create(). |
|
Definition at line 31 of file feedforwardnn.cpp. References FeedForwardNN::layer, and FeedForwardNN::n_layer. |
|
Definition at line 51 of file feedforwardnn.h. |
|
Definition at line 42 of file feedforwardnn.cpp. |
|
Definition at line 84 of file feedforwardnn.h. References LearnModel::r_error(). Referenced by FeedForwardNN::cost(). |
|
Definition at line 211 of file feedforwardnn.cpp. References LearnModel::_n_out, and LearnModel::n_output(). Referenced by FeedForwardNN::gradient(). |
|
|
|
Definition at line 129 of file feedforwardnn.cpp. References FeedForwardNN::_dy, LearnModel::_n_in, LearnModel::_n_out, FeedForwardNN::_y, NNLayer::clone(), FeedForwardNN::layer, LearnModel::n_input(), FeedForwardNN::n_layer, and LearnModel::n_output(). |
|
Definition at line 276 of file feedforwardnn.cpp. References FeedForwardNN::layer, and FeedForwardNN::n_layer. Referenced by FeedForwardNN::gradient(). |
|
Create a new object by replicating itself.
return new Derived(*this);
Implements LearnModel. Definition at line 57 of file feedforwardnn.h. References FeedForwardNN::FeedForwardNN(). |
|
Definition at line 224 of file feedforwardnn.cpp. References LearnModel::ptd, and LearnModel::ptw. |
|
Definition at line 220 of file feedforwardnn.cpp. References FeedForwardNN::_cost(), LearnModel::get_output(), and LearnModel::ptd. |
|
Create a new object using the default constructor. The code for a derived class Derived is always return new Derived(); Implements LearnModel. Definition at line 56 of file feedforwardnn.h. References FeedForwardNN::FeedForwardNN(). |
|
Definition at line 250 of file feedforwardnn.cpp. References FeedForwardNN::_cost_deriv(), FeedForwardNN::_dy, LearnModel::_n_out, FeedForwardNN::_y, FeedForwardNN::clear_gradient(), FeedForwardNN::layer, FeedForwardNN::n_layer, LearnModel::ptd, LearnModel::ptw, and FeedForwardNN::size(). |
|
Definition at line 233 of file feedforwardnn.cpp. References FeedForwardNN::_cost_deriv(), FeedForwardNN::_dy, FeedForwardNN::_y, FeedForwardNN::clear_gradient(), FeedForwardNN::layer, FeedForwardNN::n_layer, and LearnModel::ptd. |
|
Implements Object. |
|
Reimplemented from LearnModel. Definition at line 146 of file feedforwardnn.cpp. References FeedForwardNN::layer, and FeedForwardNN::n_layer. |
|
Definition at line 182 of file feedforwardnn.cpp. References FeedForwardNN::learn_rate, and LearnModel::logf. Referenced by FeedForwardNN::stop_opt(). |
|
Implements LearnModel. Definition at line 190 of file feedforwardnn.cpp. References FeedForwardNN::_y, LearnModel::n_input(), and FeedForwardNN::n_layer. |
|
Definition at line 46 of file feedforwardnn.cpp. References FeedForwardNN::_dy, FeedForwardNN::_y, FeedForwardNN::layer, FeedForwardNN::learn_rate, FeedForwardNN::max_run, FeedForwardNN::min_cst, FeedForwardNN::n_layer, FeedForwardNN::online_learn, and FeedForwardNN::train_method. |
|
Definition at line 61 of file feedforwardnn.h. References FeedForwardNN::layer. |
|
Reimplemented from LearnModel. Definition at line 67 of file feedforwardnn.cpp. References FeedForwardNN::layer, FeedForwardNN::learn_rate, FeedForwardNN::max_run, FeedForwardNN::min_cst, FeedForwardNN::n_layer, FeedForwardNN::online_learn, and SERIALIZE_PARENT. |
|
Definition at line 65 of file feedforwardnn.h. References FeedForwardNN::online_learn. |
|
Definition at line 72 of file feedforwardnn.h. References FeedForwardNN::learn_rate, FeedForwardNN::max_run, and FeedForwardNN::min_cst. |
|
Definition at line 66 of file feedforwardnn.h. References FeedForwardNN::train_method. |
|
Definition at line 205 of file feedforwardnn.cpp. References FeedForwardNN::layer, and FeedForwardNN::n_layer. |
|
Definition at line 60 of file feedforwardnn.h. References FeedForwardNN::n_layer. Referenced by FeedForwardNN::gradient(). |
|
Definition at line 281 of file feedforwardnn.cpp. References FeedForwardNN::log_cost(), FeedForwardNN::max_run, and FeedForwardNN::min_cst. |
|
Whether the learning model/algorithm supports unequally weighted data.
Reimplemented from LearnModel. Definition at line 75 of file feedforwardnn.h. |
|
Train with preset data set and sample weight.
Implements LearnModel. Definition at line 151 of file feedforwardnn.cpp. References FeedForwardNN::ADAPTIVE_LEARNING_RATE, FeedForwardNN::CONJUGATE_GRADIENT, FeedForwardNN::GRADIENT_DESCENT, lemga::iterative_optimize(), FeedForwardNN::learn_rate, FeedForwardNN::LINE_SEARCH, FeedForwardNN::n_layer, LearnModel::ptd, LearnModel::ptw, FeedForwardNN::train_method, and FeedForwardNN::WEIGHT_DECAY. |
|
Reimplemented from LearnModel. Definition at line 80 of file feedforwardnn.cpp. References FeedForwardNN::_dy, LearnModel::_n_in, LearnModel::_n_out, FeedForwardNN::_y, Object::create(), FeedForwardNN::learn_rate, FeedForwardNN::max_run, FeedForwardNN::min_cst, Object::NIL_ID, FeedForwardNN::online_learn, and UNSERIALIZE_PARENT. |
|
Definition at line 198 of file feedforwardnn.cpp. References FeedForwardNN::layer, and FeedForwardNN::n_layer. |
|
buffer for derivatives.
Definition at line 41 of file feedforwardnn.h. Referenced by FeedForwardNN::add_top(), FeedForwardNN::gradient(), FeedForwardNN::operator=(), and FeedForwardNN::unserialize(). |
|
buffer for outputs.
Definition at line 40 of file feedforwardnn.h. Referenced by FeedForwardNN::add_top(), FeedForwardNN::gradient(), FeedForwardNN::operator()(), FeedForwardNN::operator=(), and FeedForwardNN::unserialize(). |
|
layer pointers (layer[0] == 0).
Definition at line 39 of file feedforwardnn.h. Referenced by FeedForwardNN::add_top(), FeedForwardNN::clear_gradient(), FeedForwardNN::FeedForwardNN(), FeedForwardNN::gradient(), FeedForwardNN::initialize(), FeedForwardNN::operator=(), FeedForwardNN::operator[](), FeedForwardNN::serialize(), FeedForwardNN::set_weight(), and FeedForwardNN::weight(). |
|
Definition at line 45 of file feedforwardnn.h. Referenced by FeedForwardNN::log_cost(), FeedForwardNN::operator=(), FeedForwardNN::serialize(), FeedForwardNN::set_parameter(), FeedForwardNN::train(), and FeedForwardNN::unserialize(). |
|
Definition at line 46 of file feedforwardnn.h. Referenced by FeedForwardNN::operator=(), FeedForwardNN::serialize(), FeedForwardNN::set_parameter(), FeedForwardNN::stop_opt(), and FeedForwardNN::unserialize(). |
|
Definition at line 45 of file feedforwardnn.h. Referenced by FeedForwardNN::operator=(), FeedForwardNN::serialize(), FeedForwardNN::set_parameter(), FeedForwardNN::stop_opt(), and FeedForwardNN::unserialize(). |
|
# of layers == layer.size()-1.
Definition at line 38 of file feedforwardnn.h. Referenced by FeedForwardNN::add_top(), FeedForwardNN::clear_gradient(), FeedForwardNN::FeedForwardNN(), FeedForwardNN::gradient(), FeedForwardNN::initialize(), FeedForwardNN::operator()(), FeedForwardNN::operator=(), FeedForwardNN::serialize(), FeedForwardNN::set_weight(), FeedForwardNN::size(), FeedForwardNN::train(), and FeedForwardNN::weight(). |
|
Definition at line 43 of file feedforwardnn.h. Referenced by FeedForwardNN::operator=(), FeedForwardNN::serialize(), FeedForwardNN::set_batch_mode(), and FeedForwardNN::unserialize(). |
|
Definition at line 44 of file feedforwardnn.h. Referenced by FeedForwardNN::operator=(), FeedForwardNN::set_train_method(), and FeedForwardNN::train(). |