zoukankan      html  css  js  c++  java
  • 推荐系统实践(项亮)— 第1章 好的推荐系统

    1.1 什么是推荐系统

     (1)解决信息过载的三种方式:

    1. 分类目录(雅虎)
    2. 搜索引擎(谷歌):满足用户有明确目的时的主动查找请求;
    3. 推荐系统:用户没有明确目的时帮助他们发现感兴趣的内容。

    (2)推荐系统可以更好的发掘商品的长尾

      传统2/8理论受到挑战。互联网条件下,由于货架成本极端低廉,电子商务网站往往能出售比传统零售店更多种类的商品。与传统零售业相比,电商的长尾商品数量极其庞大,这些长尾的总销售额甚至能超过热门商品。

      推荐系统通过发掘用户的行为,找到用户的个性化需求,从而将长尾商品准确地推荐给需要它的用户,帮助用户发现那些他们感兴趣但很难发现的商品。

      推荐算法的本质是通过一定的方式将用户和物品联系起来,不同的推荐系统利用了不同的方式。

    1.2 个性化推荐系统的应用

    (1)推荐系统由前台展示页面、后台的日志系统以及推荐算法3部分构成 。

    • 电子商务
      • 主要应用有:
        1. 个性化商品推荐列表:基于物品,基于好友;
        2. 相关商品推荐列表(cross selling):使用了不同用户行为计算物品的相关性;
        3. 打包销售:推荐一套商品,打包购买打折;
    • 电影和视频网站:基于物品的推荐,推荐用户喜欢的相似的电影。
    • 个性化音乐网络电台

      • 个性化推荐成功应用的两个因素

        1. 存在信息过载
        2. 用户大部分时候没有明确需求

        个性化网络电台非常符合上诉两项

      • 设计上不允许点歌,而是给用户一定形式的反馈(喜欢、不喜欢、跳过),经过用户一定时间的反馈,电台就可以从用户的历史行为中习得用户的兴趣模型,从而使用户的播放列表越来越符合用户对歌曲的兴趣。
      • Pandora 根据专家标注音乐基因计算歌曲相似度;Last.fm给用户推荐和他有相似听歌爱好的其他用户喜欢的歌曲,利用用户行为。
      • 音乐推荐的特点:物品空间大/种类多/不需全神贯注消费 / 物品重用率高 / 上下文相关(包括用户当时的心情,比如沮丧的时候喜欢听励志的歌曲,和所处情境比如睡觉前喜欢听轻音乐) / 次序比较重要 / 高度社会化 (分享自己喜欢的音乐)
    • 社交网络
      • 主要应用:
        1. 利用用户的社交网络信息对用户进行个性化的物品推荐
        2. 信息流的会话推荐(推荐评论、好友状态等):尽量看到熟悉好友的最新会话
        3. 给用户推荐好友
    • 个性化阅读

      个性化阅读同样符合前面提出的需要个性化推荐的两个因素:用户面临信息过载的问题;用户很多时候并没有必须看某篇具体文章的需求,只是想了解该领域。

      新闻类的阅读要有很强的时效性。

      • 用户关注自己兴趣的人,然后看关注用户看的文章;

      • 收集用户对文章的偏好,根据反馈数据不断更新用户个性化列表;
      • 根据用户之间兴趣相似度,给用户推荐和他兴趣相似的用户喜欢的文章;
    • 基于位置的服务:上下文信息,位置和社交网络的结合。
    • 个性化邮件:优先级收件箱,先浏览重要的,再浏览其他。
    • 个性化广告
      • 个性化广告投放技术:
        1. 上下文广告:通过分析用户正在浏览的网页内容,投放和网页内容相关的广告。代表系统是谷歌的Adsense。
        2. 搜索广告:通过分析用户在当前会话中的搜索记录,判断用户的搜索目的,投放和用户目的相关的广告。
        3. 个性化展示广告:根据用户的兴趣标签,对不同用户投放不同的展示广告。

     1.3 推荐系统评测

      一个完整的推荐系统一般存在3个参与方:用户、网站、内容提供方。要考虑三方面的利益。好的推荐系统准测用户的行为,且扩展用户的视野,帮助用户发现他们感兴趣且不容易发现的东西;帮助商家将埋没在长尾中的好商品推荐给可能对他感兴趣的用户;推荐系统本身收集反馈,完善推荐质量,增加交互,提高收入。

      • 推荐系统实验方法:
        1. 离线实验
        2. 用户调查
        3. 在线 A/B test
      • 评测指标:
        1. 用户满意度
            可以以问卷的形式;一般情况下用点击率、用户停留时间和转化率等指标度量用户的满意度。
        2. 预测准确率:在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确率。
          • 评分预测: RMSE / MAE
          • TopN 推荐:准确率 、召回率, 准确率、召回率曲线。
          • 推荐目的是找到用户最有可能感兴趣的电影,而不是预测用户看了电影后会给怎样的分数(就是有的电影用户感兴趣,但看了之后给的评分会低,这个也要推荐)。
        3. 覆盖率
            • 描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。
            • 覆盖率是一个内容提供商会关心的指标,推荐系统不仅有较高的用户满意度,还有较高覆盖率。
            • 覆盖率的其它定义: P27 
          • 推荐系统的马太效应:推荐系统的初衷是希望消除马太效应,使得各种物品都能被展示给对它们感兴趣的某一类人群。可以使用基尼系数来判断是否有明显的马太效应。
        4. 多样性
            为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域。多样性描述了推荐列表中物品两两之间的不相似性。
        5. 新颖性:希望在不牺牲准确率的前提下提高多样性和新颖性。
        6. 惊喜度:与历史兴趣不相似,但用户满意
        7. 信任度
            提高推荐系统信任度的方式有增加推荐系统的透明度(提供推荐的解释);考虑用户的社交网络信息,利用好友信息给用户做推荐,并且用好友进行推荐解释。
        8. 实时性:新闻,微博等。
        9. 健壮性
          • 反作弊
        10. 商业指标:给公司带来盈利。
        11. 总结

          • 指标总结
      • 评测维度
          在推荐系统评测报告中包含不同维度下的系统评测指标,能帮我们全面地了解推荐系统性能。
        • 用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
        • 物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
        • 时间维度:包括季节,是工作日还是周末,是白天还是晚上等。
  • 相关阅读:
    ZygoteInit 相关分析
    Zygote(app_process)相关分析2
    Zygote(app_process)相关分析1
    android Init 相关分析
    简明Python教程(A Byte of Python中文版)
    鸟哥的linux私房菜——第5章 首次登陆与在线求助man page
    Cmake实践(Cmake Practice)第二部分
    Cmake实践(Cmake Practice)第一部分
    鸟哥的linux私房菜——第3章 主机规划与磁盘分区
    鸟哥的linux私房菜——第1章 Linux是什么
  • 原文地址:https://www.cnblogs.com/eilearn/p/9802476.html
Copyright © 2011-2022 走看看