主要学是学习《推荐系统》为了加深记忆就手写了一边,同时也方便后期查看。csdn不支持公式编辑,里面涉及很多公式,只能截(bei)图(cui),发现截图文字较小,不过看得清楚就行。
1. 协同过滤算法简介
1) 协同过滤根据相似(或者近邻)偏好推荐物品,分为基于用户的近邻推荐和基于物品的近邻推荐, 其实最终都是推荐物品,只是考虑的角度不一样(类似一种投票方式)。
2) 基于用户的最近邻推荐:根据与用户自身偏好比较相似的用户喜欢的物品,推将该物品推荐给用户。用户看电影时,一般会问周围与自己喜好比较相似的用户,最近在看什么电影?
3)基于物品的最近邻推荐:找出与用户历史喜欢的物品比较相似的物品推荐给用户。例如:视频软件上用户一般会搜索一些最近比较喜欢的明星演的电影观看。
2. 协同过滤计算主要步骤
1) 计算相似偏好
2) 寻找最优近邻
3) 推荐给用户
3. 推荐反馈
推荐反馈即给用户推荐物品后,用户对该物品的反馈。一般反馈分为3种:1)分级反馈,即所谓的评分(级)制,例如电影评分从1~5分等。2)二元反馈,即两种对立的值表示,如喜欢/不喜欢等。3)一元反馈,即获取用户与物品的互动信息,例如购买,浏览等,没有具体的用户对物品的评价。
4. 推荐结果评价
最优项与最优N项是推荐系统两个重要的问题,一般针对最优项可转换为分类(或回归)问题;
常用的推荐系统效果评价指标是准确性,MAE(平均绝对误差),RNSE(均方根误差).
其中, Rtest表示测试集。
5. 案例数据
注: 首列为用户名,首行为电影名。单元值为用户对电影的打分。
6.基于用户的最近邻推荐
(1) 基于用户最近邻推荐:
即寻找与自身喜好比较相似的用户,把这些用户的喜好的物品推荐给用户(k近邻对共有物品打分并排序,取topN推荐给用户)。
(2) 本节主要讨论问题:
预测用户u对物品i的评分rui ,即利用和用户u兴趣相近且对物品i已评分的用户,预测rui。该分越高则用户越喜欢。(越高具体相近度计算在下一节)
- (3) 预测评分rui
1) 取相邻用户对物品i评分总和的平均值