This class implements SVD batch learning with momentum. More...
Public Member Functions | |
SVDBatchLearning (double u=0.0002, double kw=0, double kh=0, double momentum=0.9) | |
SVD Batch learning constructor. More... | |
template < typename MatType > | |
void | HUpdate (const MatType &V, const arma::mat &W, arma::mat &H) |
The update rule for the encoding matrix H. More... | |
template < typename MatType > | |
void | Initialize (const MatType &dataset, const size_t rank) |
Initialize parameters before factorization. More... | |
template < typename Archive > | |
void | serialize (Archive &ar, const uint32_t) |
Serialize the SVDBatch object. More... | |
template < typename MatType > | |
void | WUpdate (const MatType &V, arma::mat &W, const arma::mat &H) |
The update rule for the basis matrix W. More... | |
This class implements SVD batch learning with momentum.
This procedure is described in the following paper:
This class implements 'Algorithm 4' as given in the paper.
The factorizer decomposes the matrix V into two matrices W and H such that sum of sum of squared error between V and W * H is minimum. This optimization is performed with gradient descent. To make gradient descent faster, momentum is added.
Definition at line 41 of file svd_batch_learning.hpp.
|
inline |
SVD Batch learning constructor.
u | step value used in batch learning |
kw | regularization constant for W matrix |
kh | regularization constant for H matrix |
momentum | momentum applied to batch learning process |
Definition at line 52 of file svd_batch_learning.hpp.
|
inline |
The update rule for the encoding matrix H.
The function takes in all the matrices and only changes the value of the H matrix.
V | Input matrix to be factorized. |
W | Basis matrix. |
H | Encoding matrix to be updated. |
Definition at line 133 of file svd_batch_learning.hpp.
|
inline |
Initialize parameters before factorization.
This function must be called before a new factorization. This resets the internally-held momentum.
dataset | Input matrix to be factorized. |
rank | rank of factorization |
Definition at line 69 of file svd_batch_learning.hpp.
|
inline |
Serialize the SVDBatch object.
Definition at line 169 of file svd_batch_learning.hpp.
|
inline |
The update rule for the basis matrix W.
The function takes in all the matrices and only changes the value of the W matrix.
V | Input matrix to be factorized. |
W | Basis matrix to be updated. |
H | Encoding matrix. |
Definition at line 88 of file svd_batch_learning.hpp.