RankNet

来源:互联网 发布:迅游国际版 mac 编辑:程序博客网 时间:2024/06/05 23:05

RankNet


RankNet 论文的笔记。原文:
Learning to rank using gradient descent.

模型

  • 特征 xid
  • 模型函数:f:d

f(xi)>f(xj) 则表示模型预测 i 排在 j 前面: xixj

后验概率 Pij=P(xixj) 用如下形式:

Pij=11+eoijoijoiojoif(xi)

损失函数使用交叉熵的形式,并根据上面的定义变形为:

CijC(oij)=P¯ijlogPij(1P¯ij)log(1Pij)=P¯ijoij+log(1+eoij)

其中根据样本中两个 item 排序的在前、在后和同序关系,目标取值为:

P¯ij={1,0.5,0}

关于假设合理性的讨论

论文中已经证明上述模型假设的一致性、传递性。由于 oik=oioj+(ojok)=oij+ojk,则容易得到:

Pij=PijPjk1+2PijPjkPijPjk

  • 自洽性
    上式满足 0<Pij<1.

  • 传递性:
    在概率等于 p{0,0,5,1} 的时候,等号具有传递性:

    P(AB)=p,P(BC)=p,P(AC)=P

    P<0.5 时,小于号传递性:

    P(AB)=p,P(BC)=p,P(AC)<P

    0.5<P<1 时,大于号传递性:

    P(AB)=p,P(BC)=p,P(AC)>P

    以上的传递不限于两步,经过多步仍然满足。

优模型化

oi 的取值使用神经网络模型

oi=g3jw32jg2(kw21jkxk+b2j)+b3ig3i

其中 g3,g2,w32,w21,b2,b3 分别为第三、第二层激活函数,第三、第二层的权重、第二、第三层偏置。

定义一个 pair 样本的损失为 l(o2o1) (论文中用 f 表示,这里换成 l),则参数的梯度 αl=(αo2αo1)l。注意 αo2=αf(x2)

lb3=l(g3(x2)g3(x1))Δ32Δ31lw32i=Δ32g2i(x2)Δ31g2i(x1)lb2i=Δ32w32ig2i(x2)Δ31w32ig2i(x1)Δ22,iΔ21,ilw21ij=Δ22,ix2,jΔ21,ix1,j

所有参数都可以根据上面的梯度,用梯度下降法来优化。

0 0