推荐系统常见问题
(一)哈利波特问题
问题:购买任何一本书的人似乎都会购买《哈利波特》,因为《哈利波特》太热门了,确实是购买任何一本书的人几乎都会购买它。
解决方案:
(1)在item-based CF的相似度计算公式的分母上,加大对热门物品的惩罚
其中表示四环物品的用户集合;,提高就可以惩罚热门物品。
(2)引入物品的内容数据
(二)推荐系统冷启动物品
(1)用户冷启动
热门排行榜(非个性化推荐),注册信息(粗粒度个性化推荐),社交网络账号
(2)物品冷启动
利用物品的内容信息,推荐给“和该物品相似物品”的喜欢人群
(3)系统冷启动
引入专家知识,建立物品相关度表
(三)推荐系统评估
(1)评分预测
其中是用户对物品的实际评分,是推荐算法给出的预测评分。
(2)TopN推荐
其中是推荐算法给出用户的推荐列表,是用户实际感兴趣的物品列表。召回率——用户实际感兴趣的物品,给推了几个;准确率——给用户推的物品里,有几个是用户感兴趣的。
[3]覆盖率
其中表示用户集合,表示给用户推荐的长度为的物品列表。
[4]基尼系数
(四)长尾分布、用户活跃度、物品流行度
长尾分布:极少数个体(横轴)对应极高的值(纵轴),而拥有极低值的个体,数量却占总体的绝大多数。形象地描述可称曲线靠近纵轴的部份为tall head,而靠近横轴的部份则是所谓的long tail。
https://www.zhihu.com/question/20027490
用户活跃度:用户 产生过行为的 物品总数。
物品流行度:对 物品 产生过行为的 用户数。
(五)user-based CF和item-based CF对比
user-based CF适合新闻推荐,用户兴趣不是特别细化,绝大多数都喜欢看热门新闻;新闻作为item更新非常快,如果用item-based CF需要更新item相关表,无法做到实时计算。时效性|个性化需求低
item-based CF适合图书、电影、商品等推荐,这些方向的用户的兴趣比较固定和持久;这些方向的物品数相对用户数要少很多,维护低维度的item相关表更容易。挖掘长尾物品|个性化需求高