Дополнение к ранжированию — различия между версиями
(→Подход) |
(→SoftRank) |
||
Строка 127: | Строка 127: | ||
Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели: | Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели: | ||
<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> | <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> | ||
− | [[Файл:SoftRank_F.png|thumb|520px|Сглаживание в SoftRank]] | + | {|align="center" |
+ | |-valign="top" | ||
+ | |[[Файл:SoftRank_F.png|thumb|520px|Сглаживание в SoftRank]] | ||
+ | |} | ||
Возможно оценить вероятность того, что некий документ <tex>d_i-</tex>й окажется выше <tex>j-</tex>го. | Возможно оценить вероятность того, что некий документ <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> | <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> | ||
Строка 143: | Строка 146: | ||
<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 /> | <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 /> | и т.д. <br /> | ||
− | [[Файл:SM_pr.png]] | + | [[Файл:SM_pr.png|thumb|520px|Рекурсивное вычисление]] |
Чтобы использовать метрику NDCG '''необходимо''' учесть математическое ожидание ассесорской оценки <tex>M[D(r_j)]</tex>, что уже дает гладкий функционал: | Чтобы использовать метрику 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>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{ | + | <center><tex>\Large {\frac{\delta \mathbb {G} }{\delta \overline{d_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{ | + | <tex>\displaystyle {\frac{\delta p_j(r) }{\delta \overline{d_m} } }</tex> вычислятся через <tex>\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{d_m}} }</tex>: |
− | <center><tex>\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{ | + | <center><tex>\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{d_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 === | === AdaRank === |
Версия 15:35, 10 апреля 2020
Содержание
Порядки
При рассмотрении различных ситуаций, связанных с извлечением экспертных знаний, возникает потребность каким-либо упорядочить все множество оценок, затрагивая уже понятие группового ранжирования. Положим, имеется конечное множество Χ объектов (например, экспертных оценок или критериев) и m экспертов, пронумерованных индексами 1,2... m. каждый i-й эксперт выставляет рейтинг, порождая порядок.
Слабое ранжирование.Представления
Слабое упорядовачивание
Определение: |
Бинарное отношение на множестве , которое является частично упорядоченным, называется слабым упорядочиванием (англ. weak ordering), если оно обладает следующими свойствами:
|
Рассмотрим случаи, определеяющее частичное упорядочение как:
- Сильное: и , те если ~ .
- Слабое: если , то и .
Можно заключить, что любое cильное упорядовачивание есть слабое. Отношение несравнимости является отношением эквивалентности для всех своих разбиений на множестве , что являются линейно упорядоченными.
Сильный подпорядок
Определение: |
Сильный подпорядок — такой подпорядок, на котором присутствует отношение связанности. |
Сильный подпорядок
обладает рядом следующих свойств:- Транзитивность: , если и .
- Связанности: выполнимо либо , либо .
Если в любом сильном подпорядке отношение эквивалентности. Поскольку операция определена для всех элементов, такие подпорядки еще называют отношением предпочтения.
и , то на нем определеноУпорядоченное разбиение
Сравнения
Вещественная функция
Удобство использования слабого ранжирования в том, что его элементы могут быть представленны единственным образом с помощью вещественных функций. Рассмотрим следующую теорему.
Теорема: |
Для любого частичного упорядовачивания слабое тогда и только тогда, когда существует и отображение если , то и наоборот. |
Таким образом, чтобы имели место быть:
- частичный подпорядок: для тогда и только тогда, когда .
- эквивалентность: для тогда и только тогда, когда .
Ограничения:
- - Лексикографические предпочтения
Хоть и на любом конечном множестве может определена ранжирующая функция, однако для случая лексикографического порядка функция не определена на
.
В случае, если быявлялась бы инъективной функцей, что класс эквивалентности двух элементов множества мог бы переходить в более широкий соответсвий класс на множестве .
Если навводятся ограничения, чтобы быть сюръективной функцией, то при отображении элементов некого класса на возможно соответсвие ему меньшего или вовсе пустого класса на .
Кусочная последовательность
Для любого конечного множества
, на котором задано отношение слабого упорядовачивания и , может быть применимо моделирование с помощью кусочных последовательностей. Рассмотрим пример. Положим, чтоТогда слабое ранжирование
представляется в виде следующего:
Сильное ранжирование
Supervised алгоритмы ранжирования
OC-SVM
Ordinal Classification SVM - алгоритм поточечного ранжирования, рассматривающий каждый объект обособленно. В основе стоит использования идеи метода опорных векторов о проведении разделяющей гиперплоскости над множеством оценок.
Постановка задачи
Пусть имеется некое число градаций (оценок, предпочтений) , тогда — ранжирующая функция с порогамиОсновное отличие от классического подхода в том, что на имеющееся
границ необходимо найти зазоров. Иными словами, необходимо найти один направляющий вектор числа гиперплоскостей. Исходим от предположения, что найдется такое направление, в котором объекты удовлетворительно отранжировались.Подход
Поскольку теперь увеличилось число зазоров, классического значения штрафа
недостаточно — необходимы штрафы и для нарушение с левой и правой сторон соответственно ой границы. Ограничительное условие для такого случая состоит в том, что произвольный объект , оказавшийся между разделяющими полосами, не должен выйти за их пределы ни слева, ни справа, что можно записать как:Для случая крайних границ, для объектов
может существовать только нарушение слева от границы, когда для объектов — только справа от границы. Таким образом, задача может быть сформирована как задача минимизации с ограничениями:Ranking SVM
Алгоритм для попарного подхода к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно.
Постановка задачи
Считаем, что теперь решаем следующую оптимизационную задачу:
Подход
Поскольку теперь все операции выполяняются уже для пары объектов, то строгая система ограничений будет отличаться в соответствующих местах:
RankNet, LambdaRank
Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка.
Постановка задачи
Считаем, что у нас есть некий гладкий функционал качества, который необходимо оптимизировать:
Конкретную функцию потерь в оригинальной работе выбирают как логистическую функцию потерь, те
масштабирующий параметр для пересчета значения отсупа в вероятностное значение.
Подход
Воспользовавшись методом стохастического градиентного спуска, выбираем на каждой
ой итерации случайным образом запрос и пару документов из запроса , получаем итеративную формулу вычисления весов:Чтобы перейти к использованию негладких функционалов MAP, NDCD, pFound необходимо домножить
на изменение данного функционала при перестановке местами и в каждой итерации. Это означает, как изменится веса модели, если в задаче ранжирования поменять местами два документа.LambdaRank моделирует следующий итеративный процесс:
Оптмизируется тем самым по функционалу NDCD.
SoftRank
SoftRank — списочный метод ранжирования, который предполагает использовать сглаживание для возможности диффиренцирования значения сложной метрики. ВСТАВИТЬ ССЫЛКИ
Постановка задачи
Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели:
Возможно оценить вероятность того, что некий документ
й окажется выше го.Теперь задача формулируется следующим образом: оценить вероятность того, что
й документ окажется на позиции .Подход
Вычисления происходят рекурсивно для каждого
. Оценить вероятность оказаться на r-м месте для 1 элемента:
. Тогда оказаться на 1-м и 2-м месте для двух документов:
. Для выборки из 3-х элементов, вероятность оказаться на первом месте:
и т.д.
Чтобы использовать метрику NDCG необходимо учесть математическое ожидание ассесорской оценки
, что уже дает гладкий функционал:Данное выражения уже возможно оптимизировать градиентом:
вычислятся через :
AdaRank
AdaRank — результат воплощения идеи о применении бустинга для задачи ранжирования. Как и прежде, отталкиваемся от предположения, что несколько сколь угодно лучших обычного гадания ранжирущих моделей могут дать ответ лучше, чем каждая из них.
Подход
Ключевая идея сохраняется: строим коммитет таким образом, чтобы он обращал свое внимание на неудачные результаты ранжирования прошлого коммитета:
Поскольку данный алгоритм, как и любой метод компоизиции, по сути своей является оберткой, чтобы построить коммитет, необходимо выбрать базовую модель и подобрать подходящую функцию потерь. В оригинальной работе AdaRank(ССЫЛКА) авторы строят коммитет как с MAP, так и с DCG. Результаты сравнения производительностей отображены на соответсвующем рисунке.