Я заинтересован в рассмотрении нескольких различных метрик для алгоритмов ранжирования - на странице Википедии «Обучение для ранжирования» перечислены некоторые из них, в том числе:
• Средняя средняя точность (MAP);
• DCG и NDCG;
• Точность @ n, NDCG @ n, где «@n» означает, что метрики оцениваются только для первых n документов;
• среднее взаимное звание;
• Тау Кендалла
• Копьеру Ро
• Ожидаемое взаимное звание
• Яндекс найден
но мне не ясно, каковы преимущества / недостатки каждого из них или когда вы можете выбрать один из них (или что это будет означать, если один алгоритм превзойдет другой в NDGC, но будет хуже при оценке с помощью MAP).
Могу ли я узнать больше об этих вопросах?
источник
Во многих случаях, когда вы применяете алгоритмы ранжирования (например, поиск в Google, рекомендации по продуктам Amazon), вы получаете сотни и тысячи результатов. Пользователь хочет только смотреть сверху ~ 20 или около того. Так что остальное совершенно неактуально.
Если это верно для вашего приложения, то это имеет прямое влияние на показатель:
Точность классификации Top-K для ранжирования
По правде говоря, это может быть трудно определить порядок. И если вы различаете только релевантные / не релевантные, то вы на самом деле в классификационном случае!
Точность Top-n является метрикой для классификации. См. Каково определение точности Top-n? ,
Точность @ к
Что это говорит вам:
Напомним @ к
Что это значит:
источник
Недавно мне пришлось выбрать метрику для оценки алгоритмов ранжирования с несколькими метками, и я подошел к этой теме, что было действительно полезно. Вот некоторые дополнения к ответу stpk, которые помогли сделать выбор.
Детали
Давайте сосредоточимся на средней точности (AP), поскольку средняя средняя точность (MAP) - это просто среднее значение AP по нескольким запросам. Точка доступа правильно определяется в двоичных данных как область под кривой возврата точности, которую можно переписать как среднее значение точности для каждого положительного элемента. (видеть статью в Википедии о MAP ). Возможное приближение - определить его как среднее значение точности на каждомвещь. К сожалению, мы теряем замечательное свойство, заключающееся в том, что отрицательные примеры, расположенные в конце списка, не влияют на значение AP. (Это особенно печально, когда речь идет об оценке поисковой системы, с гораздо большим количеством отрицательных примеров, чем положительных примеров. Возможный обходной путь - это выборка отрицательных примеров за счет других недостатков, например, запросы с более положительными элементами станут одинаково трудно на запросы с несколькими положительными примерами.)
С другой стороны, это приближение обладает хорошим свойством, которое оно хорошо обобщает для случая с несколькими метками. Действительно, в двоичном случае точность в позиции k также может интерпретироваться как средняя релевантность перед позицией k, где релевантность положительного примера равна 1, а значимость отрицательного примера равна 0. Это определение вполне естественно распространяется на случай, когда существует более двух разных уровней релевантности. В этом случае AP также может быть определено как среднее значение средних релевантностей в каждой позиции.
Это выражение выбрано спикером видео, на которое ссылается stpk в своем ответе. В этом видео он показывает, что AP можно переписать как взвешенное среднее значение релевантности, весК -й элемент в рейтинге
гдеК количество предметов для ранга Теперь у нас есть это выражение, мы можем сравнить его с DCG. Действительно, DCG также является средневзвешенным значением ранжированных релевантностей, при этом весами являются:
Из этих двух выражений мы можем сделать вывод, что - AP взвешивает документы от 1 до 0. - DCG взвешивает документы независимо от общего количества документов.
В обоих случаях, если есть не более значимых примеров, чем соответствующих примеров, общий вес положительного может быть незначительным. Для AP обходным путем является выборка отрицательных выборок, но я не уверен, как выбрать пропорцию выборки, а также сделать ее зависимой от запроса или от количества положительных документов. Для DCG мы можем сократить его до k, но возникают такие же вопросы.
Я был бы рад услышать больше об этом, если бы кто-нибудь здесь работал над этим вопросом.
источник