MachineIntelligenceCore:NeuralNets
|
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>
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_) |
![]() | |
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... | |
Updates according to a modified Hebbian rule (wij += ni * f(x, y)) with additional normalization and zero summing for optimal edge detection.
Definition at line 41 of file NormalizedZerosumHebbianRule.hpp.
|
inline |
Constructor. Sets dimensions.
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.
|
inlinevirtual |
Definition at line 54 of file NormalizedZerosumHebbianRule.hpp.
|
inlinevirtual |
Calculates the update according to the hebbian rule.
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().
|
inlinevirtual |
Updates the weight matrix according to the hebbian rule with normalization (l2 norm).
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.
|
protected |
Calculated update.
Definition at line 124 of file NormalizedZerosumHebbianRule.hpp.
Referenced by mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::calculateUpdate(), mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::NormalizedZerosumHebbianRule(), and mic::neural_nets::learning::NormalizedZerosumHebbianRule< eT >::update().