online learning - apache spark alternatives: vowpal wabbit. (18.06.2015)

13
Онлайн обучение альтернатива Apache Spark Крот Александр Москва, 2015

Upload: bddmoscow

Post on 15-Aug-2015

118 views

Category:

Science


6 download

TRANSCRIPT

Онлайн обучение альтернатива Apache Spark

Крот Александр

Москва, 2015

•  Large Scale Machine Learning •  MapReduce подход •  Онлайн обучение – Классификация и регрессия с помощью линейных функций

– Процесс обновления весов •  Преимущества онлайн обучения •  Выбор функции потерь •  Метрики качества •  Обзор Vowpal Wabbit

План

Москва, 2015 2

•  Пусть дана большая обучающая выборка объектов – Много объектов –  Большая размерность признакового описания

•  Фичи при этом уже подготовлены –  Не нужно делать сложный ETL

•  Необходимо построить классификатор или решить задачу регрессии

Такое пока что бывает очень редко!

Large Scale Machine Learning

Москва, 2015 3

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

MapReduce подход

Москва, 2015 4

Первая сумма

MapReduce подход

Москва, 2015 5

Вторая сумма

MapReduce подход

Москва, 2015 6

•  Пусть дана обучающая выборка объектов •  Необходимо решить задачу регрессии: –  Найти такой вектор весов W, что значение целевой переменной объекта y близка к (W,x)

•  Необходимо обучить классикатор: –  Найти такой вектор весов W, что метка класса объекта

y близка к sigmoid( (W,x) ) – в случае логистической регрессии

Онлайн обучение

Москва, 2015 7

•  Инициализируем начальные веса (обычно W = 0) •  Далее, итерационно: –  Получаем признаки очередного объекта x –  Прогнозируем целевую переменную (метку или значение) y для этого объекта

–  Обновляем веса так, чтобы y был близок к своему истинному значению

–  Как правило используются модификации метода стохастического градиента

Процесс

Москва, 2015 8

В зависимости от того, что прогнозируем •  Наиболее часто встречающее значение –  Квантильная с параметром 0.5

•  Прибыль, продажи, нагрузка –  Квадратичная

•  Вероятность дефолта, клика –  Логистическая

Выбор функции потерь

Москва, 2015 9

•  Используется Progressive Validation –  Получаем признаки объекта x –  Делаем линейное предсказание y –  Измеряем ошибку на текущем объекте –  Обновляем веса, чтобы уменьшить ошибку на текущем объекте

•  Метрика качества в момент T – средняя ошибка на первых T объектах

Метрики качества

Москва, 2015 10

•  Разработан в Microsoft/Yahoo Research •  Работает из командной строки •  Имеет собственный формат данных –  Label |A feature1:value1 |B feature2:value2

•  Легко делается множество эвристик –  Квадратичные, кубичные фичи, n-граммы (-q, -cubic, -

ngram) –  L1, L2 – нормализация –  Learning Rate

Обзор Vowpal Wabbit

Москва, 2015 11

•  Решение задачи Титаник –  Преобразуем фичи (оставляем как есть) –  Обучаем классификатор: vw train_titanic.vw -f model.vw

--binary --passes 20 -c -q ff --normalized --l1 0.00000001 --l2 0.0000001 -b 24

–  Делаем predict на тестовой выборке: vw -d test_titanic.vw -t -i model.vw -p preds_titanic.txt

–  Получаем 0.79 AUC

Обзор Vowpal Wabbit

Москва, 2015 12

Спасибо за внимание!

MLClass.ru [email protected]

Москва, 2015