EM with CM

问题阐述

用户点击会容易受到位置偏向的影响,排序在前的结果更容易获得用户的点击。这就是position bias effect(位置偏见效应)。

为了剔除这种效应,我们的思路就是对点击偏向作一些惩罚,比如排在前列的结果被用户跳过了,将会比后面被跳过的结果降权更多。

解决方案

方案介绍

对于点击行为使用点击模型(user browsing model)预估其实际attractiveness分值。

原理推导

假设有三个事件:Cu=1Eu=1 and Au=1C_u = 1 \Leftrightarrow E_u = 1 \ and \ A_u = 1

那么对于点击的概率就可以进行分解:

P(Cu=1)=P(Eu=1)P(Au=1)P(Au=1)=αuqP(Eu=1)=γγu\begin{align} P(C_u = 1) &= P(E_u = 1)\cdot P(A_u = 1)\\ P(A_u = 1) &= \alpha_{uq}\\ P(E_u = 1) &= \gamma_{\gamma_u} \end{align}

目的就是使用P(Au=1)P(A_u = 1)进行排序。

我们使用user browsing model点击模型。

P(Cu=1)=P(Er=1; C<r)P(Au=1)P(Au=1)=αuqP(Er=1; C<r)=P(Er=1; Cγ=1,Cγ+1=0,...,Cγ1=0)=γγγγ=max{k{0,...,γ1}:ck=1}, c0=1\begin{align} P(C_u = 1) &= P(E_r = 1 ; \ \pmb{C}_{<r})\cdot P(A_u = 1)\\ P(A_u = 1) &= \alpha_{uq}\\ P(E_r = 1;\ \pmb{C}_{<r}) &= P(E_r = 1 ;\ C_{\gamma'}=1,C_{\gamma'+1}=0,...,C_{\gamma-1}=0) = \gamma_{\gamma\gamma'}\\ \\ \gamma' &= max\{k \in \{0,...,\gamma-1\}:c_k=1\}, \ c_0 = 1 \end{align}

利用EM算法对attractiveness进行推导,得到:

αuq(t+1)=1SuqsSuqP(Au=1 C)Suq={sq:usq}\begin{align} \alpha^{(t+1)}_{uq} &= \frac{1}{|S_{uq}|} \sum_{s \in S_{uq}} P(A_u = 1 |\ \pmb{C})\\ \\ S_{uq} &= \{s_q:u\in s_q\} \end{align}

其中P(Au=1 C)P(A_u = 1|\ \pmb{C})推导如下:

P(Au=1 C)=P(Au=1 Cu)=L(Cu=1)P(Au=1 Cu=1)+L(Cu=0)P(Au=1 Cu=0)=cu+(1cu)P(Cu=0 Au=1)P(Au=1)P(Cu=0)=cu+(1cu)(1γγγ)αuq1γγγαuqL(expr)={1if expr is true,0otherwise.\begin{align} P(A_u = 1|\ \pmb{C})&= P(A_u = 1 |\ C_u)\\ &= \mathcal{L}(C_u = 1)P(A_u = 1|\ C_u = 1) + \mathcal{L}(C_u =0)P(A_u = 1|\ C_u = 0)\\ &=c_u + (1-c_u)\frac{P(C_u=0|\ A_u = 1)\cdot P(A_u = 1)}{P(C_u =0)}\\ &=c_u + (1-c_u)\frac{(1-\gamma_{\gamma\gamma'}) \alpha_{uq}}{1-\gamma_{\gamma\gamma'} \alpha_{uq}}\\ \\ \mathcal{L}(expr)&= \begin{cases} 1 & \text{if expr is true,}\\ 0 & \text{otherwise.} \end{cases} \end{align}

因此最终结果为:

αuq(t+1)=1SuqsSuq(cu(s)+(1cu(s))(1γγγ(t))αuq(t)1γγγ(t)αuq(t))\begin{align} &\alpha^{(t+1)}_{uq} = \frac{1}{|S_{uq}|} \sum_{s \in S_{uq}} \biggl(c_u^{(s)} + (1-c_u^{(s)})\frac{(1-\gamma^{(t)}_{\gamma\gamma'}) \alpha^{(t)}_{uq}}{1-\gamma^{(t)}_{\gamma\gamma'} \alpha^{(t)}_{uq}}\biggr)\\ \end{align}

同理使用EM算法对examination进行推导,得到:

γγγ(t+1)=1SγγsSγγP(Er=1 C)Sγγ={s:cγ=1,cγ+1=0,...,cγ1=0}P(Er=1 C)=P(Er=1 Cu)=L(Cu=1)P(Er=1 Cu=1)+L(Cu=0)P(Er=1 Cu=0)=cu+(1cu)P(Cu=0 Er=1)P(Er=1)P(Cu=0)=cu+(1cu)(1αuq)γγγ1αuqγγγ\begin{align} \gamma^{(t+1)}_{\gamma\gamma'} &= \frac{1}{|S_{\gamma\gamma'}|} \sum_{s \in S_{\gamma\gamma'}} P(E_r = 1 |\ \pmb{C})\\ \\ S_{\gamma\gamma'} &= \{s:c_{\gamma'}=1,c_{\gamma'+1}=0,...,c_{\gamma-1}=0\}\\ \\ P(E_r = 1|\ \pmb{C})&= P(E_r = 1 |\ C_u)\\ &= \mathcal{L}(C_u = 1)P(E_r = 1|\ C_u = 1) + \mathcal{L}(C_u =0)P(E_r = 1|\ C_u = 0)\\ &=c_u + (1-c_u)\frac{P(C_u=0|\ E_r = 1)\cdot P(E_r = 1)}{P(C_u =0)}\\ &=c_u + (1-c_u)\frac{(1-\alpha_{uq}) \gamma_{\gamma\gamma'}}{1- \alpha_{uq} \gamma_{\gamma\gamma'}}\\ \end{align}

最终结果为

γγγ(t+1)=1SγγsSγγ(cu(s)+(1cu(s))(1αuq(t))γγγ(t)1αuq(t)γγγ(t))\begin{align} &\gamma^{(t+1)}_{\gamma\gamma'} = \frac{1}{|S_{\gamma\gamma'}|} \sum_{s \in S_{\gamma\gamma'}} \biggl(c_u^{(s)} + (1-c_u^{(s)})\frac{(1-\alpha^{(t)}_{uq}) \gamma^{(t)}_{\gamma\gamma'}}{1- \alpha^{(t)}_{uq} \gamma^{(t)}_{\gamma\gamma'}}\biggr)\\ \end{align}

EM算法

样本 x=(x(1),x(2),...x(m))x=(x^{(1)},x^{(2)},...x^{(m)}) ,对应的隐变量为 z=(z(1),z(2),...z(m))z=(z^{(1)},z^{(2)},...z^{(m)}),模型参数为 θθ , 则似然函数为 P(x(i),z(i);θ)P(x^{(i)},z^{(i)};\theta)

目的是找到合适的 θ\theta 让对数似然函数极大。

E步

i=1mlogP(x(i);θ)=i=1mlogz(i)P(x(i)z(i);θ)=i=1mlogz(i)Qi(z(i))P(x(i)z(i);θ)Qi(z(i))i=1mz(i)Qi(z(i))logP(x(i)z(i);θ)Qi(z(i))\begin{align} \sum\limits_{i=1}^m logP(x^{(i)};\theta) &= \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}P(x^{(i)}, z^{(i)};\theta)\\ & = \sum\limits_{i=1}^m log\sum\limits_{z^{(i)}}Q_i(z^{(i)})\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \\ & \geq \sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \end{align}

其中Qi(z(i))Q_i(z^{(i)})是引入的一个关于随机变量z(i)z^{(i)}的概率函数,满足z(i)Qi(z(i))=1\sum\limits_{z^{(i)}}Q_i(z^{(i)}) = 1

此处采用了Jensen不等式进行推导:

如果函数 ff 是凸函数, xx 是随机变量,假设有 0.5 的概率是 a,有 0.5 的概率是 b,那么: E[f(x)]f(E(x))E[f(x)] \ge f(E(x)) \\

特别地,如果函数 ff 是严格凸函数,当且仅当: p(x=E(x))=1p(x = E(x)) = 1 (即随机变量是常量) 时等号成立。

注:若函数 ff 是凹函数,Jensen不等式符号相反。

此处对数函数是凹函数:

log(E(y))E(log(y))log(E(y)) \ge E(log(y)) \\ 其中:

f: logf:\ log

E(y)=iλiyi,λi0,iλi=1E(y) = \sum\limits_i\lambda_iy_i, \lambda_i \geq 0, \sum\limits_i\lambda_i =1

yi=P(x(i)z(i);θ)Qi(z(i))y_i = \frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})}

λi=Qi(z(i))\lambda_i = Q_i(z^{(i)})

那么:E(logP(x(i)z(i);θ)Qi(z(i)))=z(i)Qi(z(i))logP(x(i)z(i);θ)Qi(z(i))E(log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})}) = \sum\limits_{z^{(i)}}Q_i(z^{(i)}) log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \\

此处设置了下界,又由于z(i)Qi(z(i))=1\sum\limits_{z^{(i)}}Q_i(z^{(i)}) = 1,因此这个下界可看成是logP(x(i)z(i);θ)Qi(z(i))log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})}的期望。就是所谓的Expectation。为了取得下界,需要先固定住θ\thetaJ如果不固定住此θ\theta,那么就无法得到固定值Qi(z)Q_i(z) 。然后寻找合适的 Qi(z)Q_i(z) 来使得等号相等。

由 Jensen 不等式可知,等式成立的条件是随机变量是常数,则有:P(x(i)z(i);θ)Qi(z(i))=c\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} =c \\ 其中 c 为常数,对于任意 ii,得到: P(x(i)z(i);θ)=cQi(z(i)){P(x^{(i)}, z^{(i)};\theta)} =c{Q_i(z^{(i)})} \\ 方程两边同时累加和: zP(x(i)z(i);θ)=czQi(z(i))\sum\limits_{z} {P(x^{(i)}, z^{(i)};\theta)} = c\sum\limits_{z} {Q_i(z^{(i)})} \\ 因此: zP(x(i)z(i);θ)=c\sum\limits_{z} {P(x^{(i)}, z^{(i)};\theta)} = c \\

Qi(z(i))=P(x(i)z(i);θ)c=P(x(i)z(i);θ)zP(x(i)z(i);θ)=P(x(i)z(i);θ)P(x(i);θ)=P(z(i)x(i);θ)Q_i(z^{(i)}) = \frac{P(x^{(i)}, z^{(i)};\theta)}{c} = \frac{P(x^{(i)}, z^{(i)};\theta)}{\sum\limits_{z}P(x^{(i)}, z^{(i)};\theta)} = \frac{P(x^{(i)}, z^{(i)};\theta)}{P(x^{(i)};\theta)} = P( z^{(i)}|x^{(i)};\theta) \\

Q(z)Q(z)是已知样本和模型参数下的隐变量分布。

M步

由上所述,需要极大化下式:argmaxθi=1mz(i)Qi(z(i))logP(x(i)z(i);θ)Qi(z(i))arg \max \limits_{\theta} \sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})log\frac{P(x^{(i)}, z^{(i)};\theta)}{Q_i(z^{(i)})} \\

这就是所谓的Maximization

固定 Qi(z(i))Q_i(z^{(i)}) 后,调整 θ\theta,去极大化logL(θ)logL(\theta)的下界。

去掉上式中常数的部分 Qi(z(i))Q_i(z^{(i)}) ,则需要极大化的对数似然下界为:argmaxθi=1mz(i)Qi(z(i))logP(x(i)z(i);θ)arg \max \limits_{\theta} \sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})log{P(x^{(i)}, z^{(i)};\theta)} \\

EM在点击模型中的应用

i=1mz(i)Qi(z(i))logP(x(i)z(i);θ)=i=1mEz(i)x(i);θ[logP(x(i)z(i);θ)]sSEXC(s);Ψ[logP(C(s),X;Ψ)]=sSEXC(s);Ψ[logcisP(Xci(s);Ψ)]=sSEXC(s);Ψ[cislogP(Xci(s);Ψ)]=sSEXC(s);Ψ[cislogP(Xci(s),P(Xci(s))=p)]=sSEXC(s);Ψ[cislog(P(Xci(s)P(Xci(s))=p)P(P(Xci(s))=p)]=sSEXC(s);Ψ[cis(L(Xci(s)=1,P(Xci(s))=p)log(θc)+L(Xci(s)=0,P(Xci(s))=p)log(1θc))+Z]\begin{align} &\sum\limits_{i=1}^m \sum\limits_{z^{(i)}}Q_i(z^{(i)})log{P(x^{(i)}, z^{(i)};\theta)}\\ &= \sum\limits_{i=1}^m E_{z^{(i)}|x^{(i)};\theta}[log{P(x^{(i)}, z^{(i)};\theta)}]\\ &\Rightarrow \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[log{P(\textbf{C}^{(s)},\textbf{X};\Psi)}]\\ &= \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[log{\prod_{c_{i} \in s}P(\textbf{X}_{c_i}^{(s)};\Psi)}]\\ &= \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[\sum_{c_{i} \in s} log{P(\textbf{X}_{c_i}^{(s)};\Psi)}]\\ &= \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[\sum_{c_{i} \in s} log{P(X_{c_i}^{(s)}, \mathcal{P}(X_{c_i}^{(s)})=\pmb{p})}]\\ &= \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[\sum_{c_{i} \in s} log({P(X_{c_i}^{(s)}| \mathcal{P}(X_{c_i}^{(s)})=\pmb{p})\cdot P(\mathcal{P}(X_{c_i}^{(s)})=\pmb{p})}]\\ &= \sum\limits_{s \in S} E_{\textbf{X}|\textbf{C}^{(s)};\Psi}[\sum_{c_{i} \in s}\biggl( \mathcal{L}(X_{c_i}^{(s)}=1, \mathcal{P}(X_{c_i}^{(s)})=\pmb{p}) log(\theta_c) + \mathcal{L}(X_{c_i}^{(s)}=0, \mathcal{P}(X_{c_i}^{(s)})=\pmb{p}) log(1-\theta_c) \biggl) + \mathcal{Z} ]\\ \end{align}

将上式记录为Q(θc)Q(\theta_c)。其中P(XP(X)=p)Bernoulli(θ)P(X|\mathcal{P}{(X)}=\pmb{p}) \backsim Bernoulli(\theta),因此对于点击行为c对应的参数为θc\theta_cZ\mathcal{Z}表示无关项。

对于每一个点击行为其相应的参数,都进行导数求导,令其为0。Q(θc)θc=0\frac{\partial{Q(\theta_c)}}{\partial{\theta_c}}=0

得到结果为:

θc(t+1)=sScisP(Xci(s)=1,P(Xci(s))=p)C(s);Ψ)sScisP(P(Xci(s))=p)C(s);Ψ)αuq(t+1)=sSuqP(Au=1,P(Au)=pC)sSuqP(P(Au)=pC)=sSuqP(Au=1 C)sSuq1γγγ(t+1)=sSγγP(Er=1,P(Er)=pC)sSγγP(P(Er)=pC)=sSγγP(Er=1 C)sSγγ1γγγ(t+1)=1SγγsSγγP(Er=1 C)\begin{align} \theta_{c}^{(t+1)} &= \frac{ \sum_{s\in S} \sum_{c_i\in s} P(X_{c_i}^{(s)}=1, \mathcal{P}(X_{c_i}^{(s)})=\pmb{p}) | \pmb{C}^{(s)};\Psi) }{\sum_{s\in S} \sum_{c_i\in s} P(\mathcal{P}(X_{c_i}^{(s)})=\pmb{p}) | \pmb{C}^{(s)};\Psi)}\\ \alpha^{(t+1)}_{uq} &= \frac{ \sum_{s\in S_{uq}} P(A_u = 1, \mathcal{P}(A_{u})=\pmb{p} | \pmb{C}) }{ \sum_{s\in S_{uq}} P(\mathcal{P}(A_{u})=\pmb{p} | \pmb{C}) }\\ &=\frac{ \sum_{s\in S_{uq}} P(A_u = 1 |\ \pmb{C}) }{ \sum_{s\in S_{uq}} 1 }\\ \gamma^{(t+1)}_{\gamma\gamma'} &= \frac{ \sum_{s\in S_{\gamma\gamma'}} P(E_r = 1, \mathcal{P}(E_r)=\pmb{p} | \pmb{C}) }{ \sum_{s\in S_{\gamma\gamma'}} P(\mathcal{P}(E_r)=\pmb{p} | \pmb{C}) }\\ &=\frac{ \sum_{s\in S_{\gamma\gamma'}} P(E_r = 1 |\ \pmb{C}) }{ \sum_{s\in S_{\gamma\gamma'}} 1 }\\ \gamma^{(t+1)}_{\gamma\gamma'} &= \frac{1}{|S_{\gamma\gamma'}|} \sum_{s \in S_{\gamma\gamma'}} P(E_r = 1 |\ \pmb{C})\\ \end{align}

对于实际场景下,每一个对话s中只有一个关于文档或位置的点击,因此省略cisc_i \in s的计算。额外参数ψ\psi可以去除。

对于AuA_u来说并没有父节点的约束,因此直接去除P(Au)\mathcal{P}(A_u)的影响。

对于ErE_r来说其父节点的约束为P(Er)=Cγ,...,Cγ1\mathcal{P}(E_r) = {C_{\gamma'},...,C_{\gamma-1}},对应的值为p=[1,0,...,0]\pmb{p}=[1,0,...,0],对于SγγS_{\gamma\gamma'}会话而言,因此P(Er)=p\mathcal{P}(E_r)=\pmb{p} ,因此P(P(Er)=pC)=1P(\mathcal{P}(E_r)=\pmb{p} | \pmb{C}) = 1,而对于其他会话而言,因此P(Er) p\mathcal{P}(E_r)\ \neq\pmb{p} ,因此P(P(Er)=pC)=0P(\mathcal{P}(E_r)=\pmb{p} | \pmb{C}) = 0

此外

P(Er=1,P(Er)=pC)=P(Er=1P(Er)=p,C)P(P(Er)=pC)=P(Er=1 C)\begin{align} &P(E_r = 1, \mathcal{P}(E_r)=\pmb{p} | \pmb{C})\\ =&P(E_r = 1|\mathcal{P}(E_r)=\pmb{p} , \pmb{C}) \cdot P(\mathcal{P}(E_r)=\pmb{p} | \pmb{C}) \\ =&P(E_r = 1 |\ \pmb{C}) \end{align}

贝叶斯平均

对于小曝光的数据进行贝叶斯平均

numeratordenominatornumerator+bayes_sumbayes_valuedenominator+bayes_sum\begin{align} &\frac{ numerator }{ denominator }\\ \Rightarrow & \frac{ numerator + bayes\_sum * bayes\_value }{ denominator + bayes\_sum}\\ \end{align}

Reference

Last updated

Was this helpful?