推荐系统实践

1.发掘用户兴趣

1)啤酒和尿布的故事

2)用户行为数据:session log、impression log、click log。这些日志记录了用户的行为:浏览、购买、点击、评分、评论

3)用户行为:显性反馈行为、隐性反馈行为

2.用户行为分析

1)长尾分布:发f(x)=ax^k

2)协同过滤算法:仅仅基于用户行为数据设计的推荐算法。包含:基于邻域(基于用户的协同过滤算法userCF、基于物品的协同过滤算法itemCF)、隐语义模型、基于图的随机游走算法。

3)userCF:给用户推荐和他兴趣相似的其他用户喜欢的物品。计算用户的相似度。Digg在应用,相比较MostPopular算法,准确率和召回率都要高1倍。

4)itemCF:给用户推荐他们喜欢的物品相似的物品。计算物品的相似度。亚马逊、Netflix、Hulu、Youtube在用。与userCF性能差不多。

3.特定场景选择特定的算法

1)个性化新闻推荐:注重热门与时效性,用户看的新闻大多没有传承,可选择userCF。同时新闻更新快,item数量巨大,因此不适合维护item之间的关联矩阵。冷启动:用户对某个物品产生行为之后,不能立即更新推荐,因为用户相似度矩阵更新慢,变化不大。推荐实时性差。

2)电商:物品更新慢,数量有限。客户具有兴趣传承,可选择itemCF,item之间的关联矩阵小。冷启动:用户对某个物品产生行为之后,能立刻获得新的推荐。推荐实时性好。

3)哈利波特问题:加大对热门物品的惩罚。a=0.5,以降低流行度。

4.隐语义模型LFM

1)加大对热门物品的惩罚。a=0.5,以降低流行度。

原文地址:https://www.cnblogs.com/DjangoBlog/p/3616458.html