主要文件
.
├── 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