Подход к решению data mining задач
DESCRIPTION
Презентация о подходе к решению задач образовательной программы Data Mining Track компании Data Mining LabsTRANSCRIPT
Решении DM/ML задач
ЗадачаНам дали данные.
Нам поставили задачу.
Мы знаем какой должен быть результат.
ДанныеРезультат
Случайный лесСлучайный лес DM Labs2 Задача
ЗадачаНам дали данные.
Нам поставили задачу.
Мы знаем какой должен быть результат.
ДанныеРезультат
Давайте решим влоб!
RF/SVM, вдруг сработает
Случайный лесСлучайный лес DM Labs3 Задача
ЗадачаНам дали данные.
Нам поставили задачу.
Мы знаем какой должен быть результат.
ДанныеРезультат
Случайный лесСлучайный лес DM Labs4 Задача
Что произошло?
Мы что-то где-то упустили.
ДанныеРезультат
Случайный лесСлучайный лес DM Labs5 Что пошло не так?
Что произошло?
Мы поставили гипотезу: применим RF влоб, вдруг сработает.
ДанныеРезультат
Случайный лесСлучайный лес DM Labs6 Что пошло не так?
Модель.
Что если мы ошиблись с RF/SVM?
Тоесть, все заработало, но результат был плох?
ДанныеРезультатМодель
Случайный лесСлучайный лес DM Labs7 Модели
Модель.
Что если мы ошиблись с RF/SVM?
Мы же не накосячили с тренировочным, валидационным и тестовым множествами, а также CV?
ДанныеРезультатМодель
Случайный лесСлучайный лес DM Labs8 Модели. Обучающие множества
Модель.
ДанныеРезультатМодель
Есть:•Обученная модель•Результат ее работы на валидационном(тестовом) множестве (ошибка)
Случайный лесСлучайный лес DM Labs9 Что мы хотим от моделей?
Модель.
ДанныеРезультатМодель
Есть:•Обученная модель•Результат ее работы на валидационном(тестовом) множестве (ошибка)
Хотим:•Улучшить (обобщающую) точность
Случайный лесСлучайный лес DM Labs10 Что мы хотим от моделей?
Модель.
ДанныеРезультатМодель
Хотим:•Улучшить (обобщающую) точность
Случайный лесСлучайный лес DM Labs11 Что мы можем сделать с моделями?
Модель.
ДанныеРезультат
МодельСложность*
РегуляризацияГиперпараметры
Выбор гиперпараметров тратит много машинного времени.
• GBM: #base-learners, lambda, RI, *prune, Loss, • SVM: kernel, width, cost, nu-SVM, ...• GLMnet: a.ridge, AIC, response family• RF: … ?• Neural Net: … ?
Случайный лесСлучайный лес DM Labs12 Что мы можем сделать с моделями?
Модель.
ДанныеРезультат
МодельСложность*
РегуляризацияГиперпараметры
Где мы еще могли накосячить?
Случайный лесСлучайный лес DM Labs13 Что еще могло пойти не так?
Модель.
ДанныеРезультат
МодельСложность*
РегуляризацияГиперпараметры
Где мы еще могли накосячить?
Big Data
Machine Learning
Случайный лесСлучайный лес DM Labs14 Что еще могло пойти не так?
Модель.
ДанныеРезультат
Оно вообще не посчиталось.
Иногда – феерично.
Big Data
Machine Learning
Случайный лесСлучайный лес DM Labs15 Что еще могло пойти не так?
Обработка данных.
Тесно связана с моделью.
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
Обработкаданных
Случайный лесСлучайный лес DM Labs16 Обработка данных
Обработка данных.
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
Обработкаданных
Хотим:•Заставить что-то работать •Уменьшить количество переменных\данных•Увеличить скорость вычисления\обучения (!=)
Случайный лесСлучайный лес DM Labs17 Обработка данных
Обработка данных.
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
Обработкаданных
Хотим:•Заставить что-то работать •Уменьшить количество переменных\данных•Увеличить скорость вычисления\обучения (!=)
Случайный лесСлучайный лес DM Labs18 Возможности обработки данных
Обработка данных.
В подвыборки можно вкладывать смысл:5% юзеров, записей, уникальных юзеров, последних записей...
Feature learning – основа deep learning. Unsupervised, обычно отдельно:http://web.eecs.umich.edu/~honglak/nipsdlufl10-AnalysisSingleLayerUnsupervisedFeatureLearning.pdf
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
ОбработкаВыбросы
Подвыборка
Feature Learning
Случайный лесСлучайный лес DM Labs19 Обработка данных. Feature Learning
Обработка данных.
Что-то еще?
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
ОбработкаВыбросы
Подвыборка
Feature Learning
Случайный лесСлучайный лес DM Labs20 Что еще могло пойти не так?
Обработка данных.
Что если все еще не взлетает.
ДанныеРезультат
МодельСложность*
Регуляризация
Гиперпараметры
ОбработкаВыбросы
Подвыборка
Feature Learning
Случайный лесСлучайный лес DM Labs21 Что еще могло пойти не так?
Гипотеза о задаче.
Самое сложное.
Понять что вообще происходит. Неправильные фичи могут ни к чему не привести.
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
Случайный лесСлучайный лес DM Labs22 «Спросить у эксперта»
Гипотеза о задаче.
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
Есть:•Мы перепробовали кучу моделей и кучу гипотез.
Случайный лесСлучайный лес DM Labs23 Гипотезы о задаче
Гипотеза о задаче.
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
Пример:
•Изображения: сверточные признаки, Haar-признаки
•Временные ряды: fft разложения, моменты с лагом, MA
•Пользователи: признаки из графа(betweenness, degree, centrality, page rank), гео-специфика
•...
Случайный лесСлучайный лес DM Labs24 Гипотезы о задаче
Kaggle.
Как организовать команду?
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
Случайный лесСлучайный лес DM Labs25 Kaggle
Kaggle.
Как организовать команду?
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
Случайный лесСлучайный лес DM Labs26 Kaggle
Kaggle.
Техник: 1, 5данные должны быть всегда доступны, сабмит всегда делался
Шпион: 2, 3, идеи про 4изучает литературу, статьи, форумы. Генерирует идеи
Спецназ: 3, 4заняты основной работой, не парятся об 1, 2, 5 !!!
Капитан: 1, 2, 3, 4, 5координирует работу всех участников, следит за всем сразу
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
1 2 3 4 5Случайный лесСлучайный лес DM Labs27 Kaggle
Kaggle.
Техник: 1, 5 …
Шпион: 2, 3, идеи про 4 …
Спецназ: 3, 4 …
Капитан: 1, 2, 3, 4, 5 …
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
1 2 3 4 5Случайный лесСлучайный лес DM Labs28 Kaggle
Как вообще решаются задачи.
Где здесь результаты сообществ?
• Machine Learning
• Data Mining
• Специфичных областей (видео, биология, поиск, ... )
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
DM Labs29 Как вообще решают задачи?
Как вообще решаются задачи.
Где здесь результаты сообществ?
• Machine Learning
• Data Mining
• Специфичных областей (видео, биология, поиск, ... )
ДанныеРезультат
Модель
Сложность*
Регуляризация
Гиперпараметры
Обработка
Выбросы
Подвыборка
Feature Learning
Гипотезы о задаче
Feature engineering
MLDomain
Data Miner’ами себя зовут вообще все. Даже те кто выложил данные...
DM Labs30 Как вообще решают задачи?
Summary• ...
DM Labs31 Summary
Прочие штуки.Стэкинг моделей:Если вы вдруг сделали вообще все, можно похимичить
Модель1
Модель 2
Усреднение
Model 1Level 1
Model KLevel 1…
Модель K
Стэкинг, линейные модели
CPD-сшивание
Усреднение
Model 1Level 1
Model KLevel 1…
Стэкинг, линейные модели
CPD-сшивание
Уровень 0 Уровень1 Уровень 2
DM Labs32 Прочие штуки