Обучаемый симулятор для долговременных интерактивных систем | OTUS

Курсы

Программирование
Java Developer. Professional Highload Architect C++ Developer. Basic Специализация C++ Developer C++ Developer. Professional Java Developer. Basic Kotlin Developer. Basic Microservice Architecture JavaScript Developer. Basic Cloud Solution Architecture Team Lead C# Developer. Professional Алгоритмы и структуры данных Rust Developer C# Developer. Basic NoSQL Выбор профессии в IT
-99%
Python Developer. Basic Python Developer. Professional Базы данных iOS Developer. Professional React.js Developer Scala-разработчик Специализация iOS Unity Game Developer. Basic MS SQL Server Developer Kotlin Backend Developer Node.js Developer Symfony Framework PHP Developer. Basic Буткемп Java Groovy Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Обучаемый симулятор для долговременных интерактивных систем

Онлайн эксперименты – рискованное занятие: когда изменения, которые мы тестируем, плохие, бизнес теряет пользователей и деньги. В научной статье под названием "Accordion: A Trainable Simulator for Long-Term Interactive Systems" авторы предлагают обучить симулятор, который можно запускать офлайн и тестировать гипотезы безопасно для бизнеса. Выводы, полученные на этом симуляторе, точнее, чем выводы, полученные на других. Что же, давайте сделаем краткий обзор этой работы.

Детали

Симулятор -- это система, которая умеет генерировать историю взаимодействия пользователя с сервисом. История состоит из записей вида время визита, ИД пользователя, рекомендация, реакция. Симуляторы, которые существовали раньше, либо были основаны на эвристиках, либо обучались только предсказывать реакцию пользователя на рекомендации. Авторы предлагают модель, которая умеет вдобавок генерировать реалистичное время визита. Время визита важно учитывать, потому что оно отражает, как пользователь реагирует на систему: если пользователь приходит часто, значит сервис нравится; а если все реже, то пользователь скоро уйдет. В итоге симулятор содержит три модели: модель времени визита, модель-имитатор рекомендера и модель, которая предсказывает реакцию пользователя на рекомендацию.

b1c99b863dc40f2b5bda2ad5bca30a9d_1-20219-c2a937.png

Ключевой элемент статьи -- модель времени визита. Именно из-за нее предложенный симулятор точнее остальных. Время визита моделируется как сумма нескольких негомогенных пуассоновских процессов: таких, в которых частота возникновения события меняется со временем. Частоты каждого из этих пуассоновских процессов вычисляются feed-forward сетями, у которых на входе время и признаки, зависящие от предыдущей истории пользователя. Для этой модели получилось выписать функцию правдоподобия и оптимизировать её приближенно. Авторы предложили эффективный алгоритм сэмплирования из симулятора, основанный на технике rejection sampling.

В экспериментах авторы используют симулятор для двух задач: настройки гиперпараметров рекомендательной системы и предсказания результатов A/B теста. В первой задаче симулятор оказался более чувствительным к гиперпараметрам рекомендера, чем симулятор, который не учитывает время визита пользователя. Во второй задаче симулятор предсказал результат теста более точно, чем техника Norm-IPS.

Какие остались вопросы

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

Что можно использовать

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

Больше материалов смотрите в моем блоге на Хабре: https://habr.com/ru/users/netcitizen/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться