引言
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之谜