2020-06-23 深度学习推荐系统 第5章 多角度审视推荐系统

推荐系统中需要解决的问题是综合性的,任何一个技术细节的缺失都会影响最终效果. 要求我们从不同的维度审视推荐系统,不仅抓住问题的核心,更要从整体上思考推荐问题.
本节从系统的角度介绍一些关键部分的需要解决的问题和做法

推荐系统的特征工程

构建特征工程应该遵循的基本原则是什么?

尽可能地让特征工程抽取出一组特征能够保留推荐环境及用户行为过程中的所有有用的信息,尽量摒弃冗余信息.

需要把自己置身于场景中,想想在使用某个推荐产品中的点击和转化都受什么因素影响.

特征分类

一般这些受到影响的特征一般可以分为这几类:

  1. 用户行为数据: 隐式显式反馈数据
  2. 用户关系数据: 社交关系数据
  3. 属性\标签类数据: 用户属性,物品标签
  4. 内容类数据:图片,评论等等
  5. 上下文信息: 用户产生行为的场景信息
  6. 统计类特征那个: 物品的点击率转化率等

处理办法

特征可以分为两大类
1.连续型特征: 一般采用归一化和离散化和飞非线性处理的方法
2.类别型特征: one-hot multi-hot

特征工程的业务理解

传统的人工特征组合\过滤的工作已经不存在了,取而代之的是将特征工程与模型结构统一思考\整体建模的深度学习模式.
不变的是,只有深入了解业务的运行模式,了解用户咋业务场景下的思考方式和行为动机,才能精确地抽取出最有价值的特征,构建成功的深度学习模型.

推荐系统召回层的主要策略

上图是一个简易的推荐系统的阶段流程,主要分为召回和排序.特点如下:

召回: 待计算的候选集合大,速度快,模型简单,特征较少,尽量让用户感兴趣的物品在这个阶段能够被快速召回,即保证相关物品的召回率.
排序层:首要目标是的得到精准的排序结果.需处理的物品数量少,可利用较多特征,使用比较复杂的模型.

多路召回

召回的主要目标的高效和召回率高, 一般出于性能的考虑使用多路并行召回的方式.


image.png

这里除了传统的热度召回cf召回,值得一提的是embedding召回,这里在前面的emb章节做过介绍,是目前主流的召回方式.

推荐系统的实时性

实时性的重要之处在于:

  1. 特征的实时性: 用户的习惯爱好更新的越快,越能为用户进行更有时效性的推荐.
  2. 模型的实时性: 推荐系统更新的越快,模型越容易发现罪行流程的数据模式.

对于模型的实时更新一般分为几个阶段:

  1. 全量更新:利用某个时间段内所有训练样本进行训练.
    训练时间长时效性差
  2. 增量更新:增量更新将新加入的样本"喂"给原有模型进行增量训练.
    往往无法找到全局最优,在实际场景中,一般采取增量一段时间后全量训练的方式
  3. 在线学习:FTRL实时训练.

如何合理设定推荐系统中的优化目标

优化目标需要根据商业目标来制定,再进行相应的模型迭代.不能拿到新技术就拿去用,陷入无意义的战术勤奋中. 书中举了youtube和mtl的例子.
我们要结合业务场景,从业务角度触发进行算法上的迭代和优化.

冷启动

冷启动是指数据匮乏场景下如何进行推荐.可以分为三类:

  1. 用户冷启动: 新用户注册
  2. 物品冷启动: 新物品如何推荐
  3. 系统冷启动: 推荐系统初期.

方法有:

  1. 规则: 热榜,趋势,评分,以及按照用户tag的热度推荐,以及按照物品tag的推荐等等
  2. 探索和利用: UCB, THOMPSON采样, e-greedy等等.

探索和利用的意义

探索和利用除了用在冷启动,还可以用于发觉用户新的兴趣,增加结果的多样性的场景,防止产生疲劳,并帮助用户发现新的兴趣.

你可能感兴趣的:(2020-06-23 深度学习推荐系统 第5章 多角度审视推荐系统)