基于用户的协同过滤通过不同用户对物品的评分来评测用户之间的相似性,基于用户的相似性做推荐,简单的讲:给用户推荐和他兴趣相投的其他用户喜欢的物品
算法核心思想:在一个在线推荐系统中,当用户A需要个性化推荐时,可以先找到和他有相似兴趣的其它用户,然后把那些用户喜欢的、而用户A没有听说过的物品推荐给A,这种方法称为基于用户的协同过滤算法。
==>可以看出,这个算法主要包括两步:
一、找到和目标用户兴趣相似的用户集合——计算两个用户的兴趣相似度
二、找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户——找出物品推荐
寻找用户间的相似度
1、Jaccard公式
2、皮尔逊相关系数
3、欧几里德距离
4、余弦距离
基于用户的协同过滤算法优缺点分析
优点分析:
首先,它能够通过用户间的相互协助、根据用户对物品的评分的相似性对用户进行分类,所得到的结果是比较精确的。其次,在基于用户的协同过滤系统中,所有用户都能从邻居用户的反馈评价中得益,只要每个用户为系统贡献一份力量,系统的性能就会越来与完善。最后,基于用户的协同过滤系统容易挖掘出目标用户潜在的新兴趣,即能够实现奇异发现。
缺点分析:
1.稀疏性。一个大型的电子商务推荐系统一般有非常多的物品,用户可能买的其中不到1%的物品,不同用户之间买的物品的重叠性较低,导致算法无法找到一个用户的邻居,即偏好相似的用户。
2.冷启动问题。在一个新的物品首次出现的时候,没有用户对它做过评价,基于用户的协同过滤无法对其进行预测评分和推荐。而且,由于在新物品出现早期,用户评价较少,推荐的准确性不高。
3.特殊用户问题。一小部分偏好特殊的用户不会受益于基于用户的协同过滤推荐系统,因为基于用户的协同过滤推荐是基于邻居用户资料得到对目标用户的推荐,其计算隐含着一个前提就是每个用户都必须有相对集中并固定的兴趣爱好。而这些特殊用户的观点和任何一类群体都不相同,无法找到邻居用户协同进行推荐。即使在系统初始阶段过去之后,这些特殊用户也很难从协同过滤系统中得到比较精确的推荐。