一条一条的读《推荐系统实战》1.0

说明:本系列是阅读项亮老师的《推荐系统实战》的一些即使笔记。自己记性不好,俗话说好记性都不如烂笔头,于是叮嘱自己作文记之。

这里的序号代表章节中比较重要的结论性知识,我把它刻在写轮眼一族的石碑上。

第一章 推荐系统简介

  1. 解决信息过载的手段:
    1. 分类目录;
    2. 搜索引擎;
    3. 推荐系统。
  2. 美国《连线》杂志Chris Anderson在2004年发表The Long Tail(长尾)一文,并在2006年出版《长尾理论》。
  3. 社会化推荐的概念其实就是利用好友关系进行推荐。个人理解:从主动的角度来讲,我不知道该看什么电影,主动询问好友。此时是一个主动选择好友、询问的过程。从被动的角度来看,看看好友看了什么电影或者看看大家都在看什么电影。此时是一个被动的接受的过程。
  4. 用户跟物品交互起决定性作用的因素:①物品类别,②好友询问、推荐,③流行程度(排行榜)。
    1. 跟用户兴趣偏好重叠的物品类别;
    2. 用户的好友有一定的权威度;现在GNN中,一般情况对用户的邻居进行采样卷积,所有的用户都是使用同样的采样方式,这并不合理;有的人喜欢遵循权威、有的人喜欢亲密好友的推荐、还有些人他的邻居跟喜欢看排行榜,所以针对不同的用户是否应该采用不同的采样方式呢?反过来讲,attention能在一定程度解决这个问题。
  5. 推荐算法的本质就是通过一定的方式把用户和物品联系起来,而不同的推荐系统用了不同的方式,详细的之后写一篇“推荐系统的分类”。
  6. 推荐系统的领域:电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告。
  7. Youtube做过一个实验,比较个性化推荐的点击率和热门视频列表的点击率,实验结果表明个性化推荐的点击率是热门视频点击率的两倍。
  8. 一般推荐系统网站的推荐模块都有四个部分:视频标题和缩略图、视频的平均评分、推荐理由和用户反馈。
    1. 标题和缩略图告诉用户,这是什么?
    2. 平均评分告诉用户,普遍看法;
    3. 推荐理由是个性化的定制,使推荐结果更加信服;
    4. 用户反馈是给推荐系统提供的纠错功能。
  9. 音乐推荐有很多额外的feature,例如听歌的次数,是否中途切歌(看似交互、实则可能不喜欢该歌曲)等,也是个很有意思的方向。
  10. 推荐系统的测评,不要推荐用户本来想做的事情,好的推荐系统不仅能准确的预测用户的行为,而且能够扩展用户的视野。推荐系统通常通过准确度、覆盖度、新颖度、惊喜度、信任度、透明度五个指标来了衡量。
  11. 推荐系统的测评如上指标的实验方法:离线实验(offline experiment)、用户调查(user study)、在线实验(online experiment)。
  12. 对于评分预测一般通过均方根误差(RMSE)平均绝对误差(MAE)计算。Netflix认为RMSE加大了对预测不准的用户物品的评分惩罚,因为对系统的评分更加苛刻。而且研究表明,如果系统评分是基于整数的,那么对预测结果取整会降低MAE的误差。(Major components of the gravity recommendation system)
  13. TopN推荐一般通过准确率、召回率来测评。
  14. 关于评分预测和TopN推荐哪个更重要?GroupLen研究主要基于评分预测、Netflix大赛也主要面向评分预测;亚马逊科学家Greg Linden持有不同看法,在文章“what is a good recommendation algorithm?”指出电影推荐的目的是找用户最优可能感兴趣的电影,而不是预测用户看了电影后会给出多少分数。所以TopN推荐更符合实际的应用需求。
  15. 覆盖率是指推荐系统能够推荐出的物品占总物品集合的比例。假设给用户(u)的推荐列表是(R(u))(Coverage=frac{left|U_{u in U} R(u) ight|}{left|I ight|})
  16. 以上的覆盖率统计过于粗略,应为覆盖率为 100%的系统可以有无数的物品流行度分布。为了更细致的描述推荐系统发掘长尾能力,需要统计推荐列表中不同的物品出现的次数。如果所有物品都出现的推荐列表中,并且出现的次数都差不多,那么推荐系统发掘长尾的能力就很好。
    1. 第一个是信息熵;(H=-sum_{i=1}^{n}p(i)log{p(i)}),其中(p(i))是物品i的流行度除以所有物品流行度之和。
    2. 第二个指标是基尼系数;(G=frac{1}{n-1}sum_{j=1}^{n}(2j-n-1)p(i)),其中(i_j)是按照物品流行度p从小到大排序的物品列表中第j个物品。
  17. 多样性评价,多样性描述了推荐列表中物品两两之间的不相似性。(Diversity(R(u))=1-frac{sum_{i,j in R(u)}s(i,j)}{frac{1}{2}|R(u)|(|R(u)-1|})。其中(s(i,j))是物品之间的相似度。推荐系统的整体多样性就是上述式子取平均,(Diversity = frac{1}{|U|}sum_{uin U}Diversity(R(u)))
  18. 新颖性是指推荐给用户他们之前没有听说过的物品。一个比较简单衡量新颖性的方法就是利用推荐结果的平均流行度,因为乐部热门的物品,用户会觉得越新颖。ACM推荐系统会议2011年有一个专门的研讨会套路你推荐系统的多样性与新颖性。
  19. 惊喜度是推荐的物品跟用户的兴趣不相似,但是却能让用户觉得满意。
  20. 增加系统信任度的途径主要有两种方法:1.增加推荐系统的透明性,提供推荐的解释。2. 利用社交关系。
  21. 实时性。在某些场景下需要较强的实时性推荐,例如新闻、推文之类。
  22. 健壮性是指推荐系统抵抗攻击的能力。比如说推荐系统通常用“购买了物品A的人,同时也购买了物品B”来对B进行推荐。那么卖家就有可能注册很多账号,同时购买A和自己的商品。这样自己的商品就会被推荐。此时,这个系统不够健壮。
  23. 推荐系统还是应用型技术,最终还是要看公司关心什么,要达成什么样的商业目标。所以有时推荐系统要根据具体的目标来设计。
原文地址:https://www.cnblogs.com/datasnail/p/13082336.html