推荐系统可能涉及的常见算法
- 聚类
- 关联模式挖掘
- 大规模矩阵计算
- 文本挖掘
- 复杂网络和图论算法
协同过滤的基本思想
协同过滤一般指在海量的用户中发掘出一小部分和你品味比较类似的。
实现协同过滤步骤
- 收集用户偏好
- 找到相似的用户或物品
- 计算推荐
收集用户偏好方法
投票,评分,转发,保存书签,评论,点击流,页面停留时间,购买
相似度
把数据看成空间中的向量(降噪,归一化)
基于距离计算相似度
计算欧几里得空间中两个点的距离
基于相关系数计算相似度
皮尔逊相关系数一般用于计算两个变量间联系的紧密程度,取值在-1到1之间
基于余弦夹角计算相似度
基于Tanimoto 系数计算相似度
邻居(用户,物品)的圈定
固定数量的邻居:K-neighborhoods
基于相似度门槛的邻居:Threshold-based neighborhoods
基于用户的协同过滤算法UserCF
基于用户的协同过滤,通过丌同用户对物品的评分来评测用户乊间的相似性,基于用 户乊间的相似性做出推荐。
简单来讲就是:给用户推荐和他兴趣相似的其他用户喜欢的物品。
原理
计算上,就是将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度, 找到 K 邻居后,根据邻居的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐。
公式
用户相似度(可以用余弦相似度):
用户u对商品i的感兴趣程度:
基于物品的协同过滤算法ItemCF
基于item的协同过滤,通过用户对丌同item的评分来评测item之间的相似性,基于 item之间的相似性做出推荐。
简单来讲就是:给用户推荐和他之前喜欢的物品相似的物品。
原理
从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。
公式:
物品相似度(惩罚了热门物品j的权重):
用户u对商品i的感兴趣程度:
User CF vs. Item CF
1.基于物品的协同 过滤算法,是目前电子商务采用最广泛的推荐算法。
2.在社交网络站点中,User CF 是一个更丌错的选择,User CF 加上社会网络信息,可 以增加用户对推荐解释的信服程度。