《推荐系统》002 基于用户的最近邻推荐

协同过滤:

利用已经存在的用户群体,对当前的用户的喜好进行推测。

基于用户的最近邻推荐:

先找出与当前用户喜好相似的用户信息,然后根据他们的评价体系对当前用户对未知物品的评价等级。

前提假设:

1.用户过去喜好相似,将来他们的喜好也会很相似

2.用户的喜好不会随着时间而改变

案例:

上表所示为Alice和其他四位用户对五类物品的评价分数,1表示不喜欢,5代表很喜欢。划分为五个等级评分。

任务:我们要推测,Alice对物品5的评分是多少?

基本思路:找到与Alice喜好相似的用户,基于他们对物品5的评分推测Alice对物品五的评分。

符号约定:U代表用户向量,P代表物品向量,R代表用户对相关物品的评分矩阵。

1.我们先基于皮尔逊相似度来计算用户之间的相似度

我们发现:根据皮尔逊相似度计算的相似系数,介于-1~1之间,结果显示,用户1和用户2与Alice的喜好最为相似。

2.根据用户1和用户2对物品5 的评分,对alice评分进行推测

4是Alice对所有已知物品评分的平均值,0.84是Alice和用户1 的相似度,0.7是Alice和用户2的相似度。(3-2.4)是用户1的评分浮动,(5-3.8)是用户2的评分浮动。加权求和归一化。

结论:还有很多计算相似度的方法,包括改进的余弦相似度,斯皮尔曼秩相关系数,均方差等。在基于用户的相似度计算方面,皮尔逊相似度是最优的。

选择近邻的个数的时候,K较大,会受到相似度小的用户的影响,K较小,又不具备太好的效果。一般K取20-50

猜你喜欢

转载自blog.csdn.net/Day_and_Night_2017/article/details/84876305
今日推荐