问题阐述
用户点击会容易受到位置偏向的影响,排序在前的结果更容易获得用户的点击。这就是position bias effect(位置偏见效应)。
为了剔除这种效应,我们的思路就是对点击偏向作一些惩罚,比如排在前列的结果被用户跳过了,将会比后面被跳过的结果降权更多。
解决方案
方案介绍
对于点击行为使用点击模型(user browsing model)预估其实际attractiveness分值。
原理推导
假设有三个事件:Cu=1⇔Eu=1 and Au=1
那么对于点击的概率就可以进行分解:
P(Cu=1)P(Au=1)P(Eu=1)=P(Eu=1)⋅P(Au=1)=αuq=γγu 目的就是使用P(Au=1)进行排序。
我们使用user browsing model点击模型。
P(Cu=1)P(Au=1)P(Er=1; C<r)γ′=P(Er=1; C<r)⋅P(Au=1)=αuq=P(Er=1; Cγ′=1,Cγ′+1=0,...,Cγ−1=0)=γγγ′=max{k∈{0,...,γ−1}:ck=1}, c0=1 利用EM算法对attractiveness进行推导,得到:
αuq(t+1)Suq=∣Suq∣1s∈Suq∑P(Au=1∣ C)={sq:u∈sq} 其中P(Au=1∣ C)推导如下:
P(Au=1∣ C)L(expr)=P(Au=1∣ Cu)=L(Cu=1)P(Au=1∣ Cu=1)+L(Cu=0)P(Au=1∣ Cu=0)=cu+(1−cu)P(Cu=0)P(Cu=0∣ Au=1)⋅P(Au=1)=cu+(1−cu)1−γγγ′αuq(1−γγγ′)αuq={10if expr is true,otherwise. 因此最终结果为:
αuq(t+1)=∣Suq∣1s∈Suq∑(cu(s)+(1−cu(s))1−γγγ′(t)αuq(t)(1−γγγ′(t))αuq(t)) 同理使用EM算法对examination进行推导,得到:
γγγ′(t+1)Sγγ′P(Er=1∣ C)=∣Sγγ′∣1s∈Sγγ′∑P(Er=1∣ C)={s:cγ′=1,cγ′+1=0,...,cγ−1=0}=P(Er=1∣ Cu)=L(Cu=1)P(Er=1∣ Cu=1)+L(Cu=0)P(Er=1∣ Cu=0)=cu+(1−cu)P(Cu=0)P(Cu=0∣ Er=1)⋅P(Er=1)=cu+(1−cu)1−αuqγγγ′(1−αuq)γγγ′ 最终结果为
γγγ′(t+1)=∣Sγγ′∣1s∈Sγγ′∑(cu(s)+(1−cu(s))1−αuq(t)γγγ′(t)(1−αuq(t))γγγ′(t)) EM算法
样本 x=(x(1),x(2),...x(m)) ,对应的隐变量为 z=(z(1),z(2),...z(m)),模型参数为 θ , 则似然函数为 P(x(i),z(i);θ) 。
目的是找到合适的 θ 让对数似然函数极大。
E步
i=1∑mlogP(x(i);θ)=i=1∑mlogz(i)∑P(x(i),z(i);θ)=i=1∑mlogz(i)∑Qi(z(i))Qi(z(i))P(x(i),z(i);θ)≥i=1∑mz(i)∑Qi(z(i))logQi(z(i))P(x(i),z(i);θ) 其中Qi(z(i))是引入的一个关于随机变量z(i)的概率函数,满足z(i)∑Qi(z(i))=1
此处采用了Jensen不等式进行推导:
如果函数 f 是凸函数, x 是随机变量,假设有 0.5 的概率是 a,有 0.5 的概率是 b,那么: E[f(x)]≥f(E(x))
特别地,如果函数 f 是严格凸函数,当且仅当: p(x=E(x))=1 (即随机变量是常量) 时等号成立。
注:若函数 f 是凹函数,Jensen不等式符号相反。
此处对数函数是凹函数:
log(E(y))≥E(log(y)) 其中:
f: log
E(y)=i∑λiyi,λi≥0,i∑λi=1
yi=Qi(z(i))P(x(i),z(i);θ)
λi=Qi(z(i))
那么:E(logQi(z(i))P(x(i),z(i);θ))=z(i)∑Qi(z(i))logQi(z(i))P(x(i),z(i);θ)
此处设置了下界,又由于z(i)∑Qi(z(i))=1,因此这个下界可看成是logQi(z(i))P(x(i),z(i);θ)的期望。就是所谓的Expectation。为了取得下界,需要先固定住θ,J如果不固定住此θ,那么就无法得到固定值Qi(z) 。然后寻找合适的 Qi(z) 来使得等号相等。
由 Jensen 不等式可知,等式成立的条件是随机变量是常数,则有:Qi(z(i))P(x(i),z(i);θ)=c 其中 c 为常数,对于任意 i,得到: P(x(i),z(i);θ)=cQi(z(i)) 方程两边同时累加和: z∑P(x(i),z(i);θ)=cz∑Qi(z(i)) 因此: z∑P(x(i),z(i);θ)=c
Qi(z(i))=cP(x(i),z(i);θ)=z∑P(x(i),z(i);θ)P(x(i),z(i);θ)=P(x(i);θ)P(x(i),z(i);θ)=P(z(i)∣x(i);θ)
Q(z)是已知样本和模型参数下的隐变量分布。
M步
由上所述,需要极大化下式:argθmaxi=1∑mz(i)∑Qi(z(i))logQi(z(i))P(x(i),z(i);θ)
这就是所谓的Maximization 。
固定 Qi(z(i)) 后,调整 θ,去极大化logL(θ)的下界。
去掉上式中常数的部分 Qi(z(i)) ,则需要极大化的对数似然下界为:argθmaxi=1∑mz(i)∑Qi(z(i))logP(x(i),z(i);θ)
EM在点击模型中的应用
i=1∑mz(i)∑Qi(z(i))logP(x(i),z(i);θ)=i=1∑mEz(i)∣x(i);θ[logP(x(i),z(i);θ)]⇒s∈S∑EX∣C(s);Ψ[logP(C(s),X;Ψ)]=s∈S∑EX∣C(s);Ψ[logci∈s∏P(Xci(s);Ψ)]=s∈S∑EX∣C(s);Ψ[ci∈s∑logP(Xci(s);Ψ)]=s∈S∑EX∣C(s);Ψ[ci∈s∑logP(Xci(s),P(Xci(s))=p)]=s∈S∑EX∣C(s);Ψ[ci∈s∑log(P(Xci(s)∣P(Xci(s))=p)⋅P(P(Xci(s))=p)]=s∈S∑EX∣C(s);Ψ[ci∈s∑(L(Xci(s)=1,P(Xci(s))=p)log(θc)+L(Xci(s)=0,P(Xci(s))=p)log(1−θc))+Z] 将上式记录为Q(θc)。其中P(X∣P(X)=p)∽Bernoulli(θ),因此对于点击行为c对应的参数为θc,Z表示无关项。
对于每一个点击行为其相应的参数,都进行导数求导,令其为0。∂θc∂Q(θc)=0
得到结果为:
θc(t+1)αuq(t+1)γγγ′(t+1)γγγ′(t+1)=∑s∈S∑ci∈sP(P(Xci(s))=p)∣C(s);Ψ)∑s∈S∑ci∈sP(Xci(s)=1,P(Xci(s))=p)∣C(s);Ψ)=∑s∈SuqP(P(Au)=p∣C)∑s∈SuqP(Au=1,P(Au)=p∣C)=∑s∈Suq1∑s∈SuqP(Au=1∣ C)=∑s∈Sγγ′P(P(Er)=p∣C)∑s∈Sγγ′P(Er=1,P(Er)=p∣C)=∑s∈Sγγ′1∑s∈Sγγ′P(Er=1∣ C)=∣Sγγ′∣1s∈Sγγ′∑P(Er=1∣ C) 对于实际场景下,每一个对话s中只有一个关于文档或位置的点击,因此省略ci∈s的计算。额外参数ψ可以去除。
对于Au来说并没有父节点的约束,因此直接去除P(Au)的影响。
对于Er来说其父节点的约束为P(Er)=Cγ′,...,Cγ−1,对应的值为p=[1,0,...,0],对于Sγγ′会话而言,因此P(Er)=p ,因此P(P(Er)=p∣C)=1,而对于其他会话而言,因此P(Er) =p ,因此P(P(Er)=p∣C)=0。
此外
==P(Er=1,P(Er)=p∣C)P(Er=1∣P(Er)=p,C)⋅P(P(Er)=p∣C)P(Er=1∣ C) 贝叶斯平均
对于小曝光的数据进行贝叶斯平均
⇒denominatornumeratordenominator+bayes_sumnumerator+bayes_sum∗bayes_value Reference