YouTubeDNN排序模型为什么预测的是观看时长?

引言

YouTubeDNN的排序模型在训练和推理阶段的目标是存在差异的,一个是输出加权LR,一个是输出幂,哪一个和宣称的用于预期观看时长都是不一致的,理论而言应该直接输出标量预测值比较合适。本文将尽量简单的介绍为什么这样做是合理的。

推导

推理阶段的输出是?

首先我们知道LR的输出是:
p = 1 1 + e w x + b p=\frac{1}{1+e^{wx+b}} p=1+ewx+b1

代指了我们要预测的概率输出值,而根据数学推导有:
e w x + b = p 1 − p e^{wx+b}=\frac{p}{1-p} ewx+b=1−pp

那么如果模型训练的足够好的话,那么推理阶段的输出应当为 p 1 − p \frac{p}{1-p} 1−pp(标准称呼为 O d d s Odds Odds),也就是两个概率的比值,那么接下来只需要证明这两个概率的比值有观看时长的意义即可。

加权LR

实际YouTubeDNN使用的weighted LR, 加权的意义是说当模型接收了正点击样本的输入时,输出 p p p是加权点击率而非普通的点击率。普通点击率计算公式为所有展示样本中,用户点击的频次:
p ′ = k N p'=\frac{k}{N} p′=Nk

而加权点击率计算公式,总的观看时长除以分母,为:
p = ∑ i ∈ 点击 T i ∑ i ∈ 点击 T i + ( N − k ) p=\frac{\sum_{i\in 点击}T_i}{\sum_{i\in 点击}T_i+(N-k)} p=∑i∈点击Ti+(N−k)∑i∈点击Ti

令总观看时长为 T T T,那么化简可以得到:
p 1 − p = T N − k = T N ∗ 1 1 − k N = E ( T i ) 1 − p ′ \frac{p}{1-p}=\frac{T}{N-k}=\frac{T}{N}*\frac{1}{1-\frac{k}{N}}=\frac{E(T_i)}{1-p'} 1−pp=N−kT=NT∗1−Nk1=1−p′E(Ti)

又用户点击的频次非常少,分母约等于0,所以 p 1 − p ≈ E ( T i ) \frac{p}{1-p}\approx E(T_i) 1−pp≈E(Ti)。

那么 e w x + b = E ( T i ) e^{wx+b}=E(T_i) ewx+b=E(Ti)

参考

经典推荐算法学习(十)| Youtube DNN serving目标解析 | 从odds到Logit 、Logistic Regression
揭开YouTube深度推荐系统模型Serving之谜

相关推荐
Work(沉淀版)4 小时前
DAY 40
人工智能·深度学习·机器学习
拾忆-eleven5 小时前
NLP学习路线图(二十六):自注意力机制
人工智能·深度学习
MYH5166 小时前
在NLP文本处理中,将字符映射到阿拉伯数字(构建词汇表vocab)的核心目的和意义
人工智能·深度学习·自然语言处理
程序员的世界你不懂6 小时前
Appium+python自动化(八)- 认识Appium- 下章
python·appium·自动化
恸流失6 小时前
DJango项目
后端·python·django
Julyyyyyyyyyyy7 小时前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
蓝婷儿8 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
love530love8 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
狂小虎8 小时前
02 Deep learning神经网络的编程基础 逻辑回归--吴恩达
深度学习·神经网络·逻辑回归
水银嘻嘻9 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化