Дополнение к ранжированию — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (Частичное ранжирование)
м (Сильное ранжирование)
Строка 83: Строка 83:
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
[[Бинарное отношение]] <tex><</tex> на множестве <tex>X x X</tex>, для некоторых элементов которого определена несравнимость <tex>\sim</tex>,называется '''сильным ранжированием''' (англ. ''total order''), если оно обладает следующими свойствами:
+
[[Бинарное отношение]] <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>.
Строка 96: Строка 96:
 
{{Лемма|о сильном упорядочивании
 
{{Лемма|о сильном упорядочивании
 
|statement=
 
|statement=
Для любого конечного сильного упорядочивания <tex>\le \in XxX</tex> возможно определить такой функционал <tex> u: X \rightarrow Y :</tex> если <tex>a\le b</tex>, то <tex>u(a) \le u(b)</tex> и наоборот.
+
Для любого конечного сильного упорядочивания <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>\; </tex>Как и для частичного, оно должно быть конечно.
  
 
== Supervised алгоритмы ранжирования ==
 
== Supervised алгоритмы ранжирования ==

Версия 20:54, 11 апреля 2020


Порядки

При рассмотрении различных ситуаций, связанных с извлечением экспертных знаний, возникает потребность каким-либо упорядочить все множество оценок, затрагивая уже понятие группового ранжирования. Положим, имеется конечное множество Χ объектов (например, экспертных оценок или критериев) и [math]m[/math] экспертов, пронумерованных индексами [math]1,2... m[/math]. Каждый [math]i-[/math]й эксперт выставляет рейтинг, порождая порядок.

Слабое ранжирование.Представления

Строгое слабое упорядовачивание

Определение:
Бинарное отношение [math]\lt [/math] на множестве [math]X\times X[/math], которое является частично упорядоченным, называется слабым упорядочиванием (англ. weak ordering), если оно обладает следующими свойствами:
  • Иррефлексивность (англ. irreflexivity): [math]\forall a \in X:[/math] [math]a \lt b[/math] - не выполняется.
  • Ассиметричность (англ. asymmetry): [math]\forall a, b \in X:[/math] если [math]a \lt b[/math], то не [math] b \lt a [/math].
  • Транзитивность (англ. transitivity): [math]\forall a, b, c \in X:[/math] если [math]a\lt b[/math] и [math]b\lt c[/math], то [math]a\lt c[/math].
  • Транзитивность несравнимости (англ. transitivity of incomparability): [math]\forall a, b, d \in X:[/math] если [math]a[/math] несравнимо с [math]b[/math], и [math]b[/math] не сравнимо с [math]d[/math], то [math]a[/math] несравнимо с [math]d[/math].
Примечание: Строгое определение несравнимости: [math]\forall a, b \in X:[/math], если [math]¬b\lt a[/math] и [math]¬a\lt b[/math] и [math]a\not=b[/math], то [math]a\sim b[/math].


Рассмотрим случаи, определеяющее частичное упорядочение как:

  • Сильное: [math]\forall a, b \in X:[/math] [math]a \lt b[/math] и [math]b \lt a[/math], то есть если ~ [math]\emptyset[/math].
  • Слабое: [math]\forall a, b, c \in X:[/math] если [math]a\sim b\sim c[/math], то [math]a\sim b[/math] и [math]a=c[/math].

Можно заключить, что любое cильное упорядовачивание есть слабое. Отношение несравнимости является отношением эквивалентности для всех своих разбиений на множестве [math]X[/math], что являются линейно упорядоченными.

Сильный подпорядок

Определение:
Сильный подпорядок — такой подпорядок, на котором присутствует отношение связанности.

Сильный подпорядок [math]\le \; \in X\times X[/math] обладает рядом следующих свойств:

  • Транзитивность: [math]\forall a, b, c \in X:[/math] если [math]a≤b[/math] и [math]b≤c \Rightarrow a≤c[/math].
  • Связанности: [math]\forall a, b \in X:[/math] выполнимо либо [math]a≤b[/math], либо [math]b≤a[/math].

Если в любом сильном подпорядке [math]\exists a,b : a≤b[/math] и [math]b≤a[/math], то на нем определено отношение эквивалентности. Поскольку операция определена для всех элементов, такие подпорядки еще называют отношением предпочтения.

Сравнения

Вещественная функция

Удобство использования слабого ранжирования в том, что его элементы могут быть представлены единственным образом с помощью вещественных функций. Рассмотрим следующую теорему.

Теорема:
Для любого частичного упорядочивания [math]\lt \in X\times X[/math] слабое тогда и только тогда, когда существует [math]\lt _t\in Y\times Y[/math] и отображение [math] u: X \rightarrow Y :[/math] если [math]a\lt b[/math], то [math]u(a) \lt _t u(b)[/math] и наоборот.

Таким образом, чтобы имели место быть:

  • частичный подпорядок: для [math]a≤b[/math] тогда и только тогда, когда [math]u(a)≤u(b)[/math].
  • эквивалентность: для [math]a \sim b[/math] тогда и только тогда, когда [math]u(a)=u(b)[/math].

Ограничения:

- Лексикографические предпочтения

[math]\; \;[/math] Хоть и на любом конечном множестве может определена ранжирующая функция, однако для случая лексикографического порядка функция не определена на [math]R^n[/math].

- Инъективность

[math]\; \;[/math]В случае, если бы [math]u[/math] являлась бы инъективной функцией, что класс эквивалентности двух элементов множества [math]Y[/math] мог бы переходить в более широкий соответствующий класс на множестве [math]X[/math].

- Сюрьективность

[math]\; \;[/math]Если на [math]u[/math] вводятся ограничения, чтобы быть сюръективной функцией, то при отображении элементов некого класса на [math]Y[/math] возможно соответствие ему меньшего или вовсе пустого класса на [math]X[/math].

Кусочная последовательность

Для любого конечного множества [math]X[/math], на котором задано отношение слабого упорядовачивания и [math]\exists u: X \rightarrow Y [/math], может быть применимо моделирование с помощью кусочных последовательностей. Рассмотрим пример. Положим, что

[math]X=\{ a, b, c, d, e \}[/math]
[math]u(a) = u(c) = 0, u(e) = 2, u(b) = u(d) = 5[/math]

Тогда слабое ранжирование [math]\lt [/math] представляется в виде следующего:

[math]\{ a, c \} \{ e \} \{ b, d \} [/math]

Частичное ранжирование

Определение:
Бинарное отношение [math]\lt [/math] на множестве [math]X \times X[/math], для некоторых элементов которого определена несравнимость [math]\sim[/math],называется частичным упорядочиванием (англ. semiorder), если оно обладает следующими свойствами:
  • Иррефлексивность (англ. irreflexivity): [math]\forall a \in X:[/math][math]a \sim a[/math].
  • Ассиметричность (англ. asymmetry): [math]\forall a, b \in X:[/math] если [math]a \lt b[/math], то не [math] b \lt a [/math].
  • Транзитивность (англ. transitivity): [math]\forall a, b, c, d \in X:[/math] если [math]a\lt b, \; b\sim c[/math] и [math]c\lt d[/math], то [math]a\lt d[/math].
  • Критерий сравнимости: [math]\forall a, b, c, d \in X:[/math] если [math]a\lt b[/math], и [math]b\lt c[/math], то либо [math]a\lt d[/math], либо [math]d\lt c[/math].
Примечание: не стоит путать последний критерий с слабым упорядочиванием, где отношение несравнимости транзитивно. Здесь же речь ведется о том, что среди [math]a,b,c \;d[/math] должен быть хотя бы один элемент сравним c данным.

Сравнения

Вещественная функция

Частичное ранжирование поддается тому же функциональному подходу к сравнению за тем лишь исключением, что для численных значений объектов вводится некоторая погрешность [math]\xi[/math], внутри которой объекты считаются сравнимы, снаружи - нет. Зачастую такую погрешность выбирают нормированной к [math]1[/math].

Теорема:
Для любого конечного частичного упорядочиванием [math]\lt \in X\times X[/math] возможно определить такое [math]\xi[/math] и функционал [math] u: X \rightarrow Y :[/math] если [math]a\lt b[/math], то [math]u(a) \le u(b) - \xi[/math] и наоборот.

Ограничения: Если у данного частичного ранжирования существует несчетное множество строго упорядоченных объектов, то невозможно подобрать такую [math]u[/math]. В противовес, любое конечное частичное ранжирование может быть описано с помощью [math]u[/math].

Сильное ранжирование

Определение:
Бинарное отношение [math]\lt [/math] на множестве [math]X \times X[/math], для некоторых элементов которого определена несравнимость [math]\sim[/math],называется сильным ранжированием (англ. total order), если оно обладает следующими свойствами:
  • Иррефлексивность (англ. irreflexivity): [math]\forall a \in X:[/math] [math]a \sim a[/math].
  • Ассиметричность (англ. asymmetry): [math]\forall a, b \in X:[/math] если [math]a \lt b[/math], то не [math] b \lt a [/math].
  • Транзитивность (англ. transitivity): [math]\forall a, b, c, d \in X:[/math] если [math]a\lt b, \; b\sim c[/math] и [math]c\lt d[/math], то [math]a\lt d[/math].
  • Критерий сравнимости: [math]\forall a, b, c, d \in X:[/math] если [math]a\lt b[/math], и [math]b\lt c[/math], то либо [math]a\lt d[/math], либо [math]d\lt c[/math].
  • Трихотомия (англ. trichotomy): [math]\forall a, b \in X:[/math] [math]x\lt y \vee y\lt x \vee x=y [/math] выполняется.

Таким образом, сильное ранжирование — строгое слабое, для которого [math]\sim \emptyset[/math].

Сравнения

Вещественная функция

Сильное ранжирование сравнивается с помощью функционала [math]u[/math].

Лемма:
Для любого конечного сильного упорядочивания [math]\le \in X\times X[/math] возможно определить такой функционал [math] u: X \rightarrow Y :[/math] если [math]a\le b[/math], то [math]u(a) \le u(b)[/math] и наоборот.

Ограничения:

[math]\; [/math]Как и для частичного, оно должно быть конечно.

Supervised алгоритмы ранжирования

OC-SVM

Ordinal Classification SVM - алгоритм поточечного ранжирования, рассматривающий каждый объект обособленно. В основе стоит использования идеи метода опорных векторов о проведении разделяющей гиперплоскости над множеством оценок.

Постановка задачи

Пусть имеется некое число градаций (оценок, предпочтений) [math]K[/math], тогда [math]Y=\{1,2 ...K\}[/math] — ранжирующая функция с порогами
[math]b_0=-\infty[/math], [math]b_1,b_2 ...b_(K-1) \in R, b_k=\infty:[/math]
[math]a(x)=y[/math], если [math]b_(y-1)\lt (w,x)\le b_y [/math]

Основное отличие от классического подхода в том, что на имеющееся [math]K[/math] границ необходимо найти [math]K-1[/math] зазоров. Иными словами, необходимо найти один направляющий вектор [math]K-1[/math] числа гиперплоскостей. Исходим от предположения, что найдется такое направление, в котором объекты удовлетворительно отранжировались.

Направляющий вектор для K=5

Подход

Поскольку теперь увеличилось число зазоров, классического значения штрафа [math]\xi[/math] недостаточно — необходимы штрафы [math]\xi^*_i[/math] и [math]\xi_i[/math] для нарушение с левой и правой сторон соответственно [math]i-[/math]ой границы. Ограничительное условие для такого случая состоит в том, что произвольный объект [math]x_i[/math], оказавшийся между разделяющими полосами, не должен выйти за их пределы ни слева, ни справа, что можно записать как:

[math]b_{y_i-1}+1-\xi^*_i \le \langle w_i,x_i\rangle \le b_{y_i}-1+\xi_i [/math]

Для случая крайних границ, для объектов [math]x_i : \hat{K}=1[/math] может существовать только нарушение слева от границы, когда для объектов [math]x_i : \hat{K}=K[/math] — только справа от границы. Таким образом, задача может быть сформирована как задача минимизации с ограничениями:

[math] \begin{cases} \frac{1}{2}||w||^2 + C\sum_{i=1}^l(\xi^*_i[y_i \ne 1] + \xi_i[y_i \ne K]) \rightarrow \underset{w,b,\xi}{min} ; \\ b_{y_i-1}+1-\xi^*_i \le \langle w_i,x_i\rangle \le b_{y_i}-1+\xi_i ; \\ \xi^*_i \ge 0, \xi_i \ge 0 \end{cases} [/math]

Ranking SVM


Алгоритм для попарного подхода к ранжированию. Основное отличие от алгоритма SVM в том, что теперь объекты нумеруются попарно.

Постановка задачи

Считаем, что теперь решаем следующую оптимизационную задачу:

[math]Q(a) = \frac{1}{2}|w||^2 + C\sum_{i=1}^l(\mathbb{L}(a(x_j) - a(x_i)) \rightarrow \underset{a}{min}[/math], где
[math]a(x) = \langle w,x\rangle [/math] — функция ранжирования,
[math]\mathbb{L}(M) = (1-M)_+ [/math] — функция потерь,
[math]M=Margin(i,j) = \langle w,x_j-x_i\rangle [/math] — отступ.

Подход

Поскольку теперь все операции выполяняются уже для пары объектов, то строгая система ограничений будет отличаться в соответствующих местах:

[math] \begin{cases} \frac{1}{2}||w||^2 + C\sum_{i=1}^l \xi_{ij} \rightarrow \underset{w,\xi}{min}; \\ \langle w,x_j-x_i\rangle \ge 1- \xi_{ij}, i\prec j ; \\ \xi_{ij} \ge 0, i\prec j \end{cases} [/math]

RankNet, LambdaRank


Данные алгоритмы применяются для списочного ранжирования, хотя по сути своей используют попарный подход, который был расширен до случая списка.

LambdaRank с разными функционалами

Постановка задачи

Считаем, что у нас есть некий гладкий функционал качества, который необходимо оптимизировать:

[math]Q(a) = sum_{i\prec j}(\mathbb{L}(a(x_j) - a(x_i)) \rightarrow \underset{a}{min}[/math]

Конкретную функцию потерь в оригинальной работе выбирают как логистическую функцию потерь, те

при [math]\mathbb{L}(M) =log(1+ e^{-\sigma M}[/math] и алгоритме [math]a(x) = \langle w,x\rangle [/math], где

[math]\sigma -[/math] масштабирующий параметр для пересчета значения отсупа [math]M[/math] в вероятностное значение.

Подход

Воспользовавшись методом стохастического градиентного спуска, выбираем на каждой [math]i-[/math]ой итерации случайным образом запрос [math]q \in Q[/math] и пару документов из запроса [math] i\prec j [/math], получаем итеративную формулу вычисления весов:

[math] w = w + \eta \frac{\sigma }{1 + e(\sigma \langle x_j - x_i,w\rangle)}\cdot (x_j - x_i) [/math]

Чтобы перейти к использованию негладких функционалов MAP, NDCD, pFound необходимо домножить [math]1 + e(\sigma \langle x_j - x_i,w\rangle)[/math] на изменение данного функционала при перестановке местами [math]x_i[/math] и [math]x_j[/math] в каждой итерации. Это означает, как изменится веса модели, если в задаче ранжирования поменять местами два документа.

LambdaRank моделирует следующий итеративный процесс:

[math] 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) [/math]

Оптмизируется тем самым по функционалу NDCD.

SoftRank


SoftRank — списочный метод ранжирования, который предполагает использовать сглаживание для возможности диффиренцирования значения сложной метрики. ВСТАВИТЬ ССЫЛКИ

Постановка задачи

Сперва необходимо перейти от поиска изначально детерминированного положения документа в отранижрованном порядке к случайной величине, распределенной по нормальному закону так, чтобы центр распределения лежал в предсказании функции ранжирования. Величина дисперсии теперь также параметр модели:

[math] 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})[/math]
Сглаживание в SoftRank

Возможно оценить вероятность того, что некий документ [math]d_i-[/math]й окажется выше [math]j-[/math]го.

[math]\pi_{i,j}\equiv P(d_i-d_j \gt 0) = \int\limits_0^\infty \mathbb{N}(d | \overline{d_i} - \overline{d_j}, 2 \sigma^2_{d_i})ds [/math]

Теперь задача формулируется следующим образом: оценить вероятность того, что [math]i-[/math]й документ окажется на позиции [math]r[/math].

Подход

Рекурсивное вычисление

Вычисления происходят рекурсивно для каждого [math]j-[/math]го документа.
[math]N=1[/math]. Оценить вероятность оказаться на r-м месте для 1 элемента:
[math] p_j^1(r)=\delta (r)[/math]

[math]N=2[/math]. Тогда оказаться на 1-м и 2-м месте для двух документов:
[math] p_j^2(0)=1 - \pi_{1,j}[/math]
[math] p_j^2(1)=\pi_{1,j}[/math]

[math]N=3[/math]. Для выборки из 3-х элементов, вероятность оказаться на первом месте:
[math] p_j^3(1)=p_j^2(0)\cdot \pi_{2,j} + p_j^{i-1}(1)\cdot (1- \pi_{2,j}) [/math]
и т.д.


Чтобы использовать метрику NDCG необходимо учесть математическое ожидание ассесорской оценки [math]M[D(r_j)][/math], что уже дает гладкий функционал:

[math]SoftNDCG=G_{max}^{-1}\cdot \sum_{i=1}^N g(l_i) \sum_{r=0}^{N-1}D(r_j)p_j(r)[/math]

Данное выражения уже возможно оптимизировать градиентом:

[math]\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} } } [/math]

[math]\displaystyle {\frac{\delta p_j(r) }{\delta \overline{d_m} } }[/math] вычислятся через [math]\displaystyle { \frac{\delta \pi_{i,j} }{\delta \overline{d_m}} }[/math]:

[math]\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} [/math]