1、CF简介
推荐系统的目标是根据用户的个性化需求将最符合用户兴趣的信息/商品/音乐/视频挑选出来并且推荐给用户。
协同过滤(collaborative filtering)是推荐系统所采用的最为重要的技术之一,其原理是根据相似用户的兴趣来推荐当前用户没有看过但是很可能会感兴趣的信息,所基于的假设是,如果两个用户兴趣类似,那么很有可能当前用户会喜欢另一个用户所喜欢的内容.
-why CF
CF的优势在于不受被推荐的物品的具体内容的限制、与社会网络的紧密结合以及推荐的准确性.
- CF原理
协同过滤一般是在海量的用户中发掘出一小部分和你品位比较类似的,在协同过滤中,这些用户成为邻居,然后根据他们喜欢的其他东西组织成一个排序的目录作为推荐给你。
-User-Based CF
如果你和小明对于音乐的品位相似,假如小明喜欢听Adele,那么你也有可能喜欢听。好了,问题来了:1)如何衡量两个用户是否相似?2)如何根据相似用户推荐物品?
-Item-Based CF
基于物品的推荐思路是:根据你评价过的物品,找出与其相似的物品。加入小明喜欢听Adele,Adele和L.a有相同的音乐风格,那么小明也有可能喜欢听L.a。这里类比问题:1)如何衡量两个歌手是否相似?2)如何根据相似的歌手给用户推荐物品?
相似度计算请参见:《文本相似度算法调研简介》
-基于内容的推荐
基于内容相似度的推荐,顾名思义,把与你喜欢看的新闻内容相似新闻推荐给你
1)无冷启动问题,只要用户产生了初始的历史数据,就可以开始进行推荐的计算
2)随着用户的浏览记录数据的增加,这种推荐一般也会越来越准确。
--基于CF的推荐
1)能够过滤机器难以自动内容分析的信息,如艺术品,音乐等。
2)共用其他人的经验,避免了内容分析的不完全或不精确,并且能够基于一些复杂的,难以表述的概念(如信息质量、个人品味)进行过滤。
3)有推荐新信息的能力。可以发现内容上完全不相似的信息,用户对推荐信息的内容事先是预料不到的。可以发现用户潜在的但自己尚未发现的兴趣偏好。
4)推荐个性化、自动化程度高、能够有效的利用其他相似用户的回馈信息、加快个性化学习的速度。
5)系统开始时推荐质量较差;
6)质量取决于历史数据集;
2、基于CF的攻击
1)随机攻击
向系统中注入随机数值,从而达到对推荐系统的干扰的目的。比如,随机给全部item随机评分。
2)均值攻击
在随机攻击的基础之上,利用评分均值,构造更加“像”的注入数据。还以评分为例,以平均值为参数,做正态分布的评分,将评分按特定方向刷分。
3)造势攻击
比均值攻击更加高明的地方在于,除了有对目标物品的高评分(或者低平分)之外,还包含了很多热门物品的高评分,这样的目的在于:很多用户的使用记录也包含了这些热门物品,注入的数据更容易和用户形成“近邻”关系,从而更容易被推荐系统采用,更容易影响到最终的用户。
4)局部攻击
比造势攻击更加高明的地方在于,局部攻击能够识别出特定的用户群体,并据此发生攻击。
5)针对性的打压攻击
与抬高某个物品的评分的目的不同,打压攻击是为了要降低某个物品的评分。方法就是上面的方法,反其道而行之。通常,打压攻击更加容易得手——学术界还没有解释出为什么会存在这种不对称性。
6) 点击流攻击和隐式反馈
手段是模拟用户在网页上的操作,来达到注入数据的目的。
下章针对推荐系统的弱点,如何完成反作弊系统设计,请关注作者。