ОБУЧЕНИЕ ГЛОБАЛЬНОМУ И НЕГЛОБАЛЬНОМУ латентному встраиванию

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

ПОЛЬЗОВАТЕЛИ, ПРЕДМЕТЫ И СПОСОБНЫЕ ПРОСТРАНСТВА

В этой статье мы сосредоточимся на матричной факторизации, которая является популярным и простым методом ранжирования и рекомендаций. Кроме того, здесь, в Agoda, в прошлом мы успешно использовали матричную факторизацию для персонализированного ранжирования отелей.

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

между функциями пользователя и элемента представляет собой оценку релевантности для этого пользователя и элемента. Здесь наши объекты - это отели, поэтому мы будем использовать эти два термина как синонимы.

Одним из популярных методов изучения скрытых векторов является оптимизация методом альтернативных наименьших квадратов (ALS). В простейшем случае векторы вычисляются путем минимизации целевой функции

где

если пользователь u когда-либо посещал отель i, в противном случае - 0.

Таким образом, модель дает релевантность, близкую к 1, для тех отелей, которые посетил пользователь, и релевантность, близкую к 0, для непосещенных гостиниц. Как следует из названия, эту цель можно эффективно минимизировать, чередуя оптимизацию между функциями пользователя и отеля. На практике мы также добавляем термин регуляризации и рассматриваем другие действия (например, клики), а затем взвешиваем каждый член в сумме с некоторой степенью уверенности, полученной на основе количества бронирований и кликов. Подробнее см. (Hu).

Альтернативный метод ALS для изучения матричной факторизации - это попарное обучение. Одной из успешных парных методологий является BPR (байесовское персонализированное ранжирование (Rendle, 2009)), которое мы рассмотрим в этой статье.

В BPR мы сводим к минимуму цель

где

и

сигмовидная функция.

Подобно ALS, модель дает более высокую релевантность тем отелям, которые посетил пользователь, чем тем, которые не посещались.

Читатель может задаться вопросом, как управлять огромным набором D всех возможных троек, но, к счастью, это никогда не нужно явно материализовать. Модель может быть изучена методом стохастического градиентного спуска, поэтому все, что нам нужно, - это иметь возможность брать сэмплы из D, и это можно легко сделать.

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

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

ГЛОБАЛЬНЫЙ VS. ИЗУЧЕНИЕ В ГОРОДЕ

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

В BPR мы можем аккуратно исправить эту проблему. Вместо определения D как набора всех возможных (посещенных, непосещенных) пар для каждого пользователя мы добавляем ограничение, согласно которому обе гостиницы находятся в одном городе:

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

ПРИМЕР

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

Представьте, что алгоритмы обрабатывают следующие действия пользователя.

Боб бронировал билеты в Marina Bay Sands в Сингапуре и в Lebua at the State Tower в Бангкоке .

Алиса совершила только одно бронирование в отеле Marina Bay Sands в Сингапуре.

Что происходит при «глобальном» подходе к обучению

В случае Боба «глобальный» алгоритм узнает, что у Marina Bay Sands и Lebua в State Tower должно быть похожее латентное представление; однако в случае Алисы он оттолкнет Marina Bay Sands от Лебуа у башни Стейт Тауэр, поскольку Лебуа считается отрицательным примером. В результате Марина Бэй Сэндс и Лебуа в Государственной башне могут оказаться разделенными в скрытом пространстве.

Что происходит при подходе к обучению в пределах города

В случае Боба алгоритм «внутри города» узнает, что Marina Bay Sands и Lebua в State Tower должны иметь одинаковое скрытое представление, а для в случае с Алисой, он не оттолкнет Marina Bay Sands от Лебуа у башни Стейт Тауэр, потому что Лебуа не считается отрицательным Например, потому, что выборка в пределах города не позволяет сделать это так. В конечном счете, у Marina Bay Sands и Lebua в State Tower будет аналогичное скрытое представление.

Есть 3 основных преимущества наличия скрытых функций, которые не включают информацию о городе:

1. Обучение дешевле - удаление географии из обучения требует меньшего пространства функций. Мы использовали 300 для глобального обучения через ALS, но только 100 для внутригородского обучения в BPR.

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

3. Глобальное сходство элемента с элементом - скрытые признаки могут использоваться для рекомендаций по элементам с помощью евклидова расстояния или косинусного сходства. Смешав города в скрытом пространстве, мы можем лучше порекомендовать отель в городе B на основе выбора в городе A.

Мы проверили наши модели, используя бронирования, отложенные в наборе для проверки. Для каждого бронирования в этом наборе мы оценили все отели в одном городе и проверили, где забронированный отель оказался в этом списке. 100-мерный BPR, обученный «внутри города», имел значительно более высокую точность, чем 300-мерный ALS. Мы также пытались подогнать 100-мерный глобальный BPR, но эта модель не сработала.

** «Точность @ 10» определяется как:

с участием,

если забронированный отель имеет ранг i, в противном случае - ноль.

НАКОНЕЦ, НЕКОТОРЫЕ ГРАФИКИ

Чтобы проверить нашу гипотезу о «внутригородском» и «глобальном» обучении, мы выбрали отели из восьми выбранных городов и визуализировали их скрытое представление, спроецировав их в трехмерное пространство PCA. На рисунке 1 латентные векторы, полученные с помощью матричной факторизации ALS, четко разделены городами. Однако факторы из «внутригородского» BPR не формируют кластеры по городам, скорее, отели из каждого города охватывают все скрытое пространство (рисунок 2). Это означает, что скрытые векторы не включают четкую характеристику города, а все скрытое пространство сохраняется для других объектов, кроме географических.

Рисунок 1 - PCA для скрытых функций ALS. Нас учат стремиться к красиво разделенным кластерам, но в этом противоречивом интуитивном примере мы утверждаем, что перекрывающиеся сегменты приносят больше пользы. Графики были созданы с помощью TensorFlow.

Рисунок 2 - PCA для BPR в пределах скрытых характеристик города, все отели сосуществуют в одном пространстве независимо от города, это хороший атрибут для рекомендации

Ниже приведены некоторые выбранные отели и их шесть ближайших соседей по косинусному сходству, вычисленное с помощью векторов признаков ALS и BPR. Как видите, соседи целевого отеля в ALS всегда находятся в одном городе, в то время как «внутригородский» BPR не ограничивается городом.

Марина Бэй Сэндс: Сингапур

Shangri-La Hotel At The Shard: Лондон

Fun Wan Hostel Bangkok: Бангкок

Наконец, мы должны отметить, что, хотя модели «в пределах города» очень хорошо работают, когда город дан, их нельзя использовать в одиночку в ситуации, когда мы хотим делать глобальные прогнозы. Показатель релевантности, который мы получаем «в пределах города» -BPR, можно интерпретировать как релевантность для пользователя, при условии, что пользователь перейдет в этот город. Эта оценка может быть высокой, даже если город совершенно не важен для пользователя, но если мы сначала выберем наиболее подходящие города каким-либо другим способом или если город известен, то мы сможем обеспечить еще более точные рекомендации.

ЗАКЛЮЧЕНИЕ

Мы сравнили подходы к обучению «внутри города» и «глобально» в контексте матричной факторизации. Мы обнаружили, что подход к обучению «в пределах города» не учитывает особенности города в латентной репрезентации. Преимущество этого метода заключается в том, что мы можем уменьшить требуемую размерность модели и повысить точность в ситуации, когда мы хотим ранжировать отели, которые все находятся в одном городе. Наконец, мы проверили нашу гипотезу, визуально сравнив скрытые функции в «глобальной» ALS и «внутригородской» модели BPR и изучив некоторые примеры соседних отелей в скрытом пространстве. Несмотря на то, что мы решили использовать матричную факторизацию в качестве примера в этом сообщении в блоге, мы обнаружили, что идея обучения «в пределах города» также распространяется на широкий спектр более сложных алгоритмов ранжирования / рекомендаций.

Считаете ли вы такое исследование интересным, дайте нам знать! Мы всегда ищем новых людей, которые присоединятся к нашим командам инженеров и специалистов по анализу данных; проверить: https://careersatagoda.com/

Этот пост основан на работе Пекки Аалто и Соравита (Джеймса) Сенгкёнгама.

БИБЛИОГРАФИЯ

Ху, Ю. Ю. (нет данных). Совместная фильтрация наборов данных неявной обратной связи. Data Mining, 2008. ICDM’08. Восьмая международная конференция IEEE по. Ieee, 2008.

Рендл, С. е. (2009). BPR: Байесовское персонализированное ранжирование на основе неявной обратной связи. Материалы двадцать пятой конференции по неопределенности в искусственном интеллекте. AUAI Press.

TensorFlow. (2015). TensorFlow: крупномасштабное машинное обучение на гетерогенных системах.