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

Updates according to a modified Hebbian rule (wij += ni * f(x, y)) with additional normalization and zero summing for optimal edge detection. More...

#include <NormalizedZerosumHebbianRule.hpp>

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

Public Member Functions

 NormalizedZerosumHebbianRule (size_t rows_, size_t cols_)
 
virtual ~NormalizedZerosumHebbianRule ()
 
virtual void update (mic::types::MatrixPtr< eT > p_, mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > y_, eT learning_rate_=0.001)
 
virtual mic::types::MatrixPtr< eT > calculateUpdate (mic::types::MatrixPtr< eT > x_, mic::types::MatrixPtr< eT > y_, eT learning_rate_)
 
- 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)
 

Protected Attributes

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

Detailed Description

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

Updates according to a modified Hebbian rule (wij += ni * f(x, y)) with additional normalization and zero summing for optimal edge detection.

Author
tkornuta/Alexis-Asseman

Definition at line 41 of file NormalizedZerosumHebbianRule.hpp.

Constructor & Destructor Documentation

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

Constructor. Sets dimensions.

Parameters
rows_Number of rows of the update matrix.
cols_Number of columns of the update matrix.

Definition at line 48 of file NormalizedZerosumHebbianRule.hpp.

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

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

Definition at line 54 of file NormalizedZerosumHebbianRule.hpp.

Member Function Documentation

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

Calculates the update according to the hebbian rule.

Parameters
x_Pointer to the input data matrix.
y_Pointer to the output data matrix.
learning_rate_Learning rate (default=0.001).

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

Definition at line 88 of file NormalizedZerosumHebbianRule.hpp.

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

Referenced by mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::update().

template<typename eT = float>
virtual void mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::update ( mic::types::MatrixPtr< eT >  p_,
mic::types::MatrixPtr< eT >  x_,
mic::types::MatrixPtr< eT >  y_,
eT  learning_rate_ = 0.001 
)
inlinevirtual

Updates the weight matrix according to the hebbian rule with normalization (l2 norm).

Parameters
p_Pointer to the parameter (weight) matrix.
x_Pointer to the input data matrix.
y_Pointer to the output data matrix.
learning_rate_Learning rate (default=0.001).

Reimplemented from mic::neural_nets::optimization::OptimizationFunction< eT >.

Definition at line 64 of file NormalizedZerosumHebbianRule.hpp.

References mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::calculateUpdate(), and mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::delta.

Here is the call graph for this function:

Member Data Documentation


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