协同过滤
2017-04-23 本文已影响0人
程序猿爱打DOTA
最经典的推荐算法
牵涉用户商品的交互信息,用户行为等
显性反馈行为——喜好,打分,评论
隐形反馈行为——点击,浏览
UserCF
基于假设:喜欢类似物品的用户可能有相同或相似的口味和偏好
步骤:
1,找到与目标用户兴趣相似的群体
设两用户喜好的商品集合为N(U),N(V),则兴趣相似度Wu,v=N(u) 交N(v)/N(u)并N(v)
2.找到用户V喜欢的,而用户U没有听说过的商品
UserCF需提供K,表示要考虑目标用户兴趣最相似的前K个人,K不宜过大,否则会趋向于热门商品
ItemCF
基于假设:能够引起用户兴趣的商品,必定与其之该用户喜欢的商品相似(某些物品被同一用户喜欢,这些物品可能相似)
步骤:
1.通过用户对商品的行为来计算商品之间的相似度
2.根据商品的相似度和用户的历史行为,给用户生成推荐列表
计算中需对过热商品进行惩罚
UserCF vs ItemCF
UserCF偏重于反应用户小群体热点,更具社会性,而ItemCF在于维持用户的历史兴趣
UserCF(人以群分)-一般只推荐热门
ItemCF(兴趣养成)-推荐长尾能力强(多样性不足,能推荐冷门)
基于模型的CF
使用机器学习方式,基于样本的用户喜好,训练出一个推荐模型(分类)