72
правки
Изменения
→SoftRank
Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели:
<center><tex> p(d_i)=\mathbb{N}(d_i|\overline{d_i}\cdot \sigma^2_{d_i}) = \mathbb{N}(d_i |a(w,x_i),\cdot \sigma^2_{d_i})</tex></center>
{|align="center" |-valign="top" |[[Файл:SoftRank_F.png|thumb|520px|Сглаживание в SoftRank]] |}
Возможно оценить вероятность того, что некий документ <tex>d_i-</tex>й окажется выше <tex>j-</tex>го.
<center><tex>\pi_{i,j}\equiv P(d_i-d_j > 0) = \int\limits_0^\infty \mathbb{N}(d | \overline{d_i} - \overline{d_j}, 2 \sigma^2_{d_i})ds </tex></center>
<tex> p_j^3(1)=p_j^2(0)\cdot \pi_{2,j} + p_j^{i-1}(1)\cdot (1- \pi_{2,j}) </tex> <br />
и т.д. <br />
[[Файл:SM_pr.png|thumb|520px|Рекурсивное вычисление]]
Чтобы использовать метрику NDCG '''необходимо''' учесть математическое ожидание ассесорской оценки <tex>M[D(r_j)]</tex>, что уже дает гладкий функционал:
<center><tex>SoftNDCG=G_{max}^{-1}\cdot \sum_{i=1}^N g(l_i) \sum_{r=0}^{N-1}D(r_j)p_j(r)</tex></center>
Данное выражения уже возможно оптимизировать градиентом:
<center><tex>\Large {\frac{\delta \mathbb {G} }{\delta \overline{d_id_m}} =G_{max}^{-1}\cdot \sum_{i=1}^N g(l_i) \sum_{r=0}^{N-1}D(r_j)\frac{\delta p_j(r) }{\delta \overline{d_i} } } </tex></center><tex>\displaystyle {\frac{\delta p_j(r) }{\delta \overline{d_id_m} } }</tex> вычислятся через <tex>\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{d_id_m}} }</tex>:
<center><tex>\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{d_id_m}} } = \begin{cases} \mathbb{N}(0 | \overline{d_m} - \overline{d_j}, 2 \sigma^2_{d_s}) \; m =i, m \ne j \\ \mathbb{N}(0 | \overline{d_i} - \overline{d_m}, 2 \sigma^2_{d_s}) \; m \ne i, m = j \\ 0 \; m \ne i, m \ne j \end{cases} </tex></center>
=== AdaRank ===