Learning To Rank
Neural Sort
- Real-valued score : sss
- Permutation : z∈Znz \in Z_nz∈Zn
- Sort : $R_n\rightarrow Z_n $
- Permutation Matrix : Pz∈Rn×nP_z\in R^{n \times n}Pz∈Rn×n
Pz[i,j]={1if j=zi0otherwise\begin{equation} P_z[i,j] = \left\{ \begin{aligned} 1 & & if\space j = z_i \\ 0 & & otherwise \end{aligned} \right. \end{equation} Pz[i,j]={10if j=ziotherwise
- As[i,j]=∣si−sj∣A_s[i,j] = |s_i - s_j|As[i,j]=∣si−sj∣
- KaTeX parse error: {equation} can be used only in display mode.
- $\widehat{P}_{sort(s)}[i,:] = softmax[(n+1-2i)s - A_s\mathcal{1}] $
- L(s;θ)=f(P^sort(s);θ)\mathcal{L}(s;\theta) = f(\widehat{P}_{sort(s)};\theta)L(s;θ)=f(Psort(s);θ)
极大似然估计损失函数:
- L(s,z=[z1,z2,...,zn];θ)=f(P^sort(s),z=[z1,z2,...,zn])=−∑i=1nlog(P^sort(s)[i,zi])\mathcal{L}(s, z=[z_1,z_2,...,z_n];\theta) = f(\widehat{P}_{sort(s)}, z=[z_1,z_2,...,z_n]) = -\sum_{i=1}^n log(\widehat{P}_{sort(s)}[i, z_i])L(s,z=[z1,z2,...,zn];θ)=f(Psort(s),z=[z1,z2,...,zn])=−∑i=1nlog(Psort(s)[i,zi])
- 其中 zzz 为监督信号,例如用户的点击序列
Top K 最大化:
- L(s,w=[w1,w2,...,wn];θ)=f(P^sort(s),w=[w1,w2,...,wn])=−P^sort(s)[1:K,:]⋅wT\mathcal{L}(s, w=[w_1,w_2,...,w_n];\theta) = f(\widehat{P}_{sort(s)}, w=[w_1,w_2,...,w_n]) = -\widehat{P}_{sort(s)}[1:K, :] \cdot w^TL(s,w=[w1,w2,...,wn];θ)=f(Psort(s),w=[w1,w2,...,wn])=−Psort(s)[1:K,:]⋅wT
ListNet
Ps(π)=∏j=1nϕ(sπj)∑i=jnϕ(sπi)P_s(\pi) = \prod_{j=1}^n\frac{\phi(s_{\pi_{j}})}{\sum_{i=j}^n\phi(s_{\pi_{i}})}Ps(π)=j=1∏n∑i=jnϕ(sπi)ϕ(sπj)
Ps(j)=∑π(1)=j,π∈ΩnPs(π)P_s(j) = \sum_{\pi(1) = j,\pi\in \Omega_n} P_s(\pi)Ps(j)=π(1)=j,π∈Ωn∑Ps(π)
Ps(j)=ϕ(sj)∑k=1nϕ(sk)P_s(j) = \frac{\phi(s_j)}{\sum_{k=1}^n\phi(s_k)}Ps(j)=∑k=1nϕ(sk)ϕ(sj)
L(y(i),z(i))=−∑j=1nPy(i)(j)log(Pz(i)(j))L(y^{(i)},z^{(i)}) = -\sum_{j=1}^nP_{y^{(i)}}(j)log(P_{z^{(i)}}(j))L(y(i),z(i))=−j=1∑nPy(i)(j)log(Pz(i)(j))
PPD
- p(z∣s)=sz1∑i=1nsi⋅sz2∑i=1nsi−sz1⋅...⋅szn−1szn−1+sznp(z|s)= \frac{s_{z_1}}{\sum_{i=1}^n s_i}\cdot\frac{s_{z_2}}{\sum_{i=1}^n s_i - s_{z_1}}\cdot...\cdot\frac{s_{z_{n-1}}}{s_{z_{n-1}} + s_{z_n}}p(z∣s)=∑i=1nsisz1⋅∑i=1nsi−sz1sz2⋅...⋅szn−1+sznszn−1
- L=−log(p(z∣s))\mathcal{L} = -log(p(z|s))L=−log(p(z∣s))
BPR
LBPR:=lnP(Θ∣>u)\mathcal{L}_{BPR}:= lnP(\Theta|>_u)LBPR:=lnP(Θ∣>u)
=lnP(>u∣Θ)P(Θ)= lnP(>_u|\Theta)P(\Theta)=lnP(>u∣Θ)P(Θ)
=ln∏(u,i,j)∈Dsσ(x^uij)P(Θ)=ln\prod_{(u,i,j)\in D_s}\sigma(\hat{x}_{uij})P(\Theta)=ln(u,i,j)∈Ds∏σ(x^uij)P(Θ)
=∑(u,i,j)∈Dslnσ(x^uij)+lnP(Θ)=\sum_{(u,i,j)\in D_s}ln\sigma(\hat{x}_{uij}) + lnP(\Theta)=(u,i,j)∈Ds∑lnσ(x^uij)+lnP(Θ)
=∑(u,i,j)∈Dslnσ(x^ui−x^uj)−λΘ∣∣Θ∣∣2=\sum_{(u,i,j)\in D_s}ln\sigma(\hat{x}_{ui} - \hat{x}_{uj}) -\lambda_{\Theta}||\Theta||^2=(u,i,j)∈Ds∑lnσ(x^ui−x^uj)−λΘ∣∣Θ∣∣2
RankNet
Pij:=P(yi>yj)=σ(f(di)−f(dj)),L=−∑ij[Tijlog(σ(Pij))+(1−Tijlog(1−σ(Pij)))]P_{ij}:=P(y_i>y_j) = \sigma(f(d_i) - f(d_j)),L = -\sum_{ij}[T_{ij}log(\sigma(P_{ij}))+(1-T_{ij}log(1-\sigma(P_{ij})))]Pij:=P(yi>yj)=σ(f(di)−f(dj)),L=−ij∑[Tijlog(σ(Pij))+(1−Tijlog(1−σ(Pij)))]
FRANK
L=1−(TijPij+(1−Tij)(1−Pij))L = 1 - (\sqrt{T_{ij}P_{ij}} + \sqrt{(1-T_{ij})(1-P_{ij})})L=1−(TijPij+(1−Tij)(1−Pij))