1. 好的推荐系统

1. 好的推荐系统
  1. 由来:用户在有明确需求的情况下,可以借助分类信息找到自己的商品。但面临信息过载的时代,需要一个工具,也就是个性化推荐工具。
    1. 解决信息过载
      1. 分类目录:如好123,将热门常用网站分门别类。
      2. 搜索引擎:需要用户主动提供准确的关键词
      3. 推荐系统:不需要用户提供明确的需求
        1. 显然2与3是两个互补的工具
        2. 推荐系统的目的是联系用户和物品
    2. 现实中常见的推荐情景:
      1. 社会化推荐:向好友咨询
      2. 基于内容的推荐:一部喜欢的演员出演的电影
      3. 基于协同过滤:其他用户的情况,如排行榜等
  2. 应用:几乎所有的推荐系统应用都是由前台的展示页面、后台的日志系统以及推荐算法系统三部分构成
    1. 电子商务
      1. 推荐页面
        1. 标题,缩略图,内容
        2. (用户)平均分
        3. 推荐理由
          1. 需要给出用户对这个推荐结果进行反馈的方式
          2. 允许用户禁用推荐理由(隐私)
          3. 给出具体理由,以便获取用户的信任
      2. 实现方法:
        1. 个性化推荐
          1. 基于物品的推荐算法(与喜欢物品相似的物品)
          2. 按照用户在FaceBook的好友关系,给用户推荐他们的好友喜欢的物品
        2. 相关推荐列表
          1. 购买了这个商品的用户也够买的其他商品
          2. 浏览过这个商品的用户经常购买的其他商品
          3. 其实就是打包销售,这种销售手段是推荐算法最重要的应用
    2. 电影视频
    3. 个性化音乐
      1. 个性化推荐的前提是存在信息过载和用户无明确需求两点
      2. 个性化音乐推荐的十一个特点,p12
    4. 社交网络
      1. 主要应用
        1. 利用社交信息进行个性化物品推荐,如好友最喜欢的物品
        2. 信息流的会话推荐(会话排序)
        3. 给用户推荐好友
    5. 个性化阅读
    6. 基于位置的服务
      1. 位置是一种很重要的上下文信息,基于位置给用户推荐离他近的且他感兴趣的服务,用户就更有可能去消费
    7. 个性化邮件
    8. 个性化广告(广告定向投放)
      1. 形成了独立学科--计算广告学
      2. cpc,cpm,cpr
      3. 三种方式
        1. 上下文广告:分析用户正在浏览的网页内容,投放和网页内容相关的广告
        2. 搜索广告:分析用户在当前会话中的搜索记录,判断用户目的,投放相关广告
        3. 个性化展示广告:根据用户兴趣,网站首页的大量展示广告
  3. 推荐系统评测
    1. 实验方法
      1. 离线实验:可以很方便的计算预测准确率,但是无法获得商业指标,如点击率,转化率,用户满意度
      2. 用户调查:可以获得很多用户主观感受的指标,但是费时费力。
      3. 在线实验:在完成离线实验和必要的用户调查后,可以上线做AB测试。AB测试可以公平的获得包括商业在内的各种指标,但是周期长,工程复杂。
    2. 评测指标
      1. 用户满意度:至少需要区分--想看的,想看的但是看过的,相关但不想看的,不想看的
      2. 预测准确率:离线实验
        1. 评分预测
          1. RSME和MAE,两者优缺点及公式
        2. TopN推荐:
        1. 准确率和召回率的折衷
        2. 代码实现
      3. 覆盖率:推荐系统能够推荐出来的物品占总物品集合的比例
        1. 一般通过研究物品在推荐系统中出现的频次分布来比较,频次分布越平坦,覆盖率越高。可以使用信息熵或者基尼系数来衡量。
        2. 马太效应:热门新闻(由于上了排行榜)会越加热门,推荐系统希望消除这个效应
      4. 多样性:推荐列表中不那么相似的物品数量
      5. 新颖性:为了排除“确实是我感兴趣的但是我看过或者买过了”这种情况,音乐类产品会存在重复消费的情况
        1. 现有方法(各有缺陷):
          1. 把之前用户有过相应行为的物品从推荐列表中去除
          2. 推荐平均热门程度较低的物品
      6. 惊喜度:与用户历史上喜欢的东西不相似,但用户觉得满意的推荐。
        1. 目前没啥好的衡量指标
      7. 信任度
        1. 方法:
          1. 增加系统的透明度,比如提供推荐理由的解释
          2. 社交网络信息,好友喜欢的(用户一般会信任好友)
      8. 实时性:
        1. 推荐系统实时更新的速度,即用户有相应行为之后多久更新推荐列表
        2. 推荐系统处理物品冷启动的能力,即新加入的物品如何推荐给用户
      9. 健壮性:防范“恶意攻击”
      1. 行为注入攻击:如创建账号参与评分系统。
      2. 评测:利用模拟攻击,比较攻击前后推荐算法相似度,以此寻找健壮性高的算法
      3. 除了选择健壮性高的算法,还可以:
        1. 尽量使用代价比较高的用户行为,如购买记录的权重要大于浏览
        2. 在使用数据前,利用攻击检测先对数据进行清理
    3. 评测维度:一个算法在某种情况下性能好,在另一种情况下的表现可能不就那么好,需要在多维度下评测,以便全面了解其性能
      1. 用户维度:人口统计学信息,是否活跃,是否新用户
      2. 物品维度:属性信息,流行度,平均分,是否是新物品
      3. 时间维度:包括季节,是否周末,白天还是晚上

-----------------------------------------

项亮 --《推荐系统实战》阅读笔记


推荐阅读