智能推荐系统新用户冷启动—EE问题及Bandit算法!

前言

几乎在所有信息消费类的应用场景中,对于外部画像缺失的新用户,如何承接都是一个棘手但又十分关键的问题。承接的好,理所当然就能提升留存率,离人生巅峰就更进一步了,嘿嘿!

算法适用场景:

  1. 新用户冷启动
  2. 用户兴趣探索
  3. (请各位补充)

如何定义新用户(冷启动用户)?

在这抛砖引玉,说三点简单的方法。

  1. 综合曝光,点击数等行为。
  2. 基于用户画像。
  3. 综合各种信息。

Exploration and Exploitation(简称EE)

在推荐系统中:Exploitation的意义在于对用户感兴趣的要大力开发。但一直给用户推荐那几样内容,用户就会腻。所有就需要exploration。探索挖掘用户兴趣。

bandit算法

bandit算法泛指解决EE问题的所有算法,在此介绍其中较为经典的两种——LinUCB和Thompson Sampling。

Thompson Sampling:

简单来说:以用户对不同item的兴趣,分别计算兴趣值。且我们假设用户对item的兴趣是符合Beta分布的。

智能推荐系统新用户冷启动—EE问题及Bandit算法!

 

 

 

算法实现流程:

  1. 每个臂(item或类目等)都对应一套(a,b)参数,然后通过上述公式生成beta随机数。
  2. 将产生的随机数最大的臂作为结果,并根据用户反馈,点击则a+1,否则b+1

 

智能推荐系统新用户冷启动—EE问题及Bandit算法!

 

 

 

在尝试次数越来越多的时候,所有的(a,b)都已经很大,这时候每一个beta分布都会变得接近中心位置,生成的随机数趋于稳定。

若某个臂的a+b跟a/(a+b)都很大的时候,beta分布会很窄,且概率集中到1附近,所以该臂生成的随机数每次都会比较大,被选中概率就会很大。

存在问题

  1. 臂的数量:若臂数量过多,则影响算法收敛。所以需要事先筛选,控制臂的数量。
  2. a,b超参的选择——设置为1。原因在这就留给看官们来解答吧。