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 unsigned int) 
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 internallyheld 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.