论文中排序模型的训练目标为视频点击率,记为:
p = P ( y = 1 ∣ x ) = 1 1 + e − θ T x p = P(y=1|x)=\frac{1}{1+e^{-\theta^Tx}} p=P(y=1∣x)=1+e−θTx1
模型上线后的预测值计算方法却是:
p r e d i c t = e θ T x predict = e^{\theta^Tx} predict=eθTx
其中 θ \theta θ表示模型的参数, x x x表示模型的特征( θ , x \theta,x θ,x实际是模型最后一层隐层参数和输入,当模型只有一层隐层时候,则是模型的全部参数和样本特征)。
简单解释一下预测值采用这种计算方式的原因。
l o g p 1 − p = θ T x log\frac{p}{1-p}=\theta^Tx log1−pp=θTx
得出
p r e d i c t = e θ T x = p 1 − p predict=e^{\theta^Tx}=\frac{p}{1-p} predict=eθTx=1−pp
可见Youtubed模型的在预测阶段输出的值实际上是正负概率比值,也就是所谓的Odd值。
目前为止可得出第一个结论,排序模型预测值为Odd:
p r e d i c t = O d d ( 1 ) predict=Odd \space\space\space\space\space\space\space\space(1) predict=Odd (1)
L o s s = − T i m e ∗ l a b e l ∗ l o g p − ( 1 − l a b e l ) l o g ( 1 − p ) Loss=-Time*label*logp - (1-label)log(1-p) Loss=−Time∗label∗logp−(1−label)log(1−p)
这种方式,相当于将当前正样本复制了Time次。
我们以具体的一个样本为例,例如样本特征为 x = X x=X x=X,其中 X X X表示某个具有具体取值的向量,我们将此类样本的总体记为 I = { ( y , x ) ∣ x = X } I=\{(y, x) | x=X\} I={(y,x)∣x=X}, 正例总体记为 I p o s i t i v e = { ( y , x ) ∣ y = 1 , x = X } I_{positive}=\{(y, x) |y=1, x=X\} Ipositive={(y,x)∣y=1,x=X}, 负例的总体 I n e g a t i v e = { ( y , x ) ∣ y = 0 , x = X } I_{negative}=\{(y, x) |y=0, x=X\} Inegative={(y,x)∣y=0,x=X}。
将训练样本中出现的此类样本的集合,也就是采样集合,记为 S = { ( y , x ) ∣ x = X } S=\{(y, x)| x = X\} S={(y,x)∣x=X}。正样本采样集合记为 S p o s i t i v e = { ( y , x ) ∣ y = 1 , x = X } S_{positive}=\{(y, x)|y=1,x=X\} Spositive={(y,x)∣y=1,x=X},集合的大小记为 m = ∣ S p o s i t i v e ∣ m=|S_{positive}| m=∣Spositive∣, 负样本采样集合记为 S n e g a t i v e = { ( y , x ) ∣ y = 0 , x = X } S_{negative}=\{(y,x)|y=0,x=X\} Snegative={(y,x)∣y=0,x=X},结合的大小记为 n = ∣ S n e g a t i v e ∣ n=|S_{negative}| n=∣Snegative∣。
类似地,将正样本复制Time次后此类样本的采样集合记为 S ′ = { ( y , x ) ∣ x = X } S'=\{(y,x)|x=X\} S′={(y,x)∣x=X},正样本采样集合记为 S p o s i t i v e ′ = { ( y , x ) ∣ y = 1 , x = X } S'_{positive}=\{(y,x)|y=1,x=X\} Spositive′={(y,x)∣y=1,x=X},负样本集合记为 S n e g a t i v e ′ = { ( y , x ) ∣ y = 10 , x = X } S'_{negative}=\{(y,x)|y=10,x=X\} Snegative′={(y,x)∣y=10,x=X}
将复制后采样集合对用的总体集合记为 I ′ = { ( y , x ) ∣ x = X } I'=\{(y,x)|x=X\} I′={(y,x)∣x=X},正样本总体记为 I p o s i t i v e ′ = { ( y , x ) ∣ y = 1 , x = X } I'_{positive}=\{(y,x)|y=1, x=X\} Ipositive′={(y,x)∣y=1,x=X},负样本总体记为 I n e g a t i v e ′ = { ( y , x ) ∣ y = 0 , x = X } I'_{negative}=\{(y,x)|y=0,x=X\} Inegative′={(y,x)∣y=0,x=X}。
假设训练数据采样比较充分,也就是满足$S\sim I, \space S’\sim I’。 $则有以下推导:
O d d I = ∣ I p o s i t i v e ∣ ∣ I n e g a t i v e ∣ ≈ O d d S = ∣ S p o s i t i v e ∣ ∣ S n e g a t i v e ∣ = m n Odd_I=\frac{|I_{positive}|}{|I_{negative}|}\approx Odd_S=\frac{|S_{positive}|}{|S_{negative}|}=\frac{m}{n} OddI=∣Inegative∣∣Ipositive∣≈OddS=∣Snegative∣∣Spositive∣=nm
O d d I ′ = I p o s i t i v e ′ I n e g a t i v e ′ ≈ O d d S ′ ∣ S p o s i t i v e ′ ∣ ∣ S n e g a t i v e ′ ∣ = T i m e ∗ ∣ S p o s i t i v e ∣ ∣ S n e g a t i v e ∣ = T i m e m n = T i m e m m + n − m = T i m e α 1 − α , α = m m + n Odd_{I'}=\frac{I'_{positive}}{I'_{negative}}\approx Odd_{S'}\frac{|S'_{positive}|}{|S'_{negative}|}=\frac{Time * |S_{positive}|}{|S_{negative}|}=Time\frac{m}{n}=Time\frac{m}{m+n-m}=Time\frac{\alpha}{1-\alpha},\alpha=\frac{m}{m+n} OddI′=Inegative′Ipositive′≈OddS′∣Snegative′∣∣Spositive′∣=∣Snegative∣Time∗∣Spositive∣=Timenm=Timem+n−mm=Time1−αα,α=m+nm
α = m m + n = P ( y = 1 ∣ x ∈ S ) ≈ P ( y = 1 ∣ x ∈ I ) = p \alpha=\frac{m}{m+n}=P(y=1|x\in S)\approx P(y=1|x\in I)=p α=m+nm=P(y=1∣x∈S)≈P(y=1∣x∈I)=p
目前为止,结合结论(1)可得出第二结论,Time Weighted Logitic模型预测目标为:
p r e d i c t = O d d I ′ = T i m e p 1 − p , p = P ( y = 1 ∣ x ∈ I ) ( 2 ) predict=Odd_{I'}=Time\frac{p}{1-p},p=P(y=1|x\in I)\space\space\space\space(2) predict=OddI′=Time1−pp,p=P(y=1∣x∈I) (2)
T i m e p 1 − p = T i m e ∗ p ∗ ( 1 + p + p 2 + p 3 + . . . ) = T i m e ∗ ( p + p 2 + . . . ) ≈ T i m e ∗ p , p ∈ ( 0 , 1 ) Time\frac{p}{1-p}=Time * p *(1+p+p^2+p^3+...)=Time*(p + p^2 + ...)\approx Time*p, p\in (0,1) Time1−pp=Time∗p∗(1+p+p2+p3+...)=Time∗(p+p2+...)≈Time∗p,p∈(0,1)
可以得出最后的结论:
p r e d i c t ≈ T i m e ∗ p = T i m e ∗ P ( y = 1 ∣ x ∈ I ) = E [ T i m e ; x ∈ I ] ( 3 ) predict\approx Time*p=Time*P(y=1|x\in I)=E[Time; x\in I]\space\space\space\space(3) predict≈Time∗p=Time∗P(y=1∣x∈I)=E[Time;x∈I] (3)
其中 p = P ( y = 1 ∣ x ∈ I ) p=P(y=1|x\in I) p=P(y=1∣x∈I), 也就是说预测值为总体集合 I I I上的播放时长的期望。