\section{S\+V\+D\+Complete\+Incremental\+Learning$<$ Mat\+Type $>$ Class Template Reference}
\label{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning}\index{S\+V\+D\+Complete\+Incremental\+Learning$<$ Mat\+Type $>$@{S\+V\+D\+Complete\+Incremental\+Learning$<$ Mat\+Type $>$}}


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


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ S\+V\+D\+Complete\+Incremental\+Learning} (double u=0.\+0001, double kw=0, double kh=0)
\begin{DoxyCompactList}\small\item\em Initialize the \doxyref{S\+V\+D\+Complete\+Incremental\+Learning}{p.}{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning} class with the given parameters. \end{DoxyCompactList}\item 
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 
void \textbf{ Initialize} (const Mat\+Type \&, const size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initialize parameters before factorization. \end{DoxyCompactList}\item 
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}
\subsubsection*{template$<$class Mat\+Type$>$\newline
class mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning$<$ Mat\+Type $>$}

This class computes S\+VD using complete 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 3\textquotesingle{} 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.

\begin{DoxySeeAlso}{See also}
\doxyref{S\+V\+D\+Incomplete\+Incremental\+Learning}{p.}{classmlpack_1_1amf_1_1SVDIncompleteIncrementalLearning} 
\end{DoxySeeAlso}


Definition at line 45 of file svd\+\_\+complete\+\_\+incremental\+\_\+learning.\+hpp.



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



Initialize the \doxyref{S\+V\+D\+Complete\+Incremental\+Learning}{p.}{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning} class with the given parameters. 


\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 56 of file svd\+\_\+complete\+\_\+incremental\+\_\+learning.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning_a0e71ea053b53eaf173cfc5c443579a23}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning}!H\+Update@{H\+Update}}
\index{H\+Update@{H\+Update}!mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+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 123 of file svd\+\_\+complete\+\_\+incremental\+\_\+learning.\+hpp.

\mbox{\label{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning_ab9a33e66c6132c302ff20b14d66a72ff}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning}!Initialize@{Initialize}}
\index{Initialize@{Initialize}!mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+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. For this initialization, the input parameters are unnecessary; we are only setting the current element index to 0.


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


Definition at line 72 of file svd\+\_\+complete\+\_\+incremental\+\_\+learning.\+hpp.

\mbox{\label{classmlpack_1_1amf_1_1SVDCompleteIncrementalLearning_a9d294bbec9c31732350d3cae87847d88}} 
\index{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning}!W\+Update@{W\+Update}}
\index{W\+Update@{W\+Update}!mlpack\+::amf\+::\+S\+V\+D\+Complete\+Incremental\+Learning@{mlpack\+::amf\+::\+S\+V\+D\+Complete\+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 87 of file svd\+\_\+complete\+\_\+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\+\_\+complete\+\_\+incremental\+\_\+learning.\+hpp}\end{DoxyCompactItemize}
