6. 探索和利用

利用(Exploitation)

在当前已知信息中做决策

探索(Exploration)

探索未知空间获取更多信息

探索和利用也是增加系统多样性的一种手段。

6.1. 冷启

冷启动不同于传统推荐链路(召回-粗排-精排-重排),其是单独的一路,会有专门的流量供给冷启动链路,让 User 或者 Item 进入冷启动进行过渡。

对于 User 冷启动来说,因为新用户缺少行为数据,所以不能直接用正常的个性化推荐链路,因为正常的个性化推荐链路中用户画像已经基本成型,其分布和新用户的分布是很不一样的。

  • 利用用户注册信息冷启动

  • 好物推荐冷启动

  • 问题启发式冷启动

  • 社交冷启动

  • 模型冷启动(单独对新用户建模)

Item 冷启动的主要作用有两个:第一是让新入库的 Item 得到充足的曝光,第二是让高质量的 Item 得到迅速下发,满足用户兴趣。

  • 基础信息冷启动(主题、类目)

  • 相似性冷启动

6.2. \(\epsilon\)-Greedy

\(\epsilon\)-Greedy 是一种用于探索和利用平衡的强化学习策略,参数 \(\epsilon\) 是探索和利用之间的权衡点。

具体而言,\(\epsilon\) 代表对探索的偏好程度,每次以概率 \(\epsilon\) 去探索,以概率 \(1-\epsilon\) 来利用,基于被选择 Item 的 Reward 来更新其回报期望。

6.3. Thompson Sampling

假设多臂老虎机(Multi-Armed Bandit)的每个臂都有一个吐钱的概率 \(p\) ,同时 \(p\) 符合 Beta(wins, lose) 分布 ,每个臂都维护一个 Beta 分布的参数(即 win 和 lose)。每次试验后,选中一个臂,摇一下,有收益则该臂的 win 增加 1,否则该臂的 lose 增加 1。

每次选择臂的方式是:用每个臂现有的 Beta 分布产生一个随机数,选择所有臂产生的随机数中最大的那个臂去摇。

Beta 分布的均值为:

\[\frac{\mathrm{win}}{\mathrm{win} + \mathrm{lose}}\]

Note

假如 Beta 分布的两个参数分别表示曝光点击次数和曝光未点击次数,那么该分布的均值就等于真实的 CTR 统计值,产生的随机数可以认为是对 CTR 的预估值。

6.4. UCB

UCB 全称是 Upper Confidence Bound(置信区间上界),算法步骤:

  1. 先对每个老虎机随机摇臂 \(m\) 次,获取其初始化收益期望 \(\bar{x}_j\)

  2. \(t\) 表示至今摇臂的总次数,用 \(n_j\) 表示第 \(j\) 个老虎机至今被摇臂的次数,计算每个老虎机的 UCB 值:

    \[\mathrm{UCB}_j(t) = \bar{x}_j + \sqrt{\frac{2\ln t}{n_j}}\]
  3. 选择 UCB 值最大的老虎机 \(i\) 进行摇臂,并观察其收益 \(X_{i,t}\)

  4. 根据 \(X_{i,t}\) 更新收益期望 \(\bar{x}_i\)

  5. 重复第 2 步。

6.5. 参考资料

  1. Multi-armed bandit

  1. Introduction to Multi-Armed Bandits