Дэвид СвитТюнинг систем: экспериментирование для инженеров от A/B-тестирования до байесовской оптимизации
Работает ли программа так, как следует? Изменения сделали систему лучше или хуже? Стоит ли заниматься повышением производительности вместо разработки нового функционала? На подобные вопросы можно ответить только с помощью экспериментов. «Тюнинг систем» раскроет секреты современных экспериментальных практик, разработанных и проверенных мировыми индустриями с самой высокой конкуренцией. Предложенные практики помогут усовершенствовать разработку программного обеспечения, системы машинного обучения и количественного трейдинга. Книга предоставляет набор инструментов для оптимизации программируемых систем. Вы пройдете путь от изучения А/В-тестирования до передовых экспериментальных стратегий, которые используют преимущества машинного обучения и вероятностных методов. Навыки, которые вы получите из этого практического руководства, помогут минимизировать затраты на эксперименты и быстро выбрать подходы и инструменты, которые дадут наилучший результат для бизнеса.
Для бизнеса важен итоговый доход за день, который равен CPC*CTR*[количество посетителей главной страницы]. Есть несколько способов увеличить этот доход: менеджеры по продаже рекламы могут попытаться поднять CPC выше $1 или команда маркетинга может сконцентрироваться на привлечении новых пользователей на главную страницу. А ИМО могут улучшить модель машинного обучения так, чтобы она точнее оценивала вероятность клика на объявлении. Назовем эту модель моделью кликов.
Всякий раз, когда вы делаете измерения на неудачной версии В, вы платите цену, равную разности между значением бизнес-метрики, которое вы могли бы достичь на версии А, и значением, которое вы реально достигли на версии В. Если, например, в качестве бизнес-метрики взять доход, то цена измерений на В равна «доход на версии А минус доход на версии В». Давайте подумаем, как снизить эту цену. Вы не можете просто пораньше остановить А/В-тест, даже если его результаты выглядят убедительно. Издержки короткого теста меньше, но ранняя остановка может дать ложноположительные результаты (см. главу 8, раздел 8.2). Однако можно удешевить А/В-тестирование, немного переосмыслив проблему. Давайте ответим на вопрос: «Что можно сделать, чтобы во время оценки новой версии в рабочей системе почаще измерять лучшую из версий А и В?» В этом вопросе заключается проблема многорукого бандита (МРБ).