Многорукие бандиты в музыкальных рекомендациях. Часть 2🎉
Сегодня мы более подробно поговорим об алгоритме рекомендации музыки в Spotify - BAndits for Recsplanations as Treatments (Bart), используя в основе простого многорукого бандита ( а именно greed-search стратегию, подробности в предыдущей части) этот алгоритм умеет:
- учитывать контекст (локация пользователя, история прослушиваний)
- прогнозировать удовлетворенность пользователя (вероятность клика, прослушивания)
-учиться на своих ошибках во время работы
Итак, перед нами стоит следующая задача - нужно не просто порекомендовать пользователю трек, но так же объяснить почему именно этому пользователю нужен этот трек. (примеры таких объяснений: "этот трек понравился друзьям", "этот трек несколько раз перематывали" ) В идеале, хотелось бы каждой аудиозаписи сопоставить объяснение(правило) почему она подходит конкретному человеку. Это позволит сделать алгоритм рекомендаций более прозрачным для пользователей и они смогут сами влиять на свои рекомендации.
Термины которые будем использовать:
Контекст - это время суток, последние понравившиеся треки, жанр последнего трека - это информация о пользователе и композиции. Так же важное свойство - контекст меняется со временем и от наших действий и действий пользователя.
Объяснение (правило) - действие или последовательность действий которые влияют на рекомендации и которые можно параметризовать. Например "понравилось друзьям" параметром может быть количество таких друзей.
Цель Барта предсказать как правила и элементы взаимодействуют в любом заданном контексте и спрогнозировать удовлетворенность пользователя.
В качестве функции вознаграждения возьмем линейную функцию r с функцией активации сигмоида (рисунок 1). Функция вознаграждения зависит от айтема(аудиозаписи), контекста и "объяснения" . Находить максимум будем с помощью линейной регрессии.
Теперь нам нужно построить политику действий которая позволяет достигнуть максимальной удовлетворенности пользователя и сопоставляет прибыльному действию объяснение.
Здесь, так как Барт учится на своих ошибках, мы строим политику действий последовательно, каждое следующее действие с вероятностью pi, которая состоит из произведения вероятностей (подробнее на второй картинке). Как раз тут (вторая картинка) можно заметить закравшегося бандита со стратегий epsilon-greedy, который принимает решение грубо говоря с вероятностью epsilon и (1-epsilon).
Барт, который сочетает в себе рекомендательную систему и исследовательскую, позволяет делать качественные рекомендации и находить новые любимые аудиозаписи благодаря нахождению пар (объяснение, айтем*).
* В качестве айтема может быть аудиозапись, плейлист, то, что мы рекомендуем.
Сегодня мы более подробно поговорим об алгоритме рекомендации музыки в Spotify - BAndits for Recsplanations as Treatments (Bart), используя в основе простого многорукого бандита ( а именно greed-search стратегию, подробности в предыдущей части) этот алгоритм умеет:
- учитывать контекст (локация пользователя, история прослушиваний)
- прогнозировать удовлетворенность пользователя (вероятность клика, прослушивания)
-учиться на своих ошибках во время работы
Итак, перед нами стоит следующая задача - нужно не просто порекомендовать пользователю трек, но так же объяснить почему именно этому пользователю нужен этот трек. (примеры таких объяснений: "этот трек понравился друзьям", "этот трек несколько раз перематывали" ) В идеале, хотелось бы каждой аудиозаписи сопоставить объяснение(правило) почему она подходит конкретному человеку. Это позволит сделать алгоритм рекомендаций более прозрачным для пользователей и они смогут сами влиять на свои рекомендации.
Термины которые будем использовать:
Контекст - это время суток, последние понравившиеся треки, жанр последнего трека - это информация о пользователе и композиции. Так же важное свойство - контекст меняется со временем и от наших действий и действий пользователя.
Объяснение (правило) - действие или последовательность действий которые влияют на рекомендации и которые можно параметризовать. Например "понравилось друзьям" параметром может быть количество таких друзей.
Цель Барта предсказать как правила и элементы взаимодействуют в любом заданном контексте и спрогнозировать удовлетворенность пользователя.
В качестве функции вознаграждения возьмем линейную функцию r с функцией активации сигмоида (рисунок 1). Функция вознаграждения зависит от айтема(аудиозаписи), контекста и "объяснения" . Находить максимум будем с помощью линейной регрессии.
Теперь нам нужно построить политику действий которая позволяет достигнуть максимальной удовлетворенности пользователя и сопоставляет прибыльному действию объяснение.
Здесь, так как Барт учится на своих ошибках, мы строим политику действий последовательно, каждое следующее действие с вероятностью pi, которая состоит из произведения вероятностей (подробнее на второй картинке). Как раз тут (вторая картинка) можно заметить закравшегося бандита со стратегий epsilon-greedy, который принимает решение грубо говоря с вероятностью epsilon и (1-epsilon).
Барт, который сочетает в себе рекомендательную систему и исследовательскую, позволяет делать качественные рекомендации и находить новые любимые аудиозаписи благодаря нахождению пар (объяснение, айтем*).
* В качестве айтема может быть аудиозапись, плейлист, то, что мы рекомендуем.