本作业为个人主观作业,不保证完全正确,仅供参考

Report for SVD++ algorithm

Part I: introduction to SVD++ algorithm

1. SVD++ algorithm

  • Rating prediction formula

(1)r^ui=bui+qiT(pu+N(u)12jN(u)yj)\hat{r}_{ui} = b_{ui}+q^T_i\left(p_u+|N(u)|^{-\frac{1}{2}}\sum_{j\in N(u)}y_j\right) \tag{1}

(2)bui=μ+bu+bib_{ui} = \mu + b_u+b_i\tag{2}

buib_{ui} denotes the baseline estimate for the unknown rating.

μ\mu denotes the average rating of all the movies.

bub_u and bib_i respectively denote the average observed deviation of user uu and item ii.

pup_u and qiq_i respectively indicate the user factors vector of user uu and item ii.

N(u)N(u) contains all items for which uu provided an implicit preference.

  • Objective function

    (3)minp,y,q,b(u,i)κ(ruiμbubiqiT(pu+N(u)12jN(u)yj))2+λ(bu2+bi2+qi2+pu2+jN(u)yj2)\min_{p_*,y_*,q_*,b_*}{\sum_{(u,i)\in \kappa}{\left( r_{ui} - \mu - b_u-b_i-q^T_i\left(p_u+|N(u)|^{-\frac{1}{2}}\sum_{j\in N(u)}y_j\right) \right)}}^2 \\+\lambda\left( b_u^2+b_i^2+||q_i||^2+||p_u||^2+\sum_{j \in N(u)}{||y_j||^2} \right) \tag{3}

  • Parameter update rules by SGD

    (4)eui=ruir^uibubu+γ1(euiλ6bu)bibi+γ1(euiλ6bi)pupu+γ2(euiqiλ7pu)qiqi+γ2(eui(pu+N(u)12jN(u)yj)λ7qi)yjyj+γ(euiN(u)12qiλyj)\begin{aligned} &e_{u i}=r_{u i}-\hat{r}_{u i} \\ &b_{u} \leftarrow b_{u}+\gamma_1 \cdot\left(e_{u i}-\lambda_6 \cdot b_{u}\right) \\ &b_{i} \leftarrow b_{i}+\gamma_1 \cdot\left(e_{u i}-\lambda_6 \cdot b_{i}\right) \\ &p_{u} \leftarrow p_{u}+\gamma_2 \cdot\left(e_{u i} \cdot q_{i}-\lambda_7 \cdot p_{u}\right) \\ &q_{i} \leftarrow q_{i}+\gamma_2 \cdot\left(e_{u i} \cdot\left(p_{u}+|N(u)|^{-\frac{1}{2}} \sum_{j \in N(u)} y_{j}\right)-\lambda_7 \cdot q_{i}\right) \\ &y_{j} \leftarrow y_{j}+\gamma\left(e_{u i} \cdot |N(u)|^{-\frac{1}{2}} \cdot q_{i}-\lambda \cdot y_{j}\right) \end{aligned}\tag{4}

  • Relations with PMF

    PMF explains the latent factor of user and item from the perspective of the probability generation process. SVD++ starts from the optimization goal. How to determine the latent factor of user and litem can minimize the loss. The interpretation methods of the two are different, but the MLE of PMF is equivalent to the loss function of optimizing SVD++ with regular term. From the perspective of optimization and implementation, there is no difference between the two.

2. Pseudo-code Algorithm

Part II: the results of SVD++ algorithm

1. Results by 5-fold cross validation

MAE RMSE Train time (s) Test Time (s)
0.1816 0.9143 17970 3.58
Learn rate Factors Iterations
0.04 20 30

2. The curve of loss value relative to training iterations

Reference

[1] Koren, Yehuda. "Factorization meets the neighborhood: a multifaceted collaborative filtering model." Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. 2008.

ernational conference on Knowledge discovery and data mining*. 2008.

Report of Reinforcement Learning in Recommender System