Введение:

Часто мы сталкиваемся со случаями, когда нам нужно сравнить / ранжировать два или более классов / событий на основе определенных атрибутов во времени. Самый простой подход - получить совокупный балл для каждого класса по атрибутам и отсортировать их по количеству баллов. Это дает нам представление о том, какова глобальная избирательная вероятность. Однако оценки по шкале не сравниваются друг с другом. Для двух классов A и B идеальная оценка должна означать, что A на n% лучше, чем B, или наоборот.

Последнее может быть достигнуто путем обучения с учителем, но не по умолчанию перейти к регрессии и классификации, а скорее к попарному ранжированию. Существует множество приложений для попарного ранжирования: оптимизация результатов поиска, ранжирование продуктов и т. Д. В этой статье мы кратко обсудим, что такое парное ранжирование, и немного теории, лежащей в основе этого. Если вы хорошо разбираетесь в теории, я бы посоветовал освежить ее, бегло просматривая контент. В следующей статье этой серии мы применим его к тематическому исследованию в реальном времени, где мы будем прогнозировать положение английской премьер-лиги в конце сезона 2020–21 (дополнительный дополнительный интерес для футбольных фанатов: D).

Https://medium.com/@davidacad10/pairwise-ranking-epl-prediction-part2-756542b85c2b

Теория:

Хотя теория попарного ранжирования по глубине здесь выходит за рамки, она помогает получить общее представление о том, что это такое, чтобы понимать / интерпретировать результаты, которые мы получаем в тематическом исследовании. Для ранжирования доступно несколько алгоритмов: RankNet, LambdaRank, LambdaMart и т. Д. Мы не будем вдаваться в подробности всего, а попытаемся разобраться в RankNet и дальнейшем LambdaRank.

Давайте рассмотрим два класса A и B, которые должны быть ранжированы как Ra и Rb на основе оценок a и b по атрибуту p. Цель модели состоит в том, чтобы расположить одну над другой на основе оценок и в дальнейшем оптимизировать ее с помощью определенной функции потерь. Функция потерь (функция оценки) должна отражать разницу в величине оценок вероятности и должна быть симметричной. Так что сигмовидная функция - хороший выбор.

Параметр K определяет величину рейтингового балла. Если a ›b, то A будет выталкиваться K, а B - вверх, и наоборот. Это идея RankNet. Это работает хорошо при ранжировании сразу двух классов. Однако в реальных случаях применения нам придется ранжировать несколько элементов [A, B, C… ..Z и т. Д.]. Если A был высшим классом, а затем B и Z - худшим классом, по формуле 3 мы оптимизируем оценку A, сравнивая B и Z по той же шкале. Однако оценка для B должна иметь вес больше, чем Z. Чтобы зафиксировать вес оценок, полученных с помощью функции оценки, LambdaRank вводится путем умножения штрафного коэффициента ∆, называемого нормализованным прекращенным совокупным приростом (NDCG), на K. Учитывая наличие N классов:

Применение уравнения 5 к уравнению 3 дает метод LambdaRank:

Таким образом, при наличии нескольких классов коэффициент штрафа NDCG обеспечивает весовую оценку результатов сравнения классов в соответствии с релевантностью классов. Также следует отметить, что NDCG имеет относительный масштаб, что позволяет избежать дополнительной систематической ошибки. И это придает большее значение правильному ранжированию высших классов, чем низших.

Есть несколько других альтернативных функций, применяемых к NDCG в качестве штрафного коэффициента, например MAP (средняя средняя точность), на которые также можно обратить внимание, если вам интересно.

Вывод:

Теперь у нас есть краткое представление о том, как парное ранжирование применяется за кулисами. В следующей статье, посвященной этому, у нас будет интересное приложение, в котором мы попытаемся спрогнозировать турнирную таблицу английской Премьер-лиги на конец текущего сезона 2020–21. Вы можете получить к нему доступ здесь: https://medium.com/@davidacad10/pairwise-ranking-epl-prediction-part2-756542b85c2b

Параметр, который мы будем использовать для ранжирования команд, - это результаты личных встреч за последние 5 матчей. Довольно интересно посмотреть, насколько он приближается к реальному положению в таблице, когда применяется к сезону 2019–20 при валидации.

Ссылка:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/MSR-TR-2010-82.pdf

Https://medium.com/@nikhilbd/intuitive-explanation-of-learning-to-rank-and-ranknet-lambdarank-and-lambdamart-fe1e17fac418

Https://mlexplained.com/2019/05/27/learning-to-rank-explained-with-code/