26
Михаил Левин Руководитель группы анализа больших данных Как заработать миллионы на своих данных и машинном обучении

Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

Embed Size (px)

DESCRIPTION

Михаил рассказал про то, как устроена работа по улучшению качества Директа в поиске, на котором Яндекс зарабатывает большую часть своих денег. Центральную роль в этом играет задача предсказания вероятности клика на объявление. Как подбираются эти формулы, что при этом оптимизируется, как за счет этого зарабатываются дополнительные миллионы и как компания убеждается в том, что их действительно заработали, а также как автоматизируется все, что можно. И в результате, весь процесс становится эффективнее.

Citation preview

Page 1: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

Михаил Левин

Руководитель группы анализа больших данных

Как заработать миллионына своих данных и машинном обучении

Page 2: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

2

Реклама над результатами поиска

Page 3: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

3

Справа

Page 4: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

4

И под результатами поиска

Page 5: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

5

Как отбирается реклама

• Рекламодатели создают объявления• Выбирают ключевые фразы• Указывают ставки• Пользователь задает запрос• Отбираем подходящие фразы• Показываем лучшие объявления• Рекламодатель платит за клики

Page 6: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

6

• Релевантные объявления - клики• Релевантный сайт – конверсии• Нерелевантные – отток пользователей• У рекламодателей аукцион за клики• Ставками управляют рекламодатели• Мы управляем аукционом и отбором

Как работает система

Page 7: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

7

• Счастье пользователей• Счастье рекламодателей• Деньги• Противоречащие цели?• Нет• Но речь не об этом

Что оптимизируем

Page 8: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

8

• Математическое ожидание денег• CPM = P(click) * bid• Упорядочиваем по CPM• Ставки даны, надо узнать P(click)• Прогнозирование вероятности клика• А еще можно улучшать дизайн

Как оптимизировать деньги

Page 9: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

9

• Мировой рынок поисковой рекламы $25B

• Выручка Яндекса в 2013 > $1B

• Улучшение на 2% - $20M в год

• Таких и более происходит несколько в год

Поисковая реклама

Page 10: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

10

• Прогнозирование вероятности клика• Дизайн• Параметры аукциона• Релевантность• …

Улучшения

Page 11: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

11

• Деньги• Показы• Клики• CTR• Конверсии• CPA• Хорошие клики

Метрики

Page 12: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

12

• Запустим новую и посмотрим на метрики?• А что если погода плохая?• Запустим новую на новых пользователях?• Они отличаются от старых• Мужчинам покажем новую версию?• ITшникам новую версию?• Они нерепрезентативны• Новую версию в Минске?• Даже минчане нерепрезентативны

Как на деле узнать, стало ли лучше?

Page 13: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

13

• На случайную долю запросов?• Нас интересует влияние на пользователя• Случайная доля пользователей, 2%• Тоже не идеально, но жить можно• Сравним метрики в среднем на 1%

пользователей• Как долго ждать?• Оценим статистическую значимость• A/B-тестирование

Как на деле узнать, стало ли лучше?

Page 14: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

14

• Все время эксперименты – дорого и тяжело• Оффлайн-метрики• Точность, полнота, AUC, Log-likelihood• Нужна корреляция с онлайн-метриками!• +1% AUC даст +1% денег…• …Если подкрутить параметры • А как крутить?• Оффлайн-прогноз

Как оптимизировать?

Page 15: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

15

• Две формулы: старая и новая• Берем запросы из прошлого• Берем всю базу с объявлениями• Симулируем аукцион с обеими формулами• Смотрим, где больше кликов, денег• Откуда взять клики?• Генерируем клики новой формулой

Как оптимизировать?

Page 16: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

16

• Как предсказывать?• Исторические данные• Пишем логи• CTR (click-through rate) ≔ P(click) = ?• P(click) = Clicks / Shows

Вероятность клика или CTR

Page 17: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

17

• P(click) = Clicks / Shows• Зависит от запроса Q• P(click) = Clicks(Q, Ad) / Shows(Q, Ad)• Слишком много уникальных запросов • Фраза P – почти то же, что запрос Q• Фраз ограниченное число• P(click) = Clicks(P, Ad) / Shows(P, Ad)

Вероятность клика или CTR

Page 18: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

18

«Жирные» слова в заголовке

Page 19: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

19

• P(click) = Clicks(P, Ad) / Shows(P, Ad)• За какой период брать статистику?• А если запрос все-таки влияет?

– Ключевая фраза iphone, продают последнюю модель– iphone 3GS, iphone 5, iphone 6, iphone наушники – разный CTR

• Объявление отвечает на запрос?• Есть доставка в регион пользователя?• Смотрит с компьютера или с телефона?

Вероятность клика

Page 20: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

20

• Как использовать всю информацию?• Сотни миллионов строк логов• В каждой строке сотни признаков• Машинное обучение

Вероятность клика

Clicks Shows Region Text Relevance … Click? P(click)

10 100 Москва 0.586 … 0 0.11

1 200 Ростов 0.253 … 0 0.003

… … … … … … …

0 1 СПб 0.85 1 0.12

Page 21: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

21

• Поведение пользователей меняется• Сезонность• Время суток• День недели• Появляются новые объявления• Новые пользователи• Модель устаревает

Время течет…

Page 22: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

22

• Все время запускать новые?• Это целый процесс• Момент запуска – все меняется• Момент запуска – «стресс» для рынка• Устаревает не так быстро• Все время запускать эксперименты…• …Автоматически

Что делать?

Page 23: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

23

• Берем последний месяц логов• Делим на обучение и тест• Обучаем модель, считаем качество• Письмо на рассылку с метриками• Подбираем параметры• Запускаем эксперимент автоматически• Ждем, оцениваем• Письмо с результатами• Если лучше – жмем кнопку и запускаем

Автоэксперименты

Page 24: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

24

• А если есть критерий запуска…• Модель перезапускается сама• А мы все отдыхаем на островах • …Но пока так делать страшно

Автоэксперименты - будущее

Page 25: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

25

Вопросы?

Page 26: Левин Михаил - Как заработать миллионы на своих данных и машинном обучении. Yandex

Михаил Левин

[email protected]

Спасибо

Руководитель группы анализа больших данных