菜单

Administrator
发布于 2026-03-23 / 245 阅读
0
0

第二次作业-梯度下降

主要文件

梯度下降.zip

.
├── movies.csv
├── ratings.csv
└── 梯度下降.py

描述

推荐系统中用户对物品的评分一般用如下评分矩阵表示:

D1 D2 D3 D4
U1 5 2 - 4
U2 - 3 4 1
U3 4 - 2 5
U4 1 5 - 2
U5 3 1 5 -

其中:

  • U1,2,3,4,5表示五个用户
  • D1,2,3,4表示四个不同的物品
  • 表中的数据表示用户对物品的打分评价
  • - 表示没有打分

假设​R是评分矩阵,一般可以用矩阵分解的方法将其分解为用户-特性矩阵​P,以及物品-特性矩阵​Q。其中:

R \approx R \times Q^T = \hat{R}

任务

已知某评分矩阵R,请使用前次课程学习的梯度下降算法预测评分矩阵中未评分部分。

提示

  • 预测用户评分矩阵等价于预测 用户-特性矩阵P,以及物品-特性矩阵Q。

  • 误差函数(例如,使用RMSE)来衡量预测评分与真实评分之间的差异。

    e_{ij}^2 = (r_{ij} - \hat{r}_{ij})^2 = \left(r_{ij} - \sum_{k=1}^K p_{ik}q_{kj}\right)^2
    \begin{gathered} \frac{\partial}{\partial p_{ik}} e_{ij}^2 = -2(r_{ij} - \hat{r}_{ij})(q_{kj}) \\ \frac{\partial}{\partial q_{ik}} e_{ij}^2 = -2(r_{ij} - \hat{r}_{ij})(p_{ik}) \end{gathered}
  • RMSE(Root Mean Square Error)均方根误差是预测值与真实值偏差的平方与观测次数n比值的平方根。

RMSE = \sqrt{\frac{1}{N}\sum_{i=1}^n(Y_i - f(x_i))^2}

提交文件

提交代码文件(zip格式,包含代码和运行结果截图)到https://cloud.xycpp.org/s/dixYxr3tkLaaYyQ

格式:学号+姓名+统计学习第二次作业

注意不要同时打包数据集!

截止日期

2026.4.6


评论