TGViewer
PyMagic PyMagic @pymagic · 5.56K subscribers
Post #145 1.82K
Многорукие бандиты в музыкальных рекомендациях. Часть 2🎉

Сегодня мы более подробно поговорим об алгоритме рекомендации музыки в Spotify - BAndits for Recsplanations as Treatments (Bart), используя в основе простого многорукого бандита ( а именно greed-search стратегию, подробности в предыдущей части) этот алгоритм умеет:
- учитывать контекст (локация пользователя, история прослушиваний)
- прогнозировать удовлетворенность пользователя (вероятность клика, прослушивания)
-учиться на своих ошибках во время работы

Итак, перед нами стоит следующая задача - нужно не просто порекомендовать пользователю трек, но так же объяснить почему именно этому пользователю нужен этот трек. (примеры таких объяснений: "этот трек понравился друзьям", "этот трек несколько раз перематывали" ) В идеале, хотелось бы каждой аудиозаписи сопоставить объяснение(правило) почему она подходит конкретному человеку. Это позволит сделать алгоритм рекомендаций более прозрачным для пользователей и они смогут сами влиять на свои рекомендации.

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

Объяснение (правило) - действие или последовательность действий которые влияют на рекомендации и которые можно параметризовать. Например "понравилось друзьям" параметром может быть количество таких друзей.

Цель Барта предсказать как правила и элементы взаимодействуют в любом заданном контексте и спрогнозировать удовлетворенность пользователя.

В качестве функции вознаграждения возьмем линейную функцию r с функцией активации сигмоида (рисунок 1). Функция вознаграждения зависит от айтема(аудиозаписи), контекста и "объяснения" . Находить максимум будем с помощью линейной регрессии.
Теперь нам нужно построить политику действий которая позволяет достигнуть максимальной удовлетворенности пользователя и сопоставляет прибыльному действию объяснение.
Здесь, так как Барт учится на своих ошибках, мы строим политику действий последовательно, каждое следующее действие с вероятностью pi, которая состоит из произведения вероятностей (подробнее на второй картинке). Как раз тут (вторая картинка) можно заметить закравшегося бандита со стратегий epsilon-greedy, который принимает решение грубо говоря с вероятностью epsilon и (1-epsilon).

Барт, который сочетает в себе рекомендательную систему и исследовательскую, позволяет делать качественные рекомендации и находить новые любимые аудиозаписи благодаря нахождению пар (объяснение, айтем*).
* В качестве айтема может быть аудиозапись, плейлист, то, что мы рекомендуем.
More from @pymagic
  1. Oct 6, 2026Всем привет! 👋 Давно здесь не было новостей, поэтому начну с главной: с недавних пор я пе…
  2. May 19, 2026Уже на этой неделе с 23 мая стартует Data Fest 2026! А 24 мая пройдёт секция ML in Adverti…
  3. May 6, 2026Как кластеризовать миллионы объектов с высокой размерностью и сложной структурой данных? К…
  4. Apr 24, 2026Привет! Вечер четверга — самое время вспомнить о том, что хотелось подать заявку на спикер…
  5. Apr 9, 2026Разбор докладов с конференции И вот подошел к концу второй день конференции Data Fusion, н…
  6. Apr 8, 2026Первый день на Data Fusion 2026 Сегодня, 8 апреля, я побывала на первом дне конференции Da…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →