SVDIncompleteIncrementalLearning Class Reference

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...

 

Detailed Description

This class computes SVD using incomplete 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 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.

See also
SVDBatchLearning

Definition at line 43 of file svd_incomplete_incremental_learning.hpp.

Constructor & Destructor Documentation

◆ SVDIncompleteIncrementalLearning()

SVDIncompleteIncrementalLearning ( double  u = 0.001,
double  kw = 0,
double  kh = 0 
)
inline

Initialize the parameters of SVDIncompleteIncrementalLearning.

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

Definition at line 53 of file svd_incomplete_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 121 of file svd_incomplete_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. This simply sets the column being considered to 0, so the input matrix and rank are not used.

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

Definition at line 70 of file svd_incomplete_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 86 of file svd_incomplete_incremental_learning.hpp.


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