mlpack
Public Member Functions | List of all members
mlpack::amf::SVDCompleteIncrementalLearning< MatType > Class Template Reference

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

#include <svd_complete_incremental_learning.hpp>

Public Member Functions

 SVDCompleteIncrementalLearning (double u=0.0001, double kw=0, double kh=0)
 Initialize the SVDCompleteIncrementalLearning class with the given parameters. 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...
 
void HUpdate (const MatType &V, const arma::mat &W, arma::mat &H)
 The update rule for the encoding matrix H. 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

Constructor & Destructor Documentation

◆ SVDCompleteIncrementalLearning()

template<class MatType >
mlpack::amf::SVDCompleteIncrementalLearning< MatType >::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.

Member Function Documentation

◆ HUpdate()

template<class MatType >
void mlpack::amf::SVDCompleteIncrementalLearning< MatType >::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.

◆ Initialize()

template<class MatType >
void mlpack::amf::SVDCompleteIncrementalLearning< MatType >::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.

◆ WUpdate()

template<class MatType >
void mlpack::amf::SVDCompleteIncrementalLearning< MatType >::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.

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