这本书到目前为止都在讨论TopN的问题,说明这个问题真的很重要,因为TopN问题十分接近于满足实际系统的需求,实际系统绝大多数情况下就是给用户提供一个包括N个物品的个性化推荐列表。
评分预测问题都是推荐系统研究的核心。评分预测问题就是如何通过已知得用户历史评分记录预测未知的用户评分记录。
离线实验方法
评分预测问题基本都是通过离线实验进行研究。一般可以用均方根误差RMSE度量预测的精度:
评分预测的目的就是找到好的模型最小化测试集的RMSE。
评分预测算法
平均值
1、全局平均值
2、用户评分平均值
3、物品评分平均值
4、用户分类对物品分类的平均值
隐语义模型
之前隐语义模型接触到了LFM 才发现这就是隐语义模型的缩写。
1、传统的SVD分解:
两个缺点:首先评分矩阵一般是很稀疏的,也有很多缺失值,如果用一些方法补上了缺失值之后,矩阵就会变得稠密,但是会需要特别大的存储空间,在实际系统中不太实用。其次,运算起来也会非常的慢。所以在一般推荐系统中都不会用SVD,但是一些小的数据集上面可以考虑
2、LFM(latent factor model)
从矩阵分解的角度,就还是把评分矩阵分解成PQ,就是PQ分解。然后用户u对物品i的评分的预测值可以通过这个如下公式计算:
解法就是用了最速下降法,分别对pq求偏导 最后得到结果
3、加入偏置项后的LFM
现在提出了一种LFM
4、考虑邻域影响的LFM
将用户历史评分的物品加入到LFM模型中,称为SVD++