zoukankan      html  css  js  c++  java
  • Weighted LR

    在推荐系统中,我们常常需要用用户的观看时长作为目标来进行建模,那么如何训练一个模型来预估模型的用户的播放时长呢?

    很容易想到把播放时长的预估问题作为一个回归问题,但是回归问题没有分类问题这么好预测。那么如何用分类的方法来解决这个问题呢,答案就是使用Weighted LR

    先看一下一件事情发生的几率(Odds)的定义(时间发生的概率比上不发生的概率):

    如果对Odds取自然对数,再让ln(Odds)等于一个线性回归函数,那么就得到了下面的等式:

    其中logit(p/(1-p))就是大名鼎鼎的logit函数,logistics regression又名logit regression,上面的式子就是逻辑回归的由来。我们再做进一步运算,就可以转变成我们熟悉的逻辑回归的形式:

    [公式]

    所以,LR其实就是事情发生的对数几率的回归模型

    在这里,我们把观看时常作为样本的权重(负样本权重为1)加入到上面公式中,可以得到:

    由于在视频推荐场景中,用户打开一个视频的概率p往往是一个很小的值,因此上式可以继续简化:

    [公式]

    这样,加权后的对数几率预测的就是观看时长的期望

    因此,YouTube采用[公式] 这一指数形式预测的就是曝光这个视频时,用户观看这个视频的时长的期望!利用该指标排序后再进行推荐,是完全符合YouTube的推荐场景和以观看时长为优化目标的设定的

    训练Weighted LR一般来说有两种办法:

      1. 将正样本按照weight做重复sampling,然后输入模型进行训练;
      2. 在训练的梯度下降过程中,通过改变梯度的weight来得到Weighted LR。

    总结和思考

    参考[Youtube] Deep Neural Networks for YouTube Recommendations (Youtube 2016)这篇论文中的图

     可以看到,训练时,还是当成一个二分类问题来训练就可以了

    serving时,计算[公式]就是观看时常的预估值,完美的把一个回归任务转换成了一个分类任务

    疑问

    1. 正负样本是如何划分的?

    参考资料

    https://zhuanlan.zhihu.com/p/61827629

    https://www.cnblogs.com/hellojamest/p/11871108.html

  • 相关阅读:
    安装MSSQL2008出现的问题记录
    制作安装包遇到的问题
    算法设计方法动态规划
    基础果然要牢记(一次失败的电面)
    搜狗垂搜笔试
    几种堆的时间复杂度分析
    正则表达式转NFA
    组合数学(1)
    算法设计方法贪心算法
    最短路径问题
  • 原文地址:https://www.cnblogs.com/xumaomao/p/15207305.html
Copyright © 2011-2022 走看看