RS——WCE-YouTube推荐论文

本文主要介绍WCE

原始论文:[Youtube] Deep Neural Networks for YouTube Recommendations (Youtube 2016)


WCE

  • Weighted Cross Entropy,加权交叉熵,也叫做Weighted LR,Weighted Logistic Regression
  • 用于解决回归问题
    • 主要是存在大量负样本(值为0)的回归问题
    • 比如视频浏览时长问题(点击率就比较低)
  • 训练时使用损失函数:
    $$
    loss = \sum_i w_i y_ilog(p_i) + (1-y_i)log(1-p_i)
    $$
    • 其中 \(p_i = \frac{1}{1+e^{-\theta^{T}\boldsymbol{x}}}\)
    • \(w_i\) = 回归值(如观看时长)
    • \(y_i\) = 是否为正值(即是否点击,未点击表示观看时长为0,视为负样本)
    • 对任意样本,我们真实想要的预估目标是一个视频被点击且观看的概率\(pred = wp\)
  • serving时使用下面的定义来表示回归值:
    $$
    pred = e^{\theta^{T}\boldsymbol{x}}
    $$
    • 对于原始的CE损失函数,有\(Odds = \frac{p}{1-p} = e^{\theta^{T}\boldsymbol{x}}\)(补充:Odds表示样本为正的概率除以样本为负的概率,\(log(Odds) = \theta^{T}\boldsymbol{x}\))就是logit
    • 当前损失函数下,正负样本的比例(或权重)发生了变化,实际上\(Odds = \frac{p}{1-p} = e^{\theta^{T}\boldsymbol{x}}\)表示的值不再是原始样本中正负样本的比例,而是带权重的比例,详情看后续的证明
  • 可以证明上面的方法会造成预估值有偏

WCE改进

  • 改进后的损失函数
    $$
    loss = \sum_i w_i y_ilog(p_i) + log(1-p_i)
    $$
  • 改进前方案是有偏的,修改为上面的损失函数后,\(pred = Odds = e^{\theta^{T}\boldsymbol{x}}\)是无偏的
  • 证明:
    • 假设在原始的CE损失函数下,正负样本的比例为A:B,此时有\(p = \frac{A}{A+B}\)【这里只是假设训练时遇到特征值完全相同的多个样本(有正有负),模型在遇到serving时遇到同一个特征值样本时,应该预估样本为正的概率为多少?】
      • 原始CE下,样本为正的概率就是正样本数/总样本数
    • 那么在上述加权的损失函数下,相当于正负样本的比例为\(wA:B+A\),此时有\(p’ = \frac{wA}{wA+B+A}\)
      • 因为权重被修改了,可以证明样本不变,增加权重等价于权重不变,增加样本(重复采样)
      • \(wA:B+A\)的原因是因为正样本被加了\(w\)倍的权重,而负样本则被增加了A个(原始的CE函数中正样本不会累加\(log(1-p)\)作为损失,但改进后的WCE会
    • 我们真实想要的预估值是:\(pred = wp = w * \frac{A}{A+B}\)
      • 可以表述为样本为正的概率乘以样本为正时的值(用户点击视频的概率*用户点击视频后观看的概率)
    • 经推导有:
      $$
      pred = e^{\theta^{T}\boldsymbol{x}} = \frac{p’}{1-p’} = \frac{\frac{wA}{wA+B+A}}{1-\frac{wA}{wA+B+A}} = w * \frac{A}{A+B} = wp
      $$
      • 注意,我们需要的是\(pred = wp\)而不是\(pred = wp’\)
        • 因为\(p’\)是被我们修改权重后得到的模型输出(均值)
      • 真实serving时,模型的输出值\(p’\)是不用的,只使用\(pred = e^{\theta^{T}\boldsymbol{x}}\)就可以了
      • 其他:
        • 对于原始CE,有:
          $$
          pred = e^{\theta^{T}\boldsymbol{x}} = \frac{p}{1-p} = \frac{\frac{A}{A+B}}{1-\frac{A}{A+B}} = \frac{A}{B} = \frac{p}{1-p}
          $$
        • 对于YouTube的WCE,有:
          $$
          pred = e^{\theta^{T}\boldsymbol{x}} = \frac{p’’}{1-p’’} = \frac{\frac{wA}{wA+B}}{1-\frac{wA}{wA+B}} = w * \frac{A}{B} \approx w * \frac{A}{A+B} = wp
          $$
          • 约等于符号成立的前提是正样本占比特别少,此时\(\frac{A}{B} \approx \frac{A}{A+B}\)
          • 也就是说,在正样本占比特别少时,使用YouTube的WCE也是没问题的,但是为了保证无偏,建议使用改进后的WCE

扩展问题

  • 在面对回归问题是,WCE相对MSE真的有提升吗?

其他

  • WCE也可以用于分类问题中,目的是让模型更关注某些特殊样本

其他参考链接