\section{S\+V\+D\+Incomplete\+Incremental\+Learning Class Reference}
\label{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning}\index{S\+V\+D\+Incomplete\+Incremental\+Learning@{S\+V\+D\+Incomplete\+Incremental\+Learning}}


This class computes S\+VD using incomplete incremental batch learning, as described in the following paper\+:  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ S\+V\+D\+Incomplete\+Incremental\+Learning} (double u=0.\+001, double kw=0, double kh=0)
\begin{DoxyCompactList}\small\item\em Initialize the parameters of \doxyref{S\+V\+D\+Incomplete\+Incremental\+Learning}{p.}{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning}. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Mat\+Type $>$ }\\void \textbf{ H\+Update} (const Mat\+Type \&V, const arma\+::mat \&W, arma\+::mat \&H)
\begin{DoxyCompactList}\small\item\em The update rule for the encoding matrix H. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Mat\+Type $>$ }\\void \textbf{ Initialize} (const Mat\+Type \&, const size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initialize parameters before factorization. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Mat\+Type $>$ }\\void \textbf{ W\+Update} (const Mat\+Type \&V, arma\+::mat \&W, const arma\+::mat \&H)
\begin{DoxyCompactList}\small\item\em The update rule for the basis matrix W. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class computes S\+VD using incomplete incremental batch learning, as described in the following paper\+: 


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


This class implements \textquotesingle{}Algorithm 2\textquotesingle{} 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.

\begin{DoxySeeAlso}{See also}
\doxyref{S\+V\+D\+Batch\+Learning}{p.}{classmlpack_1_1amf_1_1SVDBatchLearning} 
\end{DoxySeeAlso}


Definition at line 43 of file svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp.



\subsection{Constructor \& Destructor Documentation}
\mbox{\label{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning_af5da9da0261dbf844411693f1d7f16d5}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}!S\+V\+D\+Incomplete\+Incremental\+Learning@{S\+V\+D\+Incomplete\+Incremental\+Learning}}
\index{S\+V\+D\+Incomplete\+Incremental\+Learning@{S\+V\+D\+Incomplete\+Incremental\+Learning}!mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}}
\subsubsection{S\+V\+D\+Incomplete\+Incremental\+Learning()}
{\footnotesize\ttfamily \textbf{ S\+V\+D\+Incomplete\+Incremental\+Learning} (\begin{DoxyParamCaption}\item[{double}]{u = {\ttfamily 0.001},  }\item[{double}]{kw = {\ttfamily 0},  }\item[{double}]{kh = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Initialize the parameters of \doxyref{S\+V\+D\+Incomplete\+Incremental\+Learning}{p.}{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning}. 


\begin{DoxyParams}{Parameters}
{\em u} & Step value used in batch learning. \\
\hline
{\em kw} & Regularization constant for W matrix. \\
\hline
{\em kh} & Regularization constant for H matrix. \\
\hline
\end{DoxyParams}


Definition at line 53 of file svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning_a3c338e327964c027a7d4172e638a5dff}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}!H\+Update@{H\+Update}}
\index{H\+Update@{H\+Update}!mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}}
\subsubsection{H\+Update()}
{\footnotesize\ttfamily void H\+Update (\begin{DoxyParamCaption}\item[{const Mat\+Type \&}]{V,  }\item[{const arma\+::mat \&}]{W,  }\item[{arma\+::mat \&}]{H }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [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.


\begin{DoxyParams}{Parameters}
{\em V} & Input matrix to be factorized. \\
\hline
{\em W} & Basis matrix. \\
\hline
{\em H} & Encoding matrix to be updated. \\
\hline
\end{DoxyParams}


Definition at line 121 of file svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp.

\mbox{\label{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning_aac5af164b10635addd7ff7bb934a4db3}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}!Initialize@{Initialize}}
\index{Initialize@{Initialize}!mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}}
\subsubsection{Initialize()}
{\footnotesize\ttfamily void Initialize (\begin{DoxyParamCaption}\item[{const Mat\+Type \&}]{,  }\item[{const size\+\_\+t}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [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.


\begin{DoxyParams}{Parameters}
{\em $\ast$} & (dataset) Input matrix to be factorized. \\
\hline
{\em $\ast$} & (rank) of factorization \\
\hline
\end{DoxyParams}


Definition at line 70 of file svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp.

\mbox{\label{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning_a2df8bfa574f8a8e43e6b1466dc0526fe}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}!W\+Update@{W\+Update}}
\index{W\+Update@{W\+Update}!mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Incomplete\+Incremental\+Learning}}
\subsubsection{W\+Update()}
{\footnotesize\ttfamily void W\+Update (\begin{DoxyParamCaption}\item[{const Mat\+Type \&}]{V,  }\item[{arma\+::mat \&}]{W,  }\item[{const arma\+::mat \&}]{H }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [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.


\begin{DoxyParams}{Parameters}
{\em V} & Input matrix to be factorized. \\
\hline
{\em W} & Basis matrix to be updated. \\
\hline
{\em H} & Encoding matrix. \\
\hline
\end{DoxyParams}


Definition at line 86 of file svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/git/src/mlpack/methods/amf/update\+\_\+rules/\textbf{ svd\+\_\+incomplete\+\_\+incremental\+\_\+learning.\+hpp}\end{DoxyCompactItemize}
