This class computes SVD using incomplete incremental batch learning, as described in the following paper: More...
Public Member Functions | |
SVDIncompleteIncrementalLearning (double u=0.001, double kw=0, double kh=0) | |
Initialize the parameters of SVDIncompleteIncrementalLearning. 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 &, const size_t) |
Initialize parameters before factorization. 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 computes SVD using incomplete incremental batch learning, as described in the following paper:
This class implements 'Algorithm 2' as given in the paper. Incremental learning modifies only some feature values in W and H after scanning part of the input matrix (V). This differs from batch learning, which considers every element in V for each update of W and H. The regularization technique is also different: in incomplete incremental learning, regularization takes into account the number of elements in a given column of V.
Definition at line 43 of file svd_incomplete_incremental_learning.hpp.
|
inline |
Initialize the parameters of SVDIncompleteIncrementalLearning.
u | Step value used in batch learning. |
kw | Regularization constant for W matrix. |
kh | Regularization constant for H matrix. |
Definition at line 53 of file svd_incomplete_incremental_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 121 of file svd_incomplete_incremental_learning.hpp.
|
inline |
Initialize parameters before factorization.
This function must be called before a new factorization. This simply sets the column being considered to 0, so the input matrix and rank are not used.
* | (dataset) Input matrix to be factorized. |
* | (rank) of factorization |
Definition at line 70 of file svd_incomplete_incremental_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 86 of file svd_incomplete_incremental_learning.hpp.