Модель машинного обучения для ранжирования, которая выдает вероятности.

Вопрос или проблема

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

Например, предположим, что у нас есть три ноутбука: “macbookAir”, “macbookPro”, “msSurface”, а также данные о предпочтениях множества клиентов, которые мы передаем алгоритмам машинного обучения, таким как XGBoostRanker. Затем он выдает оценку для каждого из трех ноутбуков, и ноутбук с наивысшей оценкой — это тот, который клиент, скорее всего, купит.

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

p_123 = P(“macbookAir” < “macbookPro” < “msSurface”)

p_132 = P(“macbookAir” < “msSurface” < “macbookPro”)

p_213 = P(“macbookPro” < “macbookAir” < “msSurface”)

p_231 = P(“macbookPro” < “msSurface” < “macbookAir”)

p_312 = P(“msSurface” < “macbookAir” < “macbookPro”)

p_321 = P(“msSurface” < “macbookPro” < “macbookAir”)

так, что p_123+p_132+p_213+p_231+p_312+p_321=1

Я хотел бы спросить, существует ли какой-либо алгоритм машинного обучения, который делает это? Если нет, то существует ли какой-либо способ конвертировать оценки из ранжировочных алгоритмов, таких как XGBoostRanker, в вероятности ранжирования, как указано выше?

Изменение: В моей первоначальной задаче существует много различных классов. Я понимаю, что это становится экспоненциально трудным, поскольку с увеличением числа классов n будет n! возможных ранжирований. Но в моей задаче меня интересуют только несколько лучших классов. Поэтому я хотел бы спросить, существует ли хотя бы “частичная вероятность ранжирования”, где мы можем предсказать вероятности P(A>B>другие), чтобы снизить уровень сложности.

Заранее большое спасибо.

Ответ или решение

Создание и использование моделей машинного обучения для ранжирования с вероятностным выходом – это задача, которая привлекает внимание многих исследователей и практиков. Традиционно алгоритмы машинного обучения для ранжирования, такие как XGBoostRanker, принимают на вход признаки и выдают скалярную оценку, не имеющую естественной вероятностной интерпретации. Однако ваш запрос нацеливается на получение ранжировочных веротяностей, что требует несколько иного подхода.

Теория (Theory):

Классические задачи ранжирования стремятся присвоить элементам упорядоченные оценки, которые можно использовать для определения их ранга относительно друг друга. Это примеру, если мы берем анкетные данные о предпочтениях клиентов по отношению к трем ноутбукам — macbookAir, macbookPro и msSurface — и подаем их в ранжировочные алгоритмы, такие как XGBoostRanker, то итогом будут оценки, которые укажут, какой ноутбук, скорее всего, будет куплен, исходя из наивысшего счета. В данном подходе не отражается вероятностное распределение на всех возможных упорядочениях.

С другой стороны, выход в виде вероятностей представляет собой вероятность различных упорядочений, таких как p_123 = P("macbookAir" < "macbookPro" < "msSurface"). Здесь цель состоит не просто в том, чтобы определить лучший из элементов, но и задать полное распределение вероятностей для всех возможных упорядочений. Это достаточно сложная задача, особенно при увеличении количества классов, поскольку количество возможных ранжирований растет факториально.

Пример (Example):

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

  1. Плюральная Логистическая Регрессия (Plackett-Luce Model): Это обобщение логистической регрессии, которое может быть использовано для моделирования вероятностей ранжировок. Модель представляет каждое действие, как распределение режекций на основе конечного количества позиций.

  2. Модели на базе Пермутаций: Сюда включаются подходы, такие как Mallows Model, которые могут быть использованы для оценки распределения вероятностей ранжировок, учитывая расстояние между пермутациями.

  3. Обобщенные Линейные Комбинации: Эти модели предназначены для оценки вероятностей относительно предпочтений элементов.

Применение (Application):

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

Три способа учитывать сложность задачи при большом количестве классов при определении вероятностей включают в себя:

  1. Частичные Ранжировки: Здесь целью становится оценка вероятностей не всего множества упорядочиваний, но лишь первых k элементов, что снижает количество вычислений и аналитических усилий.

  2. Иерархическое Ранжирование: Деление задачи на более мелкие подзадачи по ранжированию, резервируя вероятностное распределение только для интересующих элементов.

  3. Сложные Байесовские Методики: Использование подходов на базе Байеса для вычисления апостериорного распределения вероятностей, что может помочь в обработке сложных зависимостей и учёта неопределённостей в данных.

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

Оцените материал
Добавить комментарий

Капча загружается...