论文中提到了example age
用户对新鲜的视频有倾向性,但是推荐模型无法捕捉到这种倾向。比如训练数据是过去10.01-10-14两周的,有个视频是10.02出现的,那么这个视频可能在10.02播放了很多次,在10.14的时候播放次数已经很少了,但是推荐模型并无法感知到这个变化,倾向于预测10.02-10.14这段时间内这个视频的平均 ctr。为了解决这个问题,在训练期间为样本添加了example age的特征,让模型能捕捉到这个时间概念,在推理的时候这个特征会设置成0或者比较小的负数,表示现在是当前的时间。 论文提到了不同维度但是同类型的特征共享emb会比较好,比如target item和序列特征。 论文提到了用户对doc的交互信号比较重要,因为有比较强的泛化作用,比如对doc所属类目过去n天点击次数、最近一次点击距离今天的时间间隔,同时曝光未点击这种负反馈信号同样有用。 论文提到离散特征的维度可以用log(uniq的特征数量)来表示 论文提到对连续特征缩放到0-1比较好,可以使用分位数,其实就是等频分桶后用0,0.1,0.2,,,1这种分位数表示。并且提到把分位数x的x0.5和x 2也作为特征加进去可以更好的拟合次线性和超线性空间。 wce loss
期望对正样本(有点击)按照观看时长加权,负样本(无点击)不加权,那么最终可以用exp(x)来表示视频的观看时长预测值。
理解如下:
其实加权可以认为把观看时长为t的样本复制了t分,然后权重为1和负样本混合后训练。
假如一共N个样本,k个有点的样本,观看时长分别为t(i),可以那么认为有∑t(i)个正样本,N-k的负样本训练。在使用交叉熵loss的情况下,模型预测值p=1/(1+exp(-x))就是正样本的占比,因此有p=1/(1+exp(-x))=∑t(i)/(∑t(i)+N-k),注意这里p是复制正样本后的点击率,也就是exp(-x)=(N-k)/∑t(i)
odds的概念是正样本概率和负样本概率的比,也就是odds=p/(1-p)=1/(exp(-x))=exp(x)=∑t(i)/(N-k)=(∑t(i)/N)/(1-k/N),其中k/N是复制正样本前的点击率用P表示,那么odds=exp(x)=E(t)/(1-P)=E(t)(1+P)/((1-P^2)
因为P比较小,因此(1-P^2)接近1,所以exp(x)=E(t)(1+P)≈E(t),这就是论文里面用exp(x)来近似表示观看时长预估值的原因。
另外其实1/(1-P)的一阶泰勒展开也是1+P。