Изменения

Перейти к: навигация, поиск

Дополнение к ранжированию

1815 байт добавлено, 13:58, 10 апреля 2020
м
Supervised алгоритмы ранжирования
=== Ranking SVM ===
----
Алгоритм для попарного подхода к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно.
=== RankNet, LambdaRank ===
----
Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка.
[[Файл:LambdaRank.png|thumb|420px|LambdaRank с разными функционалами]]
<center><tex> w = w + \eta \frac{\sigma }{1 + e(\sigma \langle x_j - x_i,w\rangle)}\cdot |\Delta NDCD_{i,j}| \cdot (x_j - x_i) </tex></center>
Оптмизируется тем самым по функционалу NDCD.
 
=== SoftRank ===
----
'''SoftRank''' {{---}} списочный метод ранжирования, который предполагает использовать сглаживание для возможности диффиренцирования значения сложной метрики. ВСТАВИТЬ ССЫЛКИ
==== Постановка задачи ====
Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели:
<center><tex> p(d_i)=\mathbb{N}(d_i*|\overline{d_i}* \sigma^2_{d_i}) = \mathbb{N}(d_i*|a(w,x_i),\sigma^2_{d_i})</tex></center>
[[Файл: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>i-</tex>й документ окажется на позиции <tex>r</tex>.
Оценивается с помощью рекурсивного пересчета:
1. Вероятность оказаться на 1-м месте среди r
<tex> p^1_i(0) = </tex>
 
==== Подход ====
В основе стоит идея, чтобы
=== AdaRank ===
----
'''AdaRank''' {{---}} результат воплощения идеи о применении [[Бустинг, AdaBoost |бустинга]] для задачи [[Ранжирование |ранжирования]]. Как и прежде, отталкиваемся от предположения, что несколько сколь угодно лучших обычного гадания ранжирущих моделей могут дать ответ лучше, чем каждая из них.
Поскольку данный алгоритм, как и любой метод компоизиции, по сути своей является оберткой, чтобы построить коммитет, необходимо выбрать базовую модель и подобрать подходящую функцию потерь. В оригинальной работе AdaRank(ССЫЛКА) авторы строят коммитет как с [[Ранжирование |MAP]], так и с [[Ранжирование | DCG]]. Результаты сравнения производительностей отображены на соответсвующем рисунке. ==== Псевдокод ====Работа алгоритма может быть представлена следующим образом:
72
правки

Навигация