Ранжирование — различия между версиями
Evaleria (обсуждение | вклад) м (→Методы ранжирования) |
|||
| Строка 1: | Строка 1: | ||
| + | {| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;" | ||
| + | |+ | ||
| + | |-align="center" | ||
| + | |'''НЕТ ВОЙНЕ''' | ||
| + | |-style="font-size: 16px;" | ||
| + | | | ||
| + | 24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. | ||
| + | |||
| + | Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. | ||
| + | |||
| + | Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. | ||
| + | |||
| + | Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. | ||
| + | |||
| + | ''Антивоенный комитет России'' | ||
| + | |-style="font-size: 16px;" | ||
| + | |Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. | ||
| + | |-style="font-size: 16px;" | ||
| + | |[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки]. | ||
| + | |} | ||
| + | |||
'''Ранжирование''' (англ. ''learning to rank'') {{---}} это класс задач [[Общие понятия|машинного обучения с учителем]], заключающихся в автоматическом подборе ранжирующей модели по обучающей выборке, состоящей из множества списков и заданных частичных порядков на элементах внутри каждого списка. Частичный порядок обычно задаётся путём указания оценки для каждого элемента (например, «релевантен» или «не релевантен»). Цель ранжирующей модели — наилучшим образом приблизить и обобщить способ ранжирования в обучающей выборке на новые данные. | '''Ранжирование''' (англ. ''learning to rank'') {{---}} это класс задач [[Общие понятия|машинного обучения с учителем]], заключающихся в автоматическом подборе ранжирующей модели по обучающей выборке, состоящей из множества списков и заданных частичных порядков на элементах внутри каждого списка. Частичный порядок обычно задаётся путём указания оценки для каждого элемента (например, «релевантен» или «не релевантен»). Цель ранжирующей модели — наилучшим образом приблизить и обобщить способ ранжирования в обучающей выборке на новые данные. | ||
Версия 07:48, 1 сентября 2022
| НЕТ ВОЙНЕ |
|
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян. Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием. Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей. Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить. Антивоенный комитет России |
| Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению. |
| meduza.io, Популярная политика, Новая газета, zona.media, Майкл Наки. |
Ранжирование (англ. learning to rank) — это класс задач машинного обучения с учителем, заключающихся в автоматическом подборе ранжирующей модели по обучающей выборке, состоящей из множества списков и заданных частичных порядков на элементах внутри каждого списка. Частичный порядок обычно задаётся путём указания оценки для каждого элемента (например, «релевантен» или «не релевантен»). Цель ранжирующей модели — наилучшим образом приблизить и обобщить способ ранжирования в обучающей выборке на новые данные.
Содержание
Постановка задачи
— множество объектов.
— обучающая выборка.
— правильный частичный порядок на парах . "Правильность" зависит от постановки задачи, а именно запись может означать, что объект имеет ранг выше, чем объект , так и наоборот.
Задача:
Построить ранжирующую функцию такую, что: .
Линейная модель ранжирования:
, где — вектор признаков объекта .
Примеры
Задача ранжирования поисковой выдачи
— коллекция текстовых документов.
— множество запросов.
— множество документов, найденных по запросу .
— объектами являются пары (запрос, документ): .
— упорядоченное множество рейтингов.
— оценки релевантности, поставленные асессорами (экспертами): чем выше оценка , тем релевантнее документ по запросу .
Правильный порядок определен только между документами, найденными по одному и тому же запросу : .
Релевантные ответы запросу — это список документов , упорядоченных с помощью функции ранжирования .
Коллаборативная фильтрация
— пользователи.
— предметы (фильмы, книги и т.д.).
— объектами являются пары (пользователь, предмет).
Правильный порядок определён между предметами, которые выбирал или рейтинговал один и тот же пользователь: .
Рекомендация пользователю — это список предметов , упорядоченный с помощью функции ранжирования .
Метрики качества ранжирования
Точность ранжирования
В самой простой постановке задачи ранжирования целевая переменная принимает два значения, документ либо релевантен запросу, либо нет:
где – целевая переменная, – запрос, – документ.
Пусть также есть некоторая модель , оценивающая релевантность документа запросу. По значениям, полученным с помощью этой модели, можно отранжировать документы. будет обозначать -й по релевантности документ для запроса .
После того как введены обозначения можно задать простейшую метрику ранжирования. Это , точность среди первых документов ( — параметр метрики). Если ранжируется поисковая выдача, и на первой странице показываются 10 документов, то разумно выбирать . Данная метрика определяется как доля релевантных документов среди первых , полученных с помощью модели:
.
Однако у неё есть серьёзный недостаток: позиции релевантных документов никак не учитываются. Например, если при среди первых документов есть релевантных, то неважно, где они находятся: среди первых или последних документов. Обычно же хочется, чтобы релевантные документы располагались как можно выше.
Описанную проблему можно решить, модифицировав метрику, и определить среднюю точность (англ. average precision). Данная метрика тоже измеряется на уровне и вычисляется следующим образом:
.
Данная величина уже зависит от порядка. Она достигает максимума, если все релевантные документы находятся вверху ранжированного списка. Если они смещаются ниже, значение метрики уменьшается.
И точность, и средняя точность вычисляются для конкретного запроса . Если выборка большая и размечена для многих запросов, то значения метрик усредняются по всем запросам:
.
Дисконтированный совокупный доход
Второй подход к измерению качества ранжирования — дисконтированный совокупный доход (англ. discounted cumulative gain) или DCG. Он используется в более сложной ситуации, когда оценки релевантности могут быть вещественными: .
То есть для каждого документа теперь существует градация между релевантностью и нерелевантностью. Остальные обозначения остаются теми же, что и для предыдущей метрики. Формула для вычисления DCG:
.
Метрика — это сумма дробей. Чем более релевантен документ, тем больше числитель в дроби. Знаменатель зависит от позиции документа, он штрафует за то, где находится документ. Если документ очень релевантен, но занимает низкую позицию, то штраф будет большим, если документ релевантен и находится вверху списка, штраф будет маленьким. Таким образом, метрика DCG учитывает и релевантность, и позицию документа. Она достигает максимума, если все релевантные документы находятся в топе списка, причём отсортированные по значению . Данную метрику принято нормировать:
, где — значение DCG при идеальном ранжировании. После нормировки метрика принимает значения от 0 до 1.
Пример вычисления DCG и nDCG:
Дано множество документов, где каждый документ оценивается от до , где — очень релевантен, а — не релевантен. Пусть таким множеством будет , где оценка релевантности по опросу пользователей задается(в том же порядке) множеством .
Тогда .
| i | |||
|---|---|---|---|
Идеальный порядок оценок релевантности . DCG для данного множества будет следующим: .
| i | |||
|---|---|---|---|
Итого .
Методы ранжирования
Всего выделяют три подхода к решению задачи ранжирования: поточечный (англ. pointwise), попарный (англ. pairwise), списочный (англ. listwise). Выбор метода зависит от качества ранжирования данных. Теоретически, списочный подход считается наилучшим, однако, на практике, например в Яндексе, лучше всего работает попарный подход.
Поточечный подход
Самый простой подход — это поточечный. В нём игнорируется тот факт, что целевая переменная задаётся на парах объектов, и оценка релевантности считается для каждого объекта.
Если речь идёт о задаче ранжирования поисковой выдачи, то пусть асессор поставил какую-то оценку каждой паре (запрос, документ). Эта оценка и будет предсказываться. При этом никак не учитывается, что нужно предсказать порядок объектов, а не оценки. Этот подход является простым в том смысле, что в нём используются уже известные методы. Например, можно предсказывать оценки с использованием линейной регрессии и квадратичной ошибки:
Известно, как решать такую задачу, и таким образом будет получена релевантность. Далее по выходам модели можно ранжировать объекты.
Попарный подход
В попарном подходе используются знания об устройстве целевой переменной. Модель строится сведением к минимуму количества дефектных пар, то есть таких, в которых моделью был предсказан неправильный порядок:
К сожалению, этот функционал дискретный (в него входят индикаторы), поэтому невозможно его минимизировать. Однако можно действовать так же, как и с классификаторами: оценить функционал сверху.
Можно считать, что разница между объектами — это отступ , и задать некоторую гладкую функцию :
Если использовать функцию как в логистической регрессии , то полученный метод называется RankNet. Затем можно решать задачу, например, с помощью стохастического градиентного спуска.
Списочный подход
В методе RankNet шаг стохастического градиентного спуска для линейной модели выглядит следующим образом:
Заметим, что данная формула зависит от одной пары объектов, а также не учитываются зависимости между различными парами. Возникает вопрос, можно ли модифицировать данный метод (а именно формулу шага) так, чтобы минимизировался не исходный функционал, оценивающий долю дефектных пар, а DCG.
Действительно, можно домножить градиент исходного функционала на то, насколько изменится nDCG, если поменять местами и :
Данный метод называется LambdaRank[1].
Оказывается, что при выполнении градиентного спуска с помощью данных шагов оптимизируется nDCG. Существуют и другие подходы к оптимизации nDCG, однако в них предпринимается попытка работы с функционалом, что гораздо сложнее.
См. также
- Общие понятия
- Стохастический градиентный спуск
- Рекомендательные системы[на 17.03.19 не создан]
Примечания
Источники информации
- Обучение ранжировнию — статья на machinelearning.ru
- Learning to rank — презентация на coursera.org
- Курс лекций по машинному обучению — Воронцов К.В.