Онлайн-классификация пользователей в быстрой Крипте....

Post on 23-Jun-2015

88 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Онлайн-классификация пользователей в быстрой Крипте. Родион Желудков

TRANSCRIPT

Онлайн-классификация пользователей в быстрой КриптеЖелудков Родион

Крипта

〉 Пол

〉 Возраст

〉 Доход

〉 Интересы

〉 Look-a-like

3

Крипта

4

История за 30 дней

MatrixNet

Рекламная Сеть Яндекса

И так каждую ночь

MatrixNet

5

Магия

MatrixNet

6

Классификатор

Новые пользователи

〉 Почистили куку

〉Обновили браузер

〉Мобильные платформы

!

!

Целый день ничего не знаем

7

8

40 % мультипрофили

Мультипрофили

〉 freebsd port updates

〉 bashdoor

〉 рисование для самых маленьких

〉 методические пособия для воспитателей

!

И так 30 дней

10

11http://vielle.ru/wp-content/uploads/2014/05/g_69210b087cffced3703fbc233d0b1626.jpg

Быстрая Крипта

Классификация

〉 По одному событию

〉 По пользовательской сессии

〉 Быстро!

!

Поисковый запрос «Оленемер»

12

250к RPS Меньше секунды 12 млрд, 15Тб в день

RPS в цифрах

〉 Интернет-магазин: 100

〉 Веб сервер: 1k – 10k

〉Wikipedia: 30k – 70k

〉 DDoS on Reddit: 400k

14

Apache Storm

Платформа для Real Time вычислений

〉Масштабируется

〉 Гарантийная доставка (at least once)

〉 Асинхронная обработка

〉Очень легко настраивать

15

Apache Storm

Clojure Java API Thrift Netty Zookeeper

16

Apache Storm. DAG

Spout

Spout

Bolt

Bolt

Bolt

Bolt

17

Apache Storm. UI

18

Машинное обучение

〉 Данные. Поведение пользователей в интернете

〉 Размеченная выборка

〉 Гипотеза. Красит неразмеченные данные

〉 Вероятности. Наша уверенность в раскраске

19

Онлайн классификация

1. Оффлайн модель. Онлайн применение

Выделяем фичи

Считаем вероятности

2. Модель дообучается онлайн

То же самое + постоянное обучение

20

Наивный байесовский классификатор

〉 Априорные вероятности: 48% 52%

〉Объединяем в сессию использую условную независимость

!

21

Метод максимального правдоподобия

〉 Добавляем сглаживание

〉 Собираем числа онлайн

〉 Холодный старт

22

Хранилище

〉 Увеличить счетчик

〉 Получить счетчик

〉 Запросы по ключу

〉 Быстро!

!

Cassandra

23

Группировка и шардинг

〉 Ходить в кассандру параллельно Шардинг

〉 Кешировать побольше локально

〉 Не кешировать по два раза Группировка

24

Фильтр Блума

〉 Надо классифицировать?

〉 Размечен ли профиль?

〉 Ложноположительные срабатывания

25

Ничего не понятно

Графики

〉 Точность на полноте

〉 Сколько пользователей

〉 Какие пользователи

〉 Задержки

27

Все мужчины!

http://cdn.overclock.net/b/b1/b1f1a63d_pimp-bender.jpeg

Неправильные вероятности

Настоящий мужчина Настоящая женщина

30

Первый результат

31

Линейный модели

〉 Линейная гипотеза

〉 Логистическая регрессия

〉Минимизация функции потерь на тренировочных данных

〉 Градиентный спуск

32

Stochastic Gradient Descent

〉 Тренировочная выборка бесконечна

〉Можем постоянно учиться

〉 Learning rate отдельный для каждого атрибута

!

Vowpal Wabbit (http://hunch.net/~vw)

33

34

Learner

Output

Quality

Classifier

Splitter

Точность на полноте: 70% Покрытие: +15%

36http://vielle.ru/wp-content/uploads/2014/05/g_69210b087cffced3703fbc233d0b1626.jpg

Выводы

〉 Сначала оффлайн, потом онлайн

〉Отлаживать инфраструктуру отдельно от математики

〉 Простые алгоритмы работают хорошо и зачастую их достаточно для решения практических задач

〉 Больше графиков с самого начала

〉 Использовать готовые решения

37

Спасибо!

39

Родион Желудков

Разработчик

Контакты

rodion@yandex-team.ru

top related