点击率预测的贝叶斯平滑

背景

电商领域中经常需要计算或预测一些转化率指标,如最典型的CTR(点击率,Click-Through Rate)。这些转化率可以是模型的预测值,也可以作为模型的特征(feature)使用。以商品点击率预测为例,CTR的值等于点击量(Click)除以曝光量(Impression或Exposure)。以 r r r表示点击率,

r = C I (1) r=\frac{C}{I} \tag{1} r=IC(1).

但在实际应用过程中会碰到两个问题:

  • 新商品点击率的预测与计算
    对于新上线的商品,其曝光为0,点击量也为0,此时这件商品的CTR应该设为0还是赋一个初始值?

  • 不同商品点击率之间的比较
    有两件商品A和B,其点击率分别为 r A = 5 10 r_A=\frac{5}{10} rA=105 r B = 50 100 r_B=\frac{50}{100} rB=10050 r A = r B r_A=r_B rA=rB,但商品A的曝光只有10次,商品B的曝光有100次,这样比较是否合理?

第一个问题,初始值设0是可以的,但不太合理。当CTR作为特征使用时,表示这个商品完全没有点击,不太符合日常推断,通常是赋一个大于0的初始值。第二个问题,不合理,通常会认为曝光次数少的商品权重应该低一些。

解决以上两个问题可以使用平滑的技术解决。最简单的方法是在计算CTR的公式中分子分母同时加上一个数,加上之后可避免这两个问题。

r = C + a I + b (2) r = \frac{C+a}{I+b} \tag{2} r=I+bC+a(2)

但(2)式中 a a a b b b的值如何确定? 这两个数可以人为设定,但若设置得不合理会出现数据被放大的情况。本文介绍如何通过历史数据来计算有统计意义的 a a a b b b,即贝叶斯平滑。

贝叶斯平滑

贝叶斯平滑的思想是给CTR预设一个经验初始值,再通过当前的点击量和曝光量来修正这个初始值。如果某商品的点击量和曝光量都是0,那么该商品的CTR就是这个经验初始值;如果商品A和商品B的曝光量差别很大,那么可以通过这个经验初始值来修正,使得曝光量大的商品的权重增大。

贝叶斯平滑就是确定这个经验值的过程。贝叶斯平滑是基于贝叶斯统计推断的,因此经验值计算的过程依赖于数据的分布情况。

贝叶斯平滑的推导涉及贝叶斯参数估计,如果对贝叶斯参数估计不熟悉,可以先参考这篇文章:贝叶斯参数估计的理解及其在电商算法中的应用

点击率贝叶斯平滑的假设

对于一件商品或一条广告,对于某次曝光,用户要么点击,要么没点击,这符合二项分布。因此下文中对于点击率类的贝叶斯平滑,都是基于以下假设:对于某件商品或广告 X X X,其是否被点击是一个伯努利分布(Bernoulli)

X ∼ B e r ( r ) (3) X \sim Ber( r) \tag{3} XBer(r)(3)

其中 X X X表示某个广告是否被点击,点击取1,未被点击取0, r r r是某件商品被点击的概率,即点击率

对于不符合二项分布的比值类数据,也可以通过贝叶斯参数估计的方法计算平滑参数,但是数据分布假设需要修改,后文有说明。

点击率的极大似然估计

在(3)式的假设下,可以使用极大似然法计算出点击率的估计值 r ^ \hat{r} r^。从用户日志中随机抽取 n n n条记录,对任一条记录 i i i都有

X i ∼ B e r ( r ) (4) X_i \sim Ber( r) \tag{4} XiBer(r)(4)

那么所有记录的点击数的联合概率密度就是上式的连乘。将连乘后的式子对 r r r求导,并令其等于0,可以解出 r r r的值 r ^ \hat{r} r^ r ^ \hat{r} r^就是点击率的极大似然估计。当某件商品的点击次数或曝光量等于0时,可以用 r ^ \hat{r} r^当成它的初始值。它解决了最开始提出的第一个问题,但没有解决第二个问题。

上述<

  • 23
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值