美文网首页
《推荐系统实践》第一章学习笔记

《推荐系统实践》第一章学习笔记

作者: 妖皇裂天 | 来源:发表于2019-03-20 16:00 被阅读0次

  第一章主要是从大的角度来讲述什么是推荐系统,推荐系统的应用,和好的推荐系统的评价。

什么是推荐系统?

  什么是推荐系统?推荐系统可以理解为就是个自动化的工具,这个工具可以从海量的信息中找到适合你的信息。为什么要推荐系统?因为现在是一个信息过载的时代,让消费者自己从海量信息中找到自己感兴趣的的信息是很困难的,让生产者生产的信息被他人所知也是很困难的,此时就需要推荐系统的帮助,从而实现消费者和生产者的双赢(消费者找到想要的信息,生产者将自己的信息展示给适合的人)。推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为,主动给用户推荐满足需求的信息。推荐算法的本质就是通过一定的方式将用户和物品联系起来,不同的推荐系统利用了不同的方式。

推荐系统的应用

  推荐系统在电子商务、电影和视频、音乐、社交网络、阅读、基于位置的服务、个性化邮件和广告等领域都有很多应用。

推荐系统的评价标准

  个人认为这一部分是第一章最重要的内容。一般的推荐系统存在着3个参与方:用户、物品提供者和推荐系统设计者。一个好的推荐系统必须是一个三方共赢的系统。用户能得到自己想要的信息,商家就能够赚到钱,商家能赚到钱,才会给推荐系统设计人付费,推荐系统设计人有了钱,才更有动力设计出更好的推荐系统,而更好的推荐系统又保证了用户得到更好的服务。
  从推荐系统设计人的角度来看,用户和商家都是客户,需要尽可能满足他们的要求。一个预测准确的推荐系统并不一定是一个好的推荐系统,因为准确率只是满足用户的部分需求(有的用户可能还想着推荐系统能推荐些意想不到的商品),并没有增加商家的利益。一个好的推荐系统在预测准确的同时也要能够给用户带来惊喜,同时帮助商家卖出更多商品(不仅仅是热门商品,更是那些长尾中的商品)。而第一章第三节就从不同角度对推荐系统做了一个全面的评估。
  首先要明确的是,评估手段有3种——离线实验、用户调查和在线实验。离线试验就像现在的比赛模式,给定一定的数据集来训练和测试模型算法。但是离线指标和在线指标终归是有一定差距的,离线实验没有用户的参与,不能保证用户的满意程度,也很难保证商家的指标,因此还需要用户调查(从用户的角度再次评估推荐系统的好坏)和在线实验(从用户和商家的角度,一般使用AB test)。
  然后再来看下重要的评估指标:

  1. 用户满意度
    用户是推荐系统的重要参与者,用户满意度是评价推荐系统的一个非常重要的指标。但是用户满意度没法进行离线计算,只能通过用户调查或者在线实验获得。如果进行用户调查的话,那么就需要设计好调查问卷,这样才能保证比较准确的反馈,而要是进行在线实验的话,就需要在交互界面上加入一些反馈选项,当然也可以根据点击率、浏览时间和转化率等指标来反映。
  2. 预测准确率
    离线实验中最重要的评价指标。不同的推荐算法有着不同的研究方向,评价的指标也不一样。比如评分预测这种回归任务就选择RMSE、MAE这类距离指标,而TopN推荐任务一般用过准确率和召回率来度量。
  3. 覆盖率
    覆盖率描述了一个推荐系统对物品长尾的发掘能力,可见是商家比较关心的指标,可以通过统计推荐列表中不同物品出现次数的分布。如果推荐列表中的物品出现次数都差不多,那么该推荐系统发掘长尾的能力就很好。覆盖率一般选择信息熵或者基尼系数来定义。同时,覆盖率也是为了缓解推荐系统中的马太效应。如果一个系统一直推荐热门商品,那么冷门商品将永无出头之日,这对于个性化推荐是不利的。
  4. 多样性
    用户的兴趣是在不断变化的,如果总是对用户提供比较单一的推荐物品,那这个推荐系统就不是一个好的推荐系统。推荐列表需要多样。多样性描述了推荐列表中物品两两之间的不相似性,定义如下:Diversity(R(u)) = 1 - \frac{\sum_{i,j \in R(u),i \neq j}s(i,j)}{\frac{1}{2}|R(u)|(|R(u)|-1)}
  5. 新颖性
    新颖的推荐是指给用户推荐他们以前没有听说过的物品。最简单的方法就是推荐一些不热门的商品,不过这是在牺牲预测精度的前提下来提高新颖性的。如何在不损失预测准确性的情况下提升新颖性是推荐系统的一大难点。
  6. 惊喜度
    惊喜度和新颖性是有一定区别的。如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。不过这个惊喜度在离线环境下是很难衡量的。
  7. 信任度
    信任度体现了推荐系统对用户决策的影响程度。没有信任度,即使预测准确率再高也只是推荐系统自娱自乐而已。如何提升信任度?一是增加推荐系统的透明度(感觉这对于金融领域的建模尤为重要),二就是考虑用户的社交信息,利用用户的好友信息给用户做推荐。
  8. 实时性
    推荐系统的实时性主要包括两个方面,一是推荐列表的实时更新,也就是能够根据用户的行为不断对推荐结果进行修正,实时更新对于算法设计和系统的工程实现都是有很高要求的;二是能够将新加入系统的物品推荐给用户,这考验了推荐系统的冷启动能力。
  9. 健壮性
    这个主要就是减少商家的作弊,保证用户的体验。书中的解决方案有3种——健壮性高的算法、尽量使用代价较高的用户行为和数据清洗。
  10. 商业目标
    这个其实就是从推荐系统设计人自身的角度出发来评估推荐系统了。毕竟设计一个推荐系统也是为了盈利,推荐系统要保证用户和商家的利益,但最终肯定还是为了自身的发展和利益。

个人总结:第一章从一个大的视角来阐述了推荐系统的本质等,让我收获良多。之前我接触这个领域还是从比赛开始的,但是比赛模式只是推荐系统中一个环节,而且仅仅从AUC这个指标来看待推荐算法的好坏,太过单一。而本章,特别是第三节内容,从各个角度阐述了什么是一个好的推荐系统,让我对推荐系统有了一个新的认识,而不是之前只从AUC的角度来看待一个推荐系统。

相关文章

网友评论

      本文标题:《推荐系统实践》第一章学习笔记

      本文链接:https://www.haomeiwen.com/subject/jkjgmqtx.html