Online learning - Apache Spark alternatives: Vowpal Wabbit. (18.06.2015)
Transcript of Online learning - Apache Spark alternatives: Vowpal Wabbit. (18.06.2015)
• Large Scale Machine Learning • MapReduce подход • Онлайн обучение – Классификация и регрессия с помощью линейных функций
– Процесс обновления весов • Преимущества онлайн обучения • Выбор функции потерь • Метрики качества • Обзор Vowpal Wabbit
План
Москва, 2015 2
• Пусть дана большая обучающая выборка объектов – Много объектов – Большая размерность признакового описания
• Фичи при этом уже подготовлены – Не нужно делать сложный ETL
• Необходимо построить классификатор или решить задачу регрессии
Такое пока что бывает очень редко!
Large Scale Machine Learning
Москва, 2015 3
• Пусть дана обучающая выборка объектов • Необходимо решить задачу регрессии: – Найти такой вектор весов 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