推荐系统 E&E 问题和几种 Bandit 算法

 

名词解释

多臂老虎机 multi-arm-bandit

avatar

  • bandit 是强盗的意思,老虎机就是从你口袋里面抢钱的强盗。
  • 老虎机是一种赌博机器,每台老虎机都有一个臂,多臂老虎机指的就是多台老虎机。
  • 多臂老虎机问题就是你如何在多台老虎机中找到中奖概率最高的一台。

    E&E 问题

    E&E 全称是 Exploitation & Exploration(开发与探索),代表的含义就是开发现有的还是探索未知的。
    应用在多臂老虎机上面的场景就是:

  • 游乐(du)场一共有 10 台老虎机;
  • 其中已经玩过 4 台,并且以以往的经验你知道每台的中奖率大概是多少;
  • 是一直玩这 4 台中中奖率最高的一台(Exploitation) 还是去尝试去玩另外 6 台没玩过的(Exploration)。

E&E 问题就是在你有限的本钱(游戏币)下,权衡 Exploitation 和 Exploration,找到全场中奖率最高的老虎机。当然,探索就 意味着风险,很有可能就会浪费成本去尝试概率低的机器。

应用场景

推荐系统判断推荐效果最主要的两个指标就是「曝光量」和 「点击量」,点击/曝光 比越高说明命中率越高,效果越好。应用到老虎机 上就是「中奖吐币次数」和「投币次数」。

E&E 在推荐系统应用非常广泛,其中最主要的就是广告的投放:

  • Exploitation 是一直给用户投放他喜欢的类型的广告?这样很有可能一个用户点过几次「肾宝」,以后只会给他推送「男科」的广告,可想而知越到后面效果越差。
  • Exploration 还是尝试投放一些他没见过的广告?比如尝试投放「健身」、「运动」之类的广告,效果可能会更好。但是万一投放了「化妆品」就会很莫名其妙了。

再举个例子就是我点了几次「无极剑圣天秀」的视频,之后就会一直推送「英雄联盟」的视频,可是其实给我推送「小姐姐」我也很喜欢啊,但是给我推送一次「乔碧萝」我可能直接卸载 app 了。

解决方法(算法)

1.Thompson Sampling(汤普森采样)

Thompson Sampling 就是基于 beta 分布的理论基础,不断根据数据结果调整 α(点击量) 和 β(曝光量)参数完善分布函数的过程。 详细的 beta 分布数学概念请参考这里

beta 分布(Beta Distribution)

avatar