SVDCompleteIncrementalLearning< MatType > Class Template Reference

This class computes SVD using complete incremental batch learning, as described in the following paper: More...

Public Member Functions

 SVDCompleteIncrementalLearning (double u=0.0001, double kw=0, double kh=0)
 Initialize the SVDCompleteIncrementalLearning class with the given parameters. More...

 
void HUpdate (const MatType &V, const arma::mat &W, arma::mat &H)
 The update rule for the encoding matrix H. More...

 
void Initialize (const MatType &, const size_t)
 Initialize parameters before factorization. More...

 
void WUpdate (const MatType &V, arma::mat &W, const arma::mat &H)
 The update rule for the basis matrix W. More...

 

Detailed Description


template
<
class
MatType
>

class mlpack::amf::SVDCompleteIncrementalLearning< MatType >

This class computes SVD using complete incremental batch learning, as described in the following paper:

@techreport{ma2008guide,
title={A Guide to Singular Value Decomposition for Collaborative
Filtering},
author={Ma, Chih-Chao},
year={2008},
institution={Department of Computer Science, National Taiwan University}
}

This class implements 'Algorithm 3' given in the paper. Complete incremental learning is an extreme case of incremental learning, where feature vectors are updated after looking at each single element in the input matrix (V). This approach differs from incomplete incremental learning where feature vectors are updated after seeing columns of elements in the input matrix.

See also
SVDIncompleteIncrementalLearning

Definition at line 45 of file svd_complete_incremental_learning.hpp.

Constructor & Destructor Documentation

◆ SVDCompleteIncrementalLearning()

SVDCompleteIncrementalLearning ( double  u = 0.0001,
double  kw = 0,
double  kh = 0 
)
inline

Initialize the SVDCompleteIncrementalLearning class with the given parameters.

Parameters
uStep value used in batch learning.
kwRegularization constant for W matrix.
khRegularization constant for H matrix.

Definition at line 56 of file svd_complete_incremental_learning.hpp.

Member Function Documentation

◆ HUpdate()

void HUpdate ( const MatType &  V,
const arma::mat &  W,
arma::mat &  H 
)
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.

Parameters
VInput matrix to be factorized.
WBasis matrix.
HEncoding matrix to be updated.

Definition at line 123 of file svd_complete_incremental_learning.hpp.

◆ Initialize()

void Initialize ( const MatType &  ,
const size_t   
)
inline

Initialize parameters before factorization.

This function must be called before a new factorization. For this initialization, the input parameters are unnecessary; we are only setting the current element index to 0.

Parameters
*(dataset) Input matrix to be factorized.
*(rank) Rank of factorization.

Definition at line 72 of file svd_complete_incremental_learning.hpp.

◆ WUpdate()

void WUpdate ( const MatType &  V,
arma::mat &  W,
const arma::mat &  H 
)
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.

Parameters
VInput matrix to be factorized.
WBasis matrix to be updated.
HEncoding matrix.

Definition at line 87 of file svd_complete_incremental_learning.hpp.


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