[推荐系统]评分预测

离线实验方法

评分预测问题基本都通过离线实验进行研究。在给定用户评分数据集后,研究人员会将数据集按照一定的方式分成训练集和测试集,然后根据测试集建立用户兴趣模型来预测测试集中的用户评分。可以使用RMSE度量预测的精度.评分预测的目的是找到最好的模型最小化测试集的RMSE.

评分预测算法

平均值

最简单的评分预测算法是利用平均值预测用户对物品的评分。平均值有各种形式.

全局平均值

在平均值里最简单的是全局平均值.定义为训练集里所有评分记录的评分平均值: $\mu = \frac{\sum_{(u,i) \in Train} r_{ui}}{\sum_{(u,i) \in Train} 1}$

最终的预测函数可以直接定义为: $\hat{r_{ui}} = \mu$

用户评分平均值

用户u的评分平均值$\overline{r_u}$定义为用户u在训练集中所有评分的平均值: $\overline{r_u} = \frac{\sum_{i \in N(u)}r_{ui}}{\sum_{i \in N(u)} 1}$ 最终的预测函数可以定义为: $\hat{r_{ui}} = \overline{r_u}$

物品评分平均值

物品i的评分平均值$\overline{r_i}$定义为物品i在训练集中接受的所有评分的平均值: $\overline{r_i} = \frac{\sum_{u \in N(i)}r_{ui}}{\sum_{u \in N(i)} 1}$ 最终的预测函数可以定义为: $\hat{r_{ui}} = \overline{r_i}$

用户分类对物品分类的平均值

基于邻域的方法

基于用户的邻域算法和基于物品的邻域算法都可以应用到评分预测中.基于用户的邻域算法认为预测一个用户对一个物品的评分,需要参考和这个用户兴趣相似的用户对该物品的评分.

基于物品的邻域算法在预测用户u对物品i的评分时,会参考用户u对和物品i相似的其他物品的评分.

加入时间信息

利用时间信息的方法主要分为两种,一种是将时间信息应用到基于邻域的模型中,另一种是将时间信息应用到矩阵分解模型中.

推荐系统经验10则

  • 确定你真的需要推荐系统. 推荐系统只有在用户遇到信息过载时才必要。
  • 确定商业目标和用户满意度之间的关系。对用户好的推荐系统不代表商业上有用的推荐系统,因此要首先确定用户满意的推荐系统和商业上需求的差距。
  • 选择合适的开发人员。
  • 忘记冷启动的问题。不断地创新,互联网上有任何你想要的数据。只要用户喜欢你的产品,他们就会不断贡献新的数据。
  • 平衡数据和算法之间的关系。使用正确的用户数据对推荐系统至关重要。对用户行为数据的深刻理解是设计好推荐系统的必要条件,因此分析数据是设计系统中最重要的部分。数据分析决定了如何设计模型,而算法只是决定了最终如何优化模型。
  • 找到相关的物品很容易,但是何时以何种方式将它们展现给用户是很困难的。
  • 不要浪费时间计算相似兴趣的用户,可以直接利用社会网络数据。
  • 需要不断地提升算法的扩展性。
  • 选择合适的用户反馈方式。
  • 设计合理的评测系统,时刻关注推荐系统各方面的性能。
您的支持就是我更新的最大动力!谢谢!