Дополнение к ранжированию — различия между версиями
м (→Сильный подпорядок) |
м (rollbackEdits.php mass rollback) |
||
(не показано 28 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
При рассмотрении различных ситуаций, связанных с извлечением экспертных знаний, возникает потребность каким-либо упорядочить все множество оценок, затрагивая уже понятие группового ранжирования. | При рассмотрении различных ситуаций, связанных с извлечением экспертных знаний, возникает потребность каким-либо упорядочить все множество оценок, затрагивая уже понятие группового ранжирования. | ||
− | Положим, имеется конечное множество | + | Положим, имеется конечное множество <tex>X</tex> объектов (например, экспертных оценок или критериев) и <tex>m</tex> экспертов, пронумерованных индексами <tex>1,2... m</tex>. Каждый <tex>i-</tex>й эксперт выставляет рейтинг, порождая порядок. Подобные тип задач в машинном обучении обозначается как ранжирование. <br \> |
+ | '''Ранжирование''' (англ. ''learning to rank'') {{---}} особый тип задач [[Машинное обучение |машиного обучения ]], связанный с постороением некой ранжирующей модели по обучащей выборке. Отличие от классификации и регрессии состоит в том, что для обучающей выборки не заданы ответы, однако задано [[Отношение порядка |отношение порядка]] для пары объектов. Стоит отметить, что от отношения порядка на множестве объектов изменяется и подход к ранжированию. | ||
+ | |||
== Слабое ранжирование.Представления == | == Слабое ранжирование.Представления == | ||
Строка 19: | Строка 20: | ||
Рассмотрим случаи, определеяющее частичное упорядочение как: | Рассмотрим случаи, определеяющее частичное упорядочение как: | ||
* Сильное: <tex>\forall a, b \in X:</tex> <tex>a < b</tex> и <tex>b < a</tex>, то есть если ~ <tex>\emptyset</tex>. | * Сильное: <tex>\forall a, b \in X:</tex> <tex>a < b</tex> и <tex>b < a</tex>, то есть если ~ <tex>\emptyset</tex>. | ||
− | * Слабое: <tex>\forall a, b, c \in X:</tex> если <tex>a\sim b\sim c</tex>, то <tex>a\sim b</tex> и <tex>a=c</tex>. | + | * Слабое<ref>[https://www.sciencedirect.com/science/article/pii/0012365X85900421 Interval graphs and interval orders]</ref>: <tex>\forall a, b, c \in X:</tex> если <tex>a\sim b\sim c</tex>, то <tex>a\sim b</tex> и <tex>a=c</tex>. |
Можно заключить, что любое cильное упорядовачивание есть слабое. | Можно заключить, что любое cильное упорядовачивание есть слабое. | ||
Отношение несравнимости является [[Отношение эквивалентности |отношением эквивалентности]] для всех своих разбиений на множестве <tex>X</tex>, что являются [[Упорядоченное множество |линейно упорядоченными]]. | Отношение несравнимости является [[Отношение эквивалентности |отношением эквивалентности]] для всех своих разбиений на множестве <tex>X</tex>, что являются [[Упорядоченное множество |линейно упорядоченными]]. | ||
Строка 31: | Строка 32: | ||
* [[Отношение связности, компоненты связности |Связанности]]: <tex>\forall a, b \in X:</tex> выполнимо либо <tex>a≤b</tex>, либо <tex>b≤a</tex>. | * [[Отношение связности, компоненты связности |Связанности]]: <tex>\forall a, b \in X:</tex> выполнимо либо <tex>a≤b</tex>, либо <tex>b≤a</tex>. | ||
Если в любом сильном подпорядке <tex>\exists a,b : a≤b</tex> и <tex>b≤a</tex>, то на нем определено [[Отношение эквивалентности |отношение эквивалентности]]. | Если в любом сильном подпорядке <tex>\exists a,b : a≤b</tex> и <tex>b≤a</tex>, то на нем определено [[Отношение эквивалентности |отношение эквивалентности]]. | ||
− | Поскольку операция определена для всех элементов, такие подпорядки еще называют '''отношением предпочтения'''. | + | Поскольку операция определена для всех элементов, такие подпорядки еще называют '''отношением предпочтения'''<ref>[https://eml.berkeley.edu/~webfac/saez/e131_s04/prefer.pdf Preference Relations, Social Decision Rules, Single-Peakedness, and Social Welfare Functions]</ref>. |
=== Сравнения === | === Сравнения === | ||
− | ====== | + | ====== Вещественная функция ====== |
− | Удобство использования слабого ранжирования в том, что его элементы могут быть | + | Удобство использования слабого ранжирования в том, что его элементы могут быть представлены единственным образом с помощью вещественных функций. Рассмотрим следующую теорему. |
− | {{Теорема|о слабом | + | {{Теорема|о слабом упорядочивании |
|statement= | |statement= | ||
− | Для любого частичного | + | Для любого частичного упорядочивания <tex><\in X\times X</tex> '''слабое''' ''тогда и только тогда'', когда существует <tex><_t\in Y\times Y</tex> и отображение <tex> u: X \rightarrow Y :</tex> если <tex>a<b</tex>, то <tex>u(a) <_t u(b)</tex> и наоборот. |
}} | }} | ||
Таким образом, чтобы имели место быть: | Таким образом, чтобы имели место быть: | ||
Строка 44: | Строка 45: | ||
* '''эквивалентность''': для <tex>a \sim b</tex> ''тогда и только тогда'', когда <tex>u(a)=u(b)</tex>. | * '''эквивалентность''': для <tex>a \sim b</tex> ''тогда и только тогда'', когда <tex>u(a)=u(b)</tex>. | ||
− | Ограничения: | + | ''Ограничения'': <br \> |
− | + | Лексикографические предпочтения. Ранжирующая функция может быть определена на любом конечном множестве, однако для случая лексикографического порядка функция не определена на <tex>R^n</tex>. <br \> | |
− | + | [[Отображения |Инъективность]]. В случае, если бы <tex>u</tex> являлась бы инъективной функцией, то класс эквивалентности двух элементов множества <tex>Y</tex> мог бы переходить в более широкий соответствующий класс на множестве <tex>X</tex>. <br \> | |
− | + | [[Отображения |Сюрьективность]]. Если на <tex>u</tex> вводятся ограничения, чтобы быть сюръективной функцией, то при отображении элементов некого класса на <tex>Y</tex> возможно соответствие ему меньшего или вовсе пустого класса на <tex>X</tex>. | |
− | |||
− | |||
− | |||
− | ====== | + | ====== Кусочная последовательность ====== |
Для любого конечного множества <tex>X</tex>, на котором задано отношение слабого упорядовачивания и <tex>\exists u: X \rightarrow Y </tex>, может быть применимо моделирование с помощью кусочных последовательностей. | Для любого конечного множества <tex>X</tex>, на котором задано отношение слабого упорядовачивания и <tex>\exists u: X \rightarrow Y </tex>, может быть применимо моделирование с помощью кусочных последовательностей. | ||
Рассмотрим пример. Положим, что | Рассмотрим пример. Положим, что | ||
Строка 62: | Строка 60: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | [[Бинарное отношение]] <tex><</tex> на множестве <tex>X | + | [[Бинарное отношение]] <tex><</tex> на множестве <tex>X \times X</tex>, для некоторых элементов которого определена несравнимость <tex>\sim</tex>,называется '''частичным упорядочиванием''' (англ. ''semiorder''), если оно обладает следующими свойствами: |
* [[Рефлексивное отношение|Иррефлексивность]] (англ. ''irreflexivity''): <tex>\forall a \in X:</tex><tex>a \sim a</tex>. | * [[Рефлексивное отношение|Иррефлексивность]] (англ. ''irreflexivity''): <tex>\forall a \in X:</tex><tex>a \sim a</tex>. | ||
* [[Симметричное отношение|Ассиметричность]] (англ. ''asymmetry''): <tex>\forall a, b \in X:</tex> если <tex>a < b</tex>, то не <tex> b < a </tex>. | * [[Симметричное отношение|Ассиметричность]] (англ. ''asymmetry''): <tex>\forall a, b \in X:</tex> если <tex>a < b</tex>, то не <tex> b < a </tex>. | ||
Строка 70: | Строка 68: | ||
}} | }} | ||
=== Сравнения === | === Сравнения === | ||
− | ====== | + | ====== Вещественная функция ====== |
− | Частичное ранжирование поддается тому же функциональному подходу к сравнению за тем лишь исключением, что для численных значений объектов вводится некоторая погрешность <tex>\xi</tex>, внутри которой объекты считаются сравнимы, снаружи - нет. Зачастую такую погрешность выбирают нормированной к 1. | + | Частичное ранжирование поддается тому же функциональному подходу к сравнению за тем лишь исключением, что для численных значений объектов вводится некоторая погрешность <tex>\xi</tex>, внутри которой объекты считаются сравнимы, снаружи - нет. Зачастую такую погрешность выбирают нормированной к <tex>1</tex>. |
{{Теорема|о частичном упорядочивании | {{Теорема|о частичном упорядочивании | ||
|statement= | |statement= | ||
− | Для любого конечного частичного упорядочиванием <tex><\in | + | Для любого конечного частичного упорядочиванием <tex><\in X\times X</tex> возможно определить такое <tex>\xi</tex> и функционал <tex> u: X \rightarrow Y :</tex> если <tex>a<b</tex>, то <tex>u(a) \le u(b) - \xi</tex> и наоборот. |
}} | }} | ||
− | + | ====== Интервальный метод ====== | |
− | Ограничения: | + | Имея заданный функционал <tex> u: X \rightarrow Y :</tex> и <tex>\xi</tex> возможно использование интервального сравнения, а именно {{---}} объекты считаются сравнимы, если значения их оценок лежат в некотором интервале. |
− | + | Так, например, если <tex>a<b</tex>, то <tex>[u(a),u(b)-1]</tex>. | |
+ | |||
+ | ''Ограничения'': | ||
+ | |||
+ | Если у данного частичного ранжирования существует несчетное множество строго упорядоченных объектов, то невозможно подобрать такую <tex>u</tex>. В противовес, любое конечное частичное ранжирование может быть описано с помощью <tex>u</tex>. | ||
== Сильное ранжирование == | == Сильное ранжирование == | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | [[Бинарное отношение]] <tex><</tex> на множестве <tex>X | + | [[Бинарное отношение]] <tex><</tex> на множестве <tex>X \times X</tex>, для некоторых элементов которого определена несравнимость <tex>\sim</tex>,называется '''сильным ранжированием''' (англ. ''total order''), если оно обладает следующими свойствами: |
* [[Рефлексивное отношение|Иррефлексивность]] (англ. ''irreflexivity''): <tex>\forall a \in X:</tex> <tex>a \sim a</tex>. | * [[Рефлексивное отношение|Иррефлексивность]] (англ. ''irreflexivity''): <tex>\forall a \in X:</tex> <tex>a \sim a</tex>. | ||
* [[Симметричное отношение|Ассиметричность]] (англ. ''asymmetry''): <tex>\forall a, b \in X:</tex> если <tex>a < b</tex>, то не <tex> b < a </tex>. | * [[Симметричное отношение|Ассиметричность]] (англ. ''asymmetry''): <tex>\forall a, b \in X:</tex> если <tex>a < b</tex>, то не <tex> b < a </tex>. | ||
Строка 92: | Строка 94: | ||
Таким образом, сильное ранжирование {{---}} строгое слабое, для которого <tex>\sim \emptyset</tex>. | Таким образом, сильное ранжирование {{---}} строгое слабое, для которого <tex>\sim \emptyset</tex>. | ||
=== Сравнения === | === Сравнения === | ||
− | ====== | + | ====== Вещественная функция ====== |
Сильное ранжирование сравнивается с помощью функционала <tex>u</tex>. | Сильное ранжирование сравнивается с помощью функционала <tex>u</tex>. | ||
{{Лемма|о сильном упорядочивании | {{Лемма|о сильном упорядочивании | ||
|statement= | |statement= | ||
− | Для любого конечного сильного упорядочивания <tex>\le \in | + | Для любого конечного сильного упорядочивания <tex>\le \in X\times X</tex> возможно определить такой функционал <tex> u: X \rightarrow Y :</tex> если <tex>a\le b</tex>, то <tex>u(a) \le u(b)</tex> и наоборот. |
}} | }} | ||
− | Ограничения: | + | ====== Последовательность ====== |
− | + | Для любого конечного множества <tex>X</tex>, на котором задано отношение сильного упорядочивания и <tex>\exists u: X \rightarrow Y </tex>, может быть применимо моделирование с помощью порождения последовательности значений элементов. | |
+ | Иными словами, задается новый функционал <tex> v: Y \rightarrow \mathbb{N} </tex>, что все оценки образуют последовательность. | ||
+ | |||
+ | ''Ограничения'': | ||
+ | |||
+ | <tex>\; </tex>Как и для частичного, множество <tex>X</tex> должно быть конечно. | ||
== Supervised алгоритмы ранжирования == | == Supervised алгоритмы ранжирования == | ||
=== OC-SVM === | === OC-SVM === | ||
− | Ordinal Classification SVM - алгоритм поточечного ранжирования, рассматривающий каждый объект обособленно. В основе стоит использования идеи [[Метод опорных векторов (SVM) |метода опорных векторов]] о проведении разделяющей гиперплоскости над множеством оценок. | + | Ordinal Classification SVM {{---}} алгоритм поточечного ранжирования, рассматривающий каждый объект обособленно. В основе стоит использования идеи [[Метод опорных векторов (SVM) |метода опорных векторов]] о проведении разделяющей гиперплоскости над множеством оценок. |
==== Постановка задачи ==== | ==== Постановка задачи ==== | ||
− | Пусть имеется некое число градаций (оценок, предпочтений) <tex>K</tex>, тогда <tex>Y=\{1,2 ...K\}</tex> {{---}} ранжирующая функция с порогами <center> <tex>b_0=-\infty</tex>, <tex>b_1,b_2 ...b_ | + | Пусть имеется некое число градаций (оценок, предпочтений) <tex>K</tex>, тогда <tex>Y=\{1,2 ...K\}</tex> {{---}} ранжирующая функция с порогами <center> <tex>b_0=-\infty</tex>, <tex>b_1,b_2 ...b_{K-1} \in R, b_k=\infty:</tex></center> |
− | <center><tex>a(x)=y</tex>, если <tex>b_ | + | <center><tex>a(x)=y</tex>, если <tex>b_{y-1}<(w,x)\le b_y </tex> </center> |
− | Основное отличие от классического подхода в том, что на имеющееся <tex>K</tex> границ необходимо найти <tex>K-1</tex> зазоров. Иными словами, необходимо '''найти один направляющий вектор''' <tex>K-1</tex> числа гиперплоскостей. Исходим от предположения, что найдется такое направление, в котором объекты удовлетворительно отранжировались. | + | Основное отличие от классического подхода в том, что на имеющееся <tex>K</tex> границ необходимо найти <tex>K-1</tex> зазоров. Иными словами, необходимо '''найти один направляющий вектор''' <tex>K-1</tex> числа гиперплоскостей. Исходим от предположения, что найдется такое направление, в котором объекты удовлетворительно отранжировались. Пример такого разделения для <tex>K=5</tex> представлен на [[Медиа:OC-svm.PNG|рисунке 1]]. |
{|align="center" | {|align="center" | ||
|-valign="top" | |-valign="top" | ||
− | |[[Файл:OC-svm.PNG|thumb|540px|Направляющий вектор для K=5]] | + | |[[Файл:OC-svm.PNG|thumb|540px|Рис. 1. Направляющий вектор для <tex>K=5</tex>]] |
|} | |} | ||
Строка 123: | Строка 130: | ||
=== Ranking SVM === | === Ranking SVM === | ||
---- | ---- | ||
− | Алгоритм для попарного подхода к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно. | + | Алгоритм для ''попарного подхода''<ref>[https://www.cs.cornell.edu/people/tj/publications/joachims_02c.pdf Optimizing Search Engines using Clickthrough Data]</ref> к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно. |
==== Постановка задачи ==== | ==== Постановка задачи ==== | ||
Строка 137: | Строка 144: | ||
</center> | </center> | ||
− | === RankNet, LambdaRank === | + | === <nowiki>RankNet, LambdaRank</nowiki> === |
---- | ---- | ||
Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка. | Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка. | ||
− | [[Файл:LambdaRank.png|thumb|420px|LambdaRank с разными функционалами]] | + | [[Файл:LambdaRank.png|thumb|420px|Рис. 2. LambdaRank с разными функционалами]] |
==== Постановка задачи ==== | ==== Постановка задачи ==== | ||
Считаем, что у нас есть некий гладкий функционал качества, который необходимо оптимизировать: | Считаем, что у нас есть некий гладкий функционал качества, который необходимо оптимизировать: | ||
<center><tex>Q(a) = sum_{i\prec j}(\mathbb{L}(a(x_j) - a(x_i)) \rightarrow \underset{a}{min}</tex> </center> | <center><tex>Q(a) = sum_{i\prec j}(\mathbb{L}(a(x_j) - a(x_i)) \rightarrow \underset{a}{min}</tex> </center> | ||
− | Конкретную функцию потерь в оригинальной работе выбирают как логистическую функцию потерь, те | + | Конкретную функцию потерь в ''оригинальной работе''<ref>[https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR-TR-2010-82.pdf From RankNet to LambdaRank to LambdaMART]</ref> выбирают как логистическую функцию потерь, те |
− | <center>при <tex>\mathbb{L}(M) =log(1+ e^{-\sigma M}</tex> и алгоритме <tex>a(x) = \langle w,x\rangle </tex>, где</center> | + | <center>при <tex>\mathbb{L}(M) =log(1+ e^{-\sigma M})</tex> и алгоритме <tex>a(x) = \langle w,x\rangle </tex>, где</center> |
− | <tex>\sigma -</tex> масштабирующий параметр для пересчета значения | + | <tex>\sigma -</tex> масштабирующий параметр для пересчета значения отступа <tex>M</tex> в вероятностное значение. |
==== Подход ==== | ==== Подход ==== | ||
Воспользовавшись методом стохастического градиентного спуска, выбираем на каждой <tex>i-</tex>ой итерации случайным образом запрос <tex>q \in Q</tex> и пару документов из запроса <tex> i\prec j </tex>, получаем итеративную формулу вычисления весов: | Воспользовавшись методом стохастического градиентного спуска, выбираем на каждой <tex>i-</tex>ой итерации случайным образом запрос <tex>q \in Q</tex> и пару документов из запроса <tex> i\prec j </tex>, получаем итеративную формулу вычисления весов: | ||
<center><tex> w = w + \eta \frac{\sigma }{1 + e(\sigma \langle x_j - x_i,w\rangle)}\cdot (x_j - x_i) </tex></center> | <center><tex> w = w + \eta \frac{\sigma }{1 + e(\sigma \langle x_j - x_i,w\rangle)}\cdot (x_j - x_i) </tex></center> | ||
− | Чтобы перейти к использованию негладких функционалов MAP, NDCD, pFound необходимо домножить <tex>1 + e(\sigma \langle x_j - x_i,w\rangle)</tex> на изменение данного функционала при перестановке местами <tex>x_i</tex> и <tex>x_j</tex> в каждой итерации. Это означает, как изменится веса модели, если в задаче ранжирования поменять местами два документа. | + | Чтобы перейти к использованию негладких функционалов MAP, NDCD, pFound необходимо домножить <tex>1 + e(\sigma \langle x_j - x_i,w\rangle)</tex> на изменение данного функционала при перестановке местами <tex>x_i</tex> и <tex>x_j</tex> в каждой итерации. Это означает, как изменится веса модели, если в задаче ранжирования поменять местами два документа. Результаты оценки алгоритма с разным функционалом представлены на [[Медиа:LambdaRank.png|рисунке 2]]. |
'''LambdaRank''' моделирует следующий итеративный процесс: | '''LambdaRank''' моделирует следующий итеративный процесс: | ||
Строка 159: | Строка 166: | ||
=== SoftRank === | === SoftRank === | ||
---- | ---- | ||
− | '''SoftRank''' {{---}} списочный метод ранжирования, который предполагает использовать сглаживание для возможности диффиренцирования значения сложной метрики. | + | '''SoftRank''' {{---}} списочный метод ранжирования, который предполагает использовать ''сглаживание''<ref>[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.469.3608&rep=rep1&type=pdf SoftRank: Optimizing Non-Smooth Rank Metrics]</ref> для возможности диффиренцирования значения сложной метрики. |
==== Постановка задачи ==== | ==== Постановка задачи ==== | ||
− | Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели: | + | Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования, как представлено на [[Медиа:SoftRank_F.png|рисунке 3]]. Величина дисперсии теперь также параметр модели: |
<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> | ||
{|align="center" | {|align="center" | ||
− | |[[Файл:SoftRank_F.png|thumb|550px|Сглаживание в SoftRank]] | + | |[[Файл:SoftRank_F.png|thumb|550px|Рис. 3. Сглаживание в SoftRank]] |
|} | |} | ||
Возможно оценить вероятность того, что некий документ <tex>d_i-</tex>й окажется выше <tex>j-</tex>го. | Возможно оценить вероятность того, что некий документ <tex>d_i-</tex>й окажется выше <tex>j-</tex>го. | ||
Строка 172: | Строка 179: | ||
==== Подход ==== | ==== Подход ==== | ||
− | [[Файл:SR_pr.png|350px|thumb|Рекурсивное вычисление]] | + | [[Файл:SR_pr.png|350px|thumb|Рис. 4. Рекурсивное вычисление вероятности]] |
Вычисления происходят рекурсивно для каждого <tex>j-</tex>го документа. <br /> | Вычисления происходят рекурсивно для каждого <tex>j-</tex>го документа. <br /> | ||
− | <tex>N=1</tex>. Оценить вероятность оказаться на r-м месте для 1 элемента: <br /> | + | <tex>N=1</tex>. Оценить вероятность оказаться на <tex>r-</tex>м месте для <tex>1</tex> элемента: <br /> |
<tex> p_j^1(r)=\delta (r)</tex> <br /><br /> | <tex> p_j^1(r)=\delta (r)</tex> <br /><br /> | ||
− | <tex>N=2</tex>. Тогда оказаться на 1-м и 2-м месте для двух документов: <br /> | + | <tex>N=2</tex>. Тогда вероятность оказаться на <tex>1-</tex>м и <tex>2-</tex>м месте для двух документов: <br /> |
<tex> p_j^2(0)=1 - \pi_{1,j}</tex> <br /> | <tex> p_j^2(0)=1 - \pi_{1,j}</tex> <br /> | ||
<tex> p_j^2(1)=\pi_{1,j}</tex> <br /><br /> | <tex> p_j^2(1)=\pi_{1,j}</tex> <br /><br /> | ||
− | <tex>N=3</tex>. Для выборки из 3-х элементов, вероятность оказаться на первом месте: <br /> | + | <tex>N=3</tex>. Для выборки из <tex>3-</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 /> | <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 /> | ||
+ | Графическая интерпритация вычислительного процесса представлена на [[Медиа:SR_pr.png|рисунке 4.]] | ||
Строка 193: | Строка 201: | ||
\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 | \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> | \end{cases} </tex></center> | ||
+ | |||
+ | == Примечания == | ||
+ | <references/> | ||
+ | |||
+ | == Источники информации == | ||
+ | * [https://www.sciencedirect.com/science/article/pii/0898122196001022 A weak approach to group ranking ] | ||
+ | * [https://users.metu.edu.tr/serge/courses/111-2011/textbook-math111.pdf How to prove it. A Structured Approach ] | ||
+ | * [https://sphere.mail.ru/curriculum/program/discipline/102/ Инфопоиск от Mail.Group ] | ||
+ | * [http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_(%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2) Курс лекций по машинному обучению] {{---}} Воронцов К.В. |
Текущая версия на 19:26, 4 сентября 2022
При рассмотрении различных ситуаций, связанных с извлечением экспертных знаний, возникает потребность каким-либо упорядочить все множество оценок, затрагивая уже понятие группового ранжирования.
Положим, имеется конечное множество объектов (например, экспертных оценок или критериев) и экспертов, пронумерованных индексами . Каждый й эксперт выставляет рейтинг, порождая порядок. Подобные тип задач в машинном обучении обозначается как ранжирование.
Ранжирование (англ. learning to rank) — особый тип задач машиного обучения , связанный с постороением некой ранжирующей модели по обучащей выборке. Отличие от классификации и регрессии состоит в том, что для обучающей выборки не заданы ответы, однако задано отношение порядка для пары объектов. Стоит отметить, что от отношения порядка на множестве объектов изменяется и подход к ранжированию.
Содержание
Слабое ранжирование.Представления
Строгое слабое упорядовачивание
Определение: |
Бинарное отношение на множестве , которое является частично упорядоченным, называется слабым упорядочиванием (англ. weak ordering), если оно обладает следующими свойствами:
|
Рассмотрим случаи, определеяющее частичное упорядочение как:
- Сильное: и , то есть если ~ .
- Слабое[1]: если , то и .
Можно заключить, что любое cильное упорядовачивание есть слабое. Отношение несравнимости является отношением эквивалентности для всех своих разбиений на множестве , что являются линейно упорядоченными.
Сильный подпорядок
Определение: |
Сильный подпорядок — такой подпорядок, на котором присутствует отношение связанности. |
Сильный подпорядок
обладает рядом следующих свойств:- Транзитивность: если и .
- Связанности: выполнимо либо , либо .
Если в любом сильном подпорядке отношение эквивалентности. Поскольку операция определена для всех элементов, такие подпорядки еще называют отношением предпочтения[2].
и , то на нем определеноСравнения
Вещественная функция
Удобство использования слабого ранжирования в том, что его элементы могут быть представлены единственным образом с помощью вещественных функций. Рассмотрим следующую теорему.
Теорема: |
Для любого частичного упорядочивания слабое тогда и только тогда, когда существует и отображение если , то и наоборот. |
Таким образом, чтобы имели место быть:
- частичный подпорядок: для тогда и только тогда, когда .
- эквивалентность: для тогда и только тогда, когда .
Ограничения:
Лексикографические предпочтения. Ранжирующая функция может быть определена на любом конечном множестве, однако для случая лексикографического порядка функция не определена на .
Инъективность. В случае, если бы являлась бы инъективной функцией, то класс эквивалентности двух элементов множества мог бы переходить в более широкий соответствующий класс на множестве .
Сюрьективность. Если на вводятся ограничения, чтобы быть сюръективной функцией, то при отображении элементов некого класса на возможно соответствие ему меньшего или вовсе пустого класса на .
Кусочная последовательность
Для любого конечного множества
, на котором задано отношение слабого упорядовачивания и , может быть применимо моделирование с помощью кусочных последовательностей. Рассмотрим пример. Положим, чтоТогда слабое ранжирование
представляется в виде следующего:Частичное ранжирование
Определение: |
Бинарное отношение на множестве , для некоторых элементов которого определена несравнимость ,называется частичным упорядочиванием (англ. semiorder), если оно обладает следующими свойствами:
|
Сравнения
Вещественная функция
Частичное ранжирование поддается тому же функциональному подходу к сравнению за тем лишь исключением, что для численных значений объектов вводится некоторая погрешность
, внутри которой объекты считаются сравнимы, снаружи - нет. Зачастую такую погрешность выбирают нормированной к .Теорема: |
Для любого конечного частичного упорядочиванием возможно определить такое и функционал если , то и наоборот. |
Интервальный метод
Имея заданный функционал
и возможно использование интервального сравнения, а именно — объекты считаются сравнимы, если значения их оценок лежат в некотором интервале. Так, например, если , то .Ограничения:
Если у данного частичного ранжирования существует несчетное множество строго упорядоченных объектов, то невозможно подобрать такую
. В противовес, любое конечное частичное ранжирование может быть описано с помощью .Сильное ранжирование
Определение: |
Бинарное отношение на множестве , для некоторых элементов которого определена несравнимость ,называется сильным ранжированием (англ. total order), если оно обладает следующими свойствами:
|
Таким образом, сильное ранжирование — строгое слабое, для которого
.Сравнения
Вещественная функция
Сильное ранжирование сравнивается с помощью функционала
.Лемма: |
Для любого конечного сильного упорядочивания возможно определить такой функционал если , то и наоборот. |
Последовательность
Для любого конечного множества
, на котором задано отношение сильного упорядочивания и , может быть применимо моделирование с помощью порождения последовательности значений элементов. Иными словами, задается новый функционал , что все оценки образуют последовательность.Ограничения:
Как и для частичного, множество должно быть конечно.
Supervised алгоритмы ранжирования
OC-SVM
Ordinal Classification SVM — алгоритм поточечного ранжирования, рассматривающий каждый объект обособленно. В основе стоит использования идеи метода опорных векторов о проведении разделяющей гиперплоскости над множеством оценок.
Постановка задачи
Пусть имеется некое число градаций (оценок, предпочтений) , тогда — ранжирующая функция с порогамиОсновное отличие от классического подхода в том, что на имеющееся рисунке 1.
границ необходимо найти зазоров. Иными словами, необходимо найти один направляющий вектор числа гиперплоскостей. Исходим от предположения, что найдется такое направление, в котором объекты удовлетворительно отранжировались. Пример такого разделения для представлен наПодход
Поскольку теперь увеличилось число зазоров, классического значения штрафа
недостаточно — необходимы штрафы и для нарушение с левой и правой сторон соответственно ой границы. Ограничительное условие для такого случая состоит в том, что произвольный объект , оказавшийся между разделяющими полосами, не должен выйти за их пределы ни слева, ни справа, что можно записать как:Для случая крайних границ, для объектов
может существовать только нарушение слева от границы, когда для объектов — только справа от границы. Таким образом, задача может быть сформирована как задача минимизации с ограничениями:Ranking SVM
Алгоритм для попарного подхода[3] к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно.
Постановка задачи
Считаем, что теперь решаем следующую оптимизационную задачу:
Подход
Поскольку теперь все операции выполяняются уже для пары объектов, то строгая система ограничений будет отличаться в соответствующих местах:
RankNet, LambdaRank
Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка.
Постановка задачи
Считаем, что у нас есть некий гладкий функционал качества, который необходимо оптимизировать:
Конкретную функцию потерь в оригинальной работе[4] выбирают как логистическую функцию потерь, те
масштабирующий параметр для пересчета значения отступа в вероятностное значение.
Подход
Воспользовавшись методом стохастического градиентного спуска, выбираем на каждой
ой итерации случайным образом запрос и пару документов из запроса , получаем итеративную формулу вычисления весов:Чтобы перейти к использованию негладких функционалов MAP, NDCD, pFound необходимо домножить рисунке 2.
на изменение данного функционала при перестановке местами и в каждой итерации. Это означает, как изменится веса модели, если в задаче ранжирования поменять местами два документа. Результаты оценки алгоритма с разным функционалом представлены наLambdaRank моделирует следующий итеративный процесс:
Оптмизируется тем самым по функционалу NDCD.
SoftRank
SoftRank — списочный метод ранжирования, который предполагает использовать сглаживание[5] для возможности диффиренцирования значения сложной метрики.
Постановка задачи
Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования, как представлено на рисунке 3. Величина дисперсии теперь также параметр модели:
Возможно оценить вероятность того, что некий документ
й окажется выше го.Теперь задача формулируется следующим образом: оценить вероятность того, что
й документ окажется на позиции .Подход
Вычисления происходят рекурсивно для каждого
. Оценить вероятность оказаться на м месте для элемента:
. Тогда вероятность оказаться на м и м месте для двух документов:
. Для выборки из х элементов, вероятность оказаться на первом месте:
и т.д.
Графическая интерпритация вычислительного процесса представлена на рисунке 4.
Чтобы использовать метрику NDCG необходимо учесть математическое ожидание ассесорской оценки , что уже дает гладкий функционал:
Данное выражения уже возможно оптимизировать градиентом:
вычислятся через :