Youtube时长预估

Watch Time推导

论文中排序模型的训练目标为视频点击率,记为:

p = P ( y = 1 ∣ x ) = 1 1 + e − θ T x p = P(y=1|x)=\frac{1}{1+e^{-\theta^Tx}} p=P(y=1x)=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实际是模型最后一层隐层参数和输入,当模型只有一层隐层时候,则是模型的全部参数和样本特征)。

简单解释一下预测值采用这种计算方式的原因。

  • 首先Logit回归,是对样本正负概率比值 O d d Odd Odd的对数值用线性回归模型建模:

l o g p 1 − p = θ T x log\frac{p}{1-p}=\theta^Tx log1pp=θ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=1pp

可见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)

  • 第二,YouTube训练过程采用了播放时长做加权,也就是所谓的Weighted Logistic,模型训练的损失函数为:

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=Timelabellogp(1label)log(1p)

这种方式,相当于将当前正样本复制了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=InegativeIpositiveOddS=SnegativeSpositive=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=InegativeIpositiveOddSSnegativeSpositive=SnegativeTimeSpositive=Timenm=Timem+nmm=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=1xS)P(y=1xI)=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=Time1pp,p=P(y=1xI)    (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) Time1pp=Timep(1+p+p2+p3+...)=Time(p+p2+...)Timep,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) predictTimep=TimeP(y=1xI)=E[Time;xI]    (3)

其中 p = P ( y = 1 ∣ x ∈ I ) p=P(y=1|x\in I) p=P(y=1xI), 也就是说预测值为总体集合 I I I上的播放时长的期望。

你可能感兴趣的:(Youtube时长预估)