个人思考
-
paper:Deep Neural Networks for YouTube Recommendations - 2016
-
关于其中ranking model以weighted LR进行训练和直接将 e w x e^{wx} ewx做为时长预估输出。这里疑惑了很久,记录下自己的理解。
-
首先定义一个“观看时长率”的概念:
p ~ = ∑ T i ∑ T i + n n e g = ∑ T i N ~ (1) \widetilde{p}=\frac{\sum{T_i}}{\sum{T_i} + n_{neg}} =\frac{\sum{T_i}}{\widetilde{N}} \tag{1} p =∑Ti+nneg∑Ti=N ∑Ti(1)
本质上这个weighted LR学的是 p ~ \widetilde{p} p ,应该是一个“观看时长率”这么一个概念,注意这里的 N ~ \widetilde{N} N 其实是 ∑ T i + n n e g \sum{T_i} + n_{neg} ∑Ti+nneg,即加权样本和,而不是原始的样本数n,这里有一点绕。 -
从逻辑回归定义来讲,需要学习odds,定义odds:
o d d s = ∑ T i n n e g = ∑ T i N ~ − ∑ T i = ∑ T i N ~ 1 − ∑ T i N ~ = p ~ 1 − p ~ (2) odds=\frac{\sum{T_i}}{n_{neg}} =\frac{\sum{T_i}}{\widetilde{N}-\sum{T_i}} =\frac{\frac{\sum{T_i}}{\widetilde{N}}}{1-\frac{\sum{T_i}}{\widetilde{N}}} =\frac{\widetilde{p}}{1-\widetilde{p}} \tag{2} odds=nneg∑Ti=N −∑Ti∑Ti=1−N ∑TiN ∑Ti=1−p p (2) -
对odds进行转换:
o d d s = ∑ T i n n e g = ∑ T i n − n p o s = ∑ T i n n − n p o s n = E [ T ] 1 − p (3) odds=\frac{\sum{T_i}}{n_{neg}} =\frac{\sum{T_i}}{n-n_{pos}} =\frac{\frac{\sum{T_i}}{n}}{\frac{n-n_{pos}}{n}} =\frac{E[T]}{1-p} \tag{3} odds=nneg∑Ti=n−npos∑Ti=nn−nposn∑Ti=1−pE[T](3)
这里其实是对学的odds公式做了一个转换, n n e g = n − n p o s n_{neg} = n - n_{pos} nneg=n−npos,才有后续的计算。p是播放率。 -
对odds进行近似:
o d d s = E [ T ] 1 − p ≈ E [ T ] ( 1 + p ) ≈ E [ T ] , ( p < < 1 ) (4) odds= \frac{E[T]}{1-p} \approx E[T](1+p) \approx E[T],(p<<1) \tag{4} odds=1−pE[T]≈E[T](1+p)≈E[T],(p<<1)(4) -
跟宋博聊了下,这个地方的近似就是一个Taylor展开:
o d d s = E [ T ] 1 − p = E [ T ] ∗ 1 1 − p = E [ T ] ∗ ( 1 + p + p 2 + . . . ) ≈ E [ T ] , ( p < < 1 ) odds =\frac{E[T]}{1-p} =E[T]*\frac{1}{1-p} =E[T]*(1+p+p^2+...) \approx E[T],(p<<1) odds=1−pE[T]=E[T]∗1−p1=E[T]∗(1+p+p2+...)≈E[T],(p<<1) -
最后近似这个地方,paper是这个思路吗?感觉没有必要走 E [ T ] ( 1 + p ) E[T](1+p) E[T](1+p)这一步近似,前面除法那个公式在 p < < 1 p<<1 p<<1的时候照样可以进行近似的。
-
总体来讲,这个方法虽然真的很让人耳目一新,但 p < < 1 p<<1 p<<1这个假设太粗暴了吧,youtube App的视频播放率,起码得有20%?终究还是有一点强行近似的意思。
欢迎讨论指教。
参考
- 更新:看到这个朋友的解读跟我一样了:论文阅读:DNN for YouTube Recommendations
- 揭开YouTube深度推荐系统模型Serving之谜-王喆
针对王喆老师的解读,我觉得还是有些问题的。 - weighted—-LR的理解与推广