RankNet

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

模型

  • 特征 \(\mathbf x_i \in \mathbb R^d\)
  • 模型函数:\(f: \mathbb R^d \to \mathbb R\)

\(f(\mathbf x_i) > f(\mathbf x_j)\) 则表示模型预测 i 排在 j 前面: \(\mathbf x_i \triangleright \mathbf x_j\)

后验概率 $ P_{ij} = P(\mathbf x_i \triangleright \mathbf x_j)$ 用如下形式:

\[ P_{ij} = \frac{1}{1 + e^{-o_{ij}}} \\ o_{ij} \equiv o_i - o_j \\ o_i \equiv f(\mathbf x_i) \]

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

\[ C_{ij} \equiv C(o_{ij}) = -\bar P_{ij} \log P_{ij} - (1 - \bar P_{ij}) \log (1-P_{ij}) \\ = -\bar P_{ij} o_{ij} + \log (1 + e^{o_{ij}}) \]

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

\[\bar P_{ij} = \{1, 0.5, 0\} \]

关于假设合理性的讨论

论文中已经证明上述模型假设的一致性、传递性。由于 \(o_{ik} = o_i - o_j + (o_j-o_k) = o_{ij} + o_{jk}\),则容易得到:

\[P_{ij} = \frac{P_{ij}P_{jk}}{1 + 2P_{ij}P_{jk}- P_{ij} - P_{jk}} \]

  • 自洽性
    上式满足 \(0 < P_{ij} < 1\).

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

    \[ P(A \triangleright B) = p, \quad P(B \triangleright C) = p, \\ \]

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

    \[ P(A \triangleright B) = p, \quad P(B \triangleright C) = p, \\ \]

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

    \[ P(A \triangleright B) = p, \quad P(B \triangleright C) = p, \\ \]

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

优模型化

\(o_i\) 的取值使用神经网络模型
[ o_i = g^3 \left( \sum_j w_j^{32} g^2 \left( \sum_k w^{21}_{jk} x_k + b^2_j \right) +b^3_i \right) \equiv g^3_i ]

其中 \(g^3, g^2, w^{32}, w^{21},b^2, b^3\) 分别为第三、第二层激活函数,第三、第二层的权重、第二、第三层偏置。

定义一个 pair 样本的损失为 $ l(o_2-o_1)$ (论文中用 \(f\) 表示,这里换成 \(l\)),则参数的梯度 \(\partial_\alpha l = (\partial_\alpha o_2 - \partial_\alpha o_1)l'\)。注意 \(\partial_\alpha o_2 = \partial_\alpha f(\mathbf x_2)\)

[ \frac{\partial l}{\partial b^3} = l'(g'^3(\mathbf x_2) - g'^3(\mathbf x_1)) \equiv \Delta^3_2 - \Delta^3_1\
\frac{\partial l}{\partial w^{32}i} = \Delta^3_2 g^2_i(\mathbf x_2) - \Delta^3_1 g^2_i(\mathbf x_1) \
\frac{\partial l}{\partial b^2_i} = \Delta^3_2 w^{32}i g'^2_i(\mathbf x_2) - \Delta^3_1 w^{32}i g'^2_i(\mathbf x_1) \equiv \Delta^2 - \Delta^2 \
\frac{\partial l}{\partial w^{21}
{ij}} = \Delta^2_{2,i} x_{2,j} - \Delta^2_{1,i} x_{1,j} \ ]

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

posted on 2015-09-28 23:49  bingoe  阅读(158)  评论(0编辑  收藏  举报

导航