CTR预估[四]: Algorithm-LR Bias和Q分布

CTR预估[四]: Algorithm-LR Bias和Q分布

作者:@三疯兰尼斯特 && @Ainika Peng

时间:2017年11月

出处:zhuanlan.zhihu.com/p/31

声明:版权所有,转载请联系作者并注明出处。

<上一篇>中,我们介绍了Naive LR和LR的正则化,包括L1正则、L2正则和Elastic Net的定义、区别和适用场景。
本节我们就LR的另一个点进行扩展:偏差项(bias,b)在CTR预估中的校准应用。

系列目录传送门见 -- CTR预估系列一览表

1.1.5.1 Q分布和理想Q分布下的LR

Q分布表明Predict CTR和Real CTR的关系。

制作Q分布图的方式为:用模型估计一批数据的预估CTR(pCTR),对结果等频分段,回到数据中统计每一段的实际CTR(rCTR);然后以pCTR为横轴,rCTR为纵轴绘制在图上。

理想状态下的pCTR-rCTR为45°斜率的直线,满足保序(直线)+保距(45°)的要求。

保序与保距:假设牛100kg、狗20kg、猫5kg:
保序:即计算出 牛 > 狗 > 猫,只需排序正确,具体预测出的体重值不重要;
保距:不光要计算出牛 > 狗 > 猫,还要计算出牛100kg、狗20kg、猫5kg。

以LR为例,理想的Q分布如下图柱状图。需要注意pCTR是经过logit变换的,如没有经过变换的 \phi(x) 则如折线图表示。

LR 的决策面是关于 x 的线性函数,即使sigmoid是一个非线性的变换。
LR的决策面Margin为:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\phi(x) = w^Tx + b
对于决策面上的点,\phi(x)=0。即理想状态下, w^Tx+b 项在分界面处为0。
假设空间中任意点 x 在决策面上的投影为 x_\bot ,我们有
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~x = x_\bot + r\frac{w}{||w||}
等式两边同时乘以 w 且加上 b ,则

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r = \frac{\phi(x)}{||w||}
极端情况下,原点到决策面的距离为
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r_0 = -\frac{b}{||w||}
也就是说,Bias b决定决策面的位置。

这里的关键点是:w和bias均会影响pCTR,pCTR和rCTR的关系构成了Q分布:

  • bias的调整会影响Q分布
  • 但不能认为Q分布的形状就是bias决定的。例如,所有w同时double也会得到bias增大的等价效果。

虽然Q分布的反向归因比较困难,但由于Bias很大程度上影响了Q分布,我们可以通过校准Bias来修饰Q分布:

  • Bias过大,wx+b==0点左移,Q分布呈现对数形状,体现出预估CTR的普遍高估;
  • Bias过小,wx+b==0点右移,Q分布呈现指数形状,体现出预估CTR的普遍低估。

1.1.5.2 Bias校准对Q分布影响

在CTR预估中,负样本采样是一种常见的特征工程方法。一般CTR预估的原始正负样本比可能达到1:1000~1:10000左右,而要获取好的效果,一般需要采样到1:5~1:15之间(VC维可推导)。

我们详细分析采样对于pCTR的影响。以负样本采样为例,采样后的校准CTR为:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~CTR_{re-calibration} = \frac{p}{p + \frac{1-p}{w}}

其中 p 是CTR, w 是负样本采样率。实际上,上式等价于LR在拟合 \frac{1}{1+e^{-w^Tx+log(w)}} 的情况。可以看到,负采样之后的pCTR值会被高估。这对于一般的CTR排序影响不大,但对于DSP这类有强烈的保距需求的场景,需要将pCTR校准回对采样前的估计。

举例:假设一个广告对一个用户展示10次,有9次未点击、1次点击,则CTR为10%;假设模型训练中对负样本采样至1/3,则在训练数据中可能只有3次未点击曝光和1次点击,因此模型会将这组特征拟合为pCTR=25%。当模型提交并用来预测时,可知这组特征的pCTR被高估。
对排序系统而言,由于所有样本都会被“成比例地”高估(见下文推导),不会影响排序顺序;而对DSP等场景而言,付出的竞价成本与pCTR值本身正相关,此时则必须将预估CTR校准至未采样分布的情况。

在模型训练-预测的过程中,我们使用采样模型进行训练,但面对的预测数据为未采样数据,因此在预测时需要对bias进行校准。FM或者LR可以利用采样模型拟合出的bias项来推导预测时(未采样时)应当使用的校准bias:


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~b' = b + log(w)

其中 w = \frac{负样本采样率}{正样本采样率}

详细推导:

设采样前CTR为 p ,采样后CTR为 p' ,正样本数为 a ,负样本数为 b ,正样本采样概率为 l ,负样本采样概率为 m ,其中 n =-/+ = m/l ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p=\frac{a}{a+b} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p'=\frac{la}{la+mb}=\frac{a}{a+nb}

两者化简得到
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p = \frac{p'}{p'+ \frac{1-p'}{n}}

注意 p 为我们希望得到的校准后概率;但由于我们用采样的数据进行训练,模型计算出的pCTR实际为校准前概率 p'

对于LR、FM等用logistics function做处理的模型,可以得到
 \begin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~p' &= \frac{p}{n+p-np} \\ &= \frac{1}{1+e^{-(w^Tx+b)}} \end{split}
两者化简可得
 \begin{split} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ p &= \frac{1}{1+e^{-(w^Tx+b+log(n))}} \end{split}
因此可以计算出校准后的bias b’ = b+log(n)

假设有一被高估的模型:


下节预告:
本节主要介绍bias对模型高估低估的影响,以及在常见的高估情况下如何校准。
工业界LR为标准baseline模型,但LR毕竟是一个线性模型,如何增加非线性是一个重要的提升方向,下一节我们来看下,在LR的假设上的一种扩展非线性的方式 Multiple LR(MLR),阿里推荐广告中运用多年的技术

敬请期待:CTR预估[五]: Algorithm-LR扩展: MLR

LR相关章节关系和传送门如下:

编辑于 2017-12-02

文章被以下专栏收录