\section{Bias\+S\+V\+D\+Policy Class Reference}
\label{classmlpack_1_1cf_1_1BiasSVDPolicy}\index{Bias\+S\+V\+D\+Policy@{Bias\+S\+V\+D\+Policy}}


Implementation of the Bias S\+VD policy to act as a wrapper when accessing Bias S\+VD from within \doxyref{C\+F\+Type}{p.}{classmlpack_1_1cf_1_1CFType}.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\textbf{ Bias\+S\+V\+D\+Policy} (const size\+\_\+t max\+Iterations=10, const double alpha=0.\+02, const double lambda=0.\+05)
\begin{DoxyCompactList}\small\item\em Use Bias S\+VD method to perform collaborative filtering. \end{DoxyCompactList}\item 
double \textbf{ Alpha} () const
\begin{DoxyCompactList}\small\item\em Get learning rate. \end{DoxyCompactList}\item 
double \& \textbf{ Alpha} ()
\begin{DoxyCompactList}\small\item\em Modify learning rate. \end{DoxyCompactList}\item 
void \textbf{ Apply} (const arma\+::mat \&data, const arma\+::sp\+\_\+mat \&, const size\+\_\+t rank, const size\+\_\+t max\+Iterations, const double, const bool)
\begin{DoxyCompactList}\small\item\em Apply Collaborative Filtering to the provided data set using the bias S\+VD. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Neighbor\+Search\+Policy $>$ }\\void \textbf{ Get\+Neighborhood} (const arma\+::\+Col$<$ size\+\_\+t $>$ \&users, const size\+\_\+t num\+Users\+For\+Similarity, arma\+::\+Mat$<$ size\+\_\+t $>$ \&neighborhood, arma\+::mat \&similarities) const
\begin{DoxyCompactList}\small\item\em Get the neighborhood and corresponding similarities for a set of users. \end{DoxyCompactList}\item 
double \textbf{ Get\+Rating} (const size\+\_\+t user, const size\+\_\+t item) const
\begin{DoxyCompactList}\small\item\em Return predicted rating given user ID and item ID. \end{DoxyCompactList}\item 
void \textbf{ Get\+Rating\+Of\+User} (const size\+\_\+t user, arma\+::vec \&rating) const
\begin{DoxyCompactList}\small\item\em Get predicted ratings for a user. \end{DoxyCompactList}\item 
const arma\+::mat \& \textbf{ H} () const
\begin{DoxyCompactList}\small\item\em Get the User Matrix. \end{DoxyCompactList}\item 
double \textbf{ Lambda} () const
\begin{DoxyCompactList}\small\item\em Get regularization parameter. \end{DoxyCompactList}\item 
double \& \textbf{ Lambda} ()
\begin{DoxyCompactList}\small\item\em Modify regularization parameter. \end{DoxyCompactList}\item 
size\+\_\+t \textbf{ Max\+Iterations} () const
\begin{DoxyCompactList}\small\item\em Get the number of iterations. \end{DoxyCompactList}\item 
size\+\_\+t \& \textbf{ Max\+Iterations} ()
\begin{DoxyCompactList}\small\item\em Modify the number of iterations. \end{DoxyCompactList}\item 
const arma\+::vec \& \textbf{ P} () const
\begin{DoxyCompactList}\small\item\em Get the Item Bias Vector. \end{DoxyCompactList}\item 
const arma\+::vec \& \textbf{ Q} () const
\begin{DoxyCompactList}\small\item\em Get the User Bias Vector. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Archive $>$ }\\void \textbf{ serialize} (Archive \&ar, const unsigned int)
\begin{DoxyCompactList}\small\item\em Serialization. \end{DoxyCompactList}\item 
const arma\+::mat \& \textbf{ W} () const
\begin{DoxyCompactList}\small\item\em Get the Item Matrix. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation of the Bias S\+VD policy to act as a wrapper when accessing Bias S\+VD from within \doxyref{C\+F\+Type}{p.}{classmlpack_1_1cf_1_1CFType}. 

An example of how to use \doxyref{Bias\+S\+V\+D\+Policy}{p.}{classmlpack_1_1cf_1_1BiasSVDPolicy} in CF is shown below\+:


\begin{DoxyCode}
\textcolor{keyword}{extern} arma::mat data; \textcolor{comment}{// data is a (user, item, rating) table.}
\textcolor{comment}{// Users for whom recommendations are generated.}
\textcolor{keyword}{extern} arma::Col<size\_t> users;
arma::Mat<size\_t> recommendations; \textcolor{comment}{// Resulting recommendations.}

CFType<BiasSVDPolicy> cf(data);

\textcolor{comment}{// Generate 10 recommendations for all users.}
cf.GetRecommendations(10, recommendations);
\end{DoxyCode}
 

Definition at line 41 of file bias\+\_\+svd\+\_\+method.\+hpp.



\subsection{Constructor \& Destructor Documentation}
\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a84017b53f2a6df3270eecceb8a4aec85}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Bias\+S\+V\+D\+Policy@{Bias\+S\+V\+D\+Policy}}
\index{Bias\+S\+V\+D\+Policy@{Bias\+S\+V\+D\+Policy}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Bias\+S\+V\+D\+Policy()}
{\footnotesize\ttfamily \textbf{ Bias\+S\+V\+D\+Policy} (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{max\+Iterations = {\ttfamily 10},  }\item[{const double}]{alpha = {\ttfamily 0.02},  }\item[{const double}]{lambda = {\ttfamily 0.05} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Use Bias S\+VD method to perform collaborative filtering. 


\begin{DoxyParams}{Parameters}
{\em max\+Iterations} & Number of iterations. \\
\hline
{\em alpha} & Learning rate for optimization. \\
\hline
{\em lambda} & Regularization parameter for optimization. \\
\hline
\end{DoxyParams}


Definition at line 51 of file bias\+\_\+svd\+\_\+method.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a500ecd077d5cc5fdbf6ceb095d8de9e1}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Alpha@{Alpha}}
\index{Alpha@{Alpha}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Alpha()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Alpha (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get learning rate. 



Definition at line 154 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_acbb0e4747a3a307bee88bad71e5eeaf1}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Alpha@{Alpha}}
\index{Alpha@{Alpha}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Alpha()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double\& Alpha (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Modify learning rate. 



Definition at line 156 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a3b3962a80d1217a799cfab110b487cea}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Apply@{Apply}}
\index{Apply@{Apply}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Apply()}
{\footnotesize\ttfamily void Apply (\begin{DoxyParamCaption}\item[{const arma\+::mat \&}]{data,  }\item[{const arma\+::sp\+\_\+mat \&}]{,  }\item[{const size\+\_\+t}]{rank,  }\item[{const size\+\_\+t}]{max\+Iterations,  }\item[{const double}]{,  }\item[{const bool}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Apply Collaborative Filtering to the provided data set using the bias S\+VD. 


\begin{DoxyParams}{Parameters}
{\em data} & Data matrix\+: dense matrix (coordinate lists) or sparse matrix(cleaned). \\
\hline
{\em $\ast$} & (cleaned\+Data) item user table in form of sparse matrix. \\
\hline
{\em rank} & Rank parameter for matrix factorization. \\
\hline
{\em max\+Iterations} & Maximum number of iterations. \\
\hline
{\em $\ast$} & (min\+Residue) Residue required to terminate. \\
\hline
{\em $\ast$} & (mit) Whether to terminate only when max\+Iterations is reached. \\
\hline
\end{DoxyParams}


Definition at line 73 of file bias\+\_\+svd\+\_\+method.\+hpp.



References Bias\+S\+V\+D$<$ Optimizer\+Type $>$\+::\+Apply().

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a35bca7a6e09f4fb35b9945a9368711e4}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Get\+Neighborhood@{Get\+Neighborhood}}
\index{Get\+Neighborhood@{Get\+Neighborhood}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Get\+Neighborhood()}
{\footnotesize\ttfamily void Get\+Neighborhood (\begin{DoxyParamCaption}\item[{const arma\+::\+Col$<$ size\+\_\+t $>$ \&}]{users,  }\item[{const size\+\_\+t}]{num\+Users\+For\+Similarity,  }\item[{arma\+::\+Mat$<$ size\+\_\+t $>$ \&}]{neighborhood,  }\item[{arma\+::mat \&}]{similarities }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the neighborhood and corresponding similarities for a set of users. 


\begin{DoxyTemplParams}{Template Parameters}
{\em Neighbor\+Search\+Policy} & The policy to perform neighbor search.\\
\hline
\end{DoxyTemplParams}

\begin{DoxyParams}{Parameters}
{\em users} & Users whose neighborhood is to be computed. \\
\hline
{\em num\+Users\+For\+Similarity} & The number of neighbors returned for each user. \\
\hline
{\em neighborhood} & Neighbors represented by user I\+Ds. \\
\hline
{\em similarities} & Similarity between each user and each of its neighbors. \\
\hline
\end{DoxyParams}


Definition at line 122 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a0c3e16d73c8b25b8934cbc36ac161619}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Get\+Rating@{Get\+Rating}}
\index{Get\+Rating@{Get\+Rating}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Get\+Rating()}
{\footnotesize\ttfamily double Get\+Rating (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{user,  }\item[{const size\+\_\+t}]{item }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Return predicted rating given user ID and item ID. 


\begin{DoxyParams}{Parameters}
{\em user} & User ID. \\
\hline
{\em item} & Item ID. \\
\hline
\end{DoxyParams}


Definition at line 91 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_ae5dc3895f0294bf054cb2ea58084a426}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Get\+Rating\+Of\+User@{Get\+Rating\+Of\+User}}
\index{Get\+Rating\+Of\+User@{Get\+Rating\+Of\+User}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Get\+Rating\+Of\+User()}
{\footnotesize\ttfamily void Get\+Rating\+Of\+User (\begin{DoxyParamCaption}\item[{const size\+\_\+t}]{user,  }\item[{arma\+::vec \&}]{rating }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get predicted ratings for a user. 


\begin{DoxyParams}{Parameters}
{\em user} & User ID. \\
\hline
{\em rating} & Resulting rating vector. \\
\hline
\end{DoxyParams}


Definition at line 104 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a71e6a6119b9efde17f4112c6d82d9233}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!H@{H}}
\index{H@{H}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{H()}
{\footnotesize\ttfamily const arma\+::mat\& H (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the User Matrix. 



Definition at line 142 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a53535041275cedd0ec3de67ca032aa94}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Lambda@{Lambda}}
\index{Lambda@{Lambda}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Lambda()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily double Lambda (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get regularization parameter. 



Definition at line 159 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_aaf66629b989a326453647f42443c6a0c}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Lambda@{Lambda}}
\index{Lambda@{Lambda}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Lambda()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily double\& Lambda (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Modify regularization parameter. 



Definition at line 161 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a420770944a5b0c7a852c4ec372c4a2d1}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Max\+Iterations@{Max\+Iterations}}
\index{Max\+Iterations@{Max\+Iterations}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Max\+Iterations()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily size\+\_\+t Max\+Iterations (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the number of iterations. 



Definition at line 149 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_acda675ab4ab86b95c92bc33bc391a61b}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Max\+Iterations@{Max\+Iterations}}
\index{Max\+Iterations@{Max\+Iterations}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Max\+Iterations()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily size\+\_\+t\& Max\+Iterations (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Modify the number of iterations. 



Definition at line 151 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_ae9a18ef885ed4222645dad9b7b15c3ef}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!P@{P}}
\index{P@{P}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{P()}
{\footnotesize\ttfamily const arma\+::vec\& P (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the Item Bias Vector. 



Definition at line 146 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a833b773328ccaf79c06f39e4fb12a993}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!Q@{Q}}
\index{Q@{Q}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{Q()}
{\footnotesize\ttfamily const arma\+::vec\& Q (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the User Bias Vector. 



Definition at line 144 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_af0dd9205158ccf7bcfcd8ff81f79c927}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!serialize@{serialize}}
\index{serialize@{serialize}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{serialize()}
{\footnotesize\ttfamily void serialize (\begin{DoxyParamCaption}\item[{Archive \&}]{ar,  }\item[{const unsigned}]{int }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Serialization. 



Definition at line 167 of file bias\+\_\+svd\+\_\+method.\+hpp.

\mbox{\label{classmlpack_1_1cf_1_1BiasSVDPolicy_a0f733dde66e23287758de984b5151e36}} 
\index{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}!W@{W}}
\index{W@{W}!mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy@{mlpack\+::cf\+::\+Bias\+S\+V\+D\+Policy}}
\subsubsection{W()}
{\footnotesize\ttfamily const arma\+::mat\& W (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get the Item Matrix. 



Definition at line 140 of file bias\+\_\+svd\+\_\+method.\+hpp.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/3.\+3.\+2/src/mlpack/methods/cf/decomposition\+\_\+policies/\textbf{ bias\+\_\+svd\+\_\+method.\+hpp}\end{DoxyCompactItemize}
