• 一条一条的读《推荐系统实战》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. 推荐系统还是应用型技术,最终还是要看公司关心什么,要达成什么样的商业目标。所以有时推荐系统要根据具体的目标来设计。
  • 相关阅读:
    printcap
    browser-ua
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode70 爬楼梯
  • 原文地址:https://www.cnblogs.com/datasnail/p/13082336.html
Copyright © 2020-2023  润新知