MachineIntelligenceCore:NeuralNets
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT > Class Template Reference

Updates according to classical Hebbian rule (wij += ni * x * y). More...

#include <BinaryCorrelatorLearningRule.hpp>

Inheritance diagram for mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >:
Collaboration diagram for mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >:

Public Member Functions

 BinaryCorrelatorLearningRule (size_t rows_, size_t cols_)
 
virtual ~BinaryCorrelatorLearningRule ()
 
virtual mic::types::MatrixPtr< eT > calculateUpdate (mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > y_, eT ni_aa=0.1)
 
- Public Member Functions inherited from mic::neural_nets::optimization::OptimizationFunction< eT >
 OptimizationFunction ()
 
virtual ~OptimizationFunction ()
 Virtual destructor - empty. More...
 
virtual void update (mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > dp_, eT learning_rate_, eT decay_=0.0)
 
virtual void update (mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > y_, eT learning_rate_=0.001)
 

Protected Attributes

mic::types::MatrixPtr< eT > delta
 Calculated update. More...
 

Detailed Description

template<typename eT = float>
class mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >

Updates according to classical Hebbian rule (wij += ni * x * y).

Author
tkornuta
tkornuta

Definition at line 43 of file BinaryCorrelatorLearningRule.hpp.

Constructor & Destructor Documentation

template<typename eT = float>
mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >::BinaryCorrelatorLearningRule ( size_t  rows_,
size_t  cols_ 
)
inline

Constructor. Sets dimensions, momentum rates (beta1=0.9 and beta2=0.999) and eps(default=1e-8).

Parameters
rows_Number of rows of the updated matrix/its gradient.
cols_Number of columns of the updated matrix/its gradient.

Definition at line 50 of file BinaryCorrelatorLearningRule.hpp.

References mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >::delta.

template<typename eT = float>
virtual mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >::~BinaryCorrelatorLearningRule ( )
inlinevirtual

Definition at line 56 of file BinaryCorrelatorLearningRule.hpp.

Member Function Documentation

template<typename eT = float>
virtual mic::types::MatrixPtr<eT> mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >::calculateUpdate ( mic::types::MatrixPtr< eT >  x_,
mic::types::MatrixPtr< eT >  y_,
eT  ni_aa = 0.1 
)
inlinevirtual

Calculates the update according to the hebbian rule.

Parameters
x_Pointer to the input data matrix.
y_Pointer to the output data matrix.
ni_aaLearning rate for P({AA}) (default=0.1).

Implements mic::neural_nets::optimization::OptimizationFunction< eT >.

Definition at line 65 of file BinaryCorrelatorLearningRule.hpp.

References mic::neural_nets::learning::BinaryCorrelatorLearningRule< eT >::delta.

Member Data Documentation


The documentation for this class was generated from the following file: