ݺߣ

ݺߣShare a Scribd company logo
Введение в Data Science
Занятие 10. Метод ансамблей
Николай Анохин Михаил Фирулик
17 мая 2014 г.
Метод ансамблей
Boosting
Bagging
Комбинирование моделей
Задача классификации
Пусть дана выборка, состоящая из обучающих объектов
X = (x1, . . . , xN ),
и соответствующих значений целевой переменной
Y = (y1, . . . , yN ) = (f (x1), . . . , f (xN )).
Требуется найти функцию h(x), наилучшим образом приближающую
f (x), то есть точно предсказывающую значение целевой переменной
для любых x.
Недостатки одиночных моделей
Statistical issue
риск выбрать неправильную гипотезу из возможного набора,
учитывая ограниченность выборки
Computational issue
риск получить локальный минимум в результате оптимизации
Representational issue
риск, что ни одна из моделей не окажется достаточно хорошей
Метод ансамблей
Идея
Построить несколько базовых моделей и правильным образом
скомбинировать их для принятия решения. В идеале базовые
модели должны быть максимально точными и при этом
разнообразными.
Виды ансамблей
комбинация классификаторов (combining classifiers)
pattern recognition
ансамбль слабых моделей (ensemble of weak learners)
machine learning
смесь экспертов (mixture of experts)
neural networks
Стоит ли?
Рекомендательные системы
Победитель Netflx Prize $1M
(первое и второе места)
Компьютерное зрение
AdaBoost with cascade –
определение лиц на фото
(или стыковка с МКС )
Медицинская диагностика
Определение болезни на
ранней стадии
Boosting
Пусть дан алгоритм обучения “слабой” модели – такой, которая
только немного лучше случайности
Идея метода
Последовательно обучать слабые
модели так, что каждая
следующая модель “исправляет
ошибки” предыдущих. Для
предсказания используется
комбинация из всех моделей
последовательности.
AdaBoost
ada_boost(X, Y , T):
инициализируем D1 = 1/m
for t = 1, . . . , T:
обучаем модель ht(x) = L(X, Y ),
принимая во внимание распределение Dt
вычисляем ошибку ht(x): t = Px∼Dt
(ht(x) = f (x))
if t > error_rdm:
break
вычисляем вес ht(x): at = 1
2 ln(1− t
t
)
новое распределение: Dt+1(x) = Dt (x)
Zt
exp(−atf (x)ht(x))
return H(x) = sign
T
t=1 atht(x)
Свойства AdaBoost
Минимизирует экспоненциальную ошибку (exponential loss)
Lexp(h|D) = Ex∼D[e−f (x)h(x)
]
Требует обучения модели с учетом распределения
Варианты: re-weighting или re-sampling
Ошибка классификации
D ≤ X + O
dT
N
(d отражает “сложность” классификатора)
AdaBoost: тесты
Пример
h1(x) =
+1, если x1 > −0.5
−1, иначе
h2(x) =
−1, если x1 > −0.5
+1, иначе
h3(x) =
+1, если x1 > +0.5
−1, иначе
h4(x) =
−1, если x1 > +0.5
+1, иначе
h5(x) =
+1, если x2 > −0.5
−1, иначе
h6(x) =
−1, если x2 > −0.5
+1, иначе
h7(x) =
+1, если x2 > +0.5
−1, иначе
h8(x) =
−1, если x2 > +0.5
+1, иначе
Еще boosting
LogitBoost
Llog (h|D) = Ex∼D ln 1 + e−2f (x)h(x)
GradientBoosting
оптимизация произвольной функции потерь + регуляризация
AdaBoost. Итоги
+ Высокая точность
+ Почти не переобучается
— Трудно параллелизовать
— Чувствителен к шуму
Bagging
Bagging = Bootstrap + Aggregating
Идея метода
Обучить несколько независимых моделей на основании случайно
выбранных (bootstrap) подмножеств объектов из обучающей
выборки. Классификация производится на основании результата
голосования (aggregating) моделей.
Bagging
bagging(X, Y , T):
for t = 1, . . . , T:
генерируем bootstrap-распределение Dbs
обучаем модель ht(x) = L(X, Y ),
принимая во внимание распределение Dbs
return H(x) = arg maxy∈Y
T
t=1 I(ht(x) = y)
Bagging: тесты
Random Forest
random_tree(X, Y , K):
N – узел дерева для X
if все x ∈ X одного класса:
return N
F – случайно выбираем K признаков
f ∈ F – признак, наилучшим образом разделяющий X
Nl = random_tree(Xf
l , Y f
l , K)
Nr = random_tree(Xf
r , Y f
r , K)
добавляем Nl и Nr как детей к N
return N
Random Forest: тесты
Модификации Random Forest
VR-Tree
В каждом узле с вероятностью α просиходит случайный выбор
признака
Density estimation
Польностью случайное дерево
Anomaly Detection
Польностью случайное дерево с ограничением по глубине
SCiForest
Density Estimation
Random Forest. Итоги
+ Высокая точность
+ Мало переобучения
+ Легко параллелится
— Медленный без параллелизма
Сравнение методов
Зоопарк комбинаций
Задача регрессии
averaging
weighted averaging
Задача классификации
majority voting
plurality voting
weighted voting
soft voting
Кроме того: stacking
Выводы
Задача. Распознавание цифр
Дана обучающая выборка с картинками 8x8, на каждой из картинок
изображена рукописная цифра.
$ python digits.py -s 25
1. для алгоритма AdaBoost построить график зависимости
train_error и test_error от T
2. для алгоритма RandomForest построить график зависимости
train_error и test_error от размера леса
3. реализовать простейший голосующий ансамбль и исследовать
зависимость его точности от вида и количества базовых моделей

More Related Content

What's hot (20)

L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
Technosphere1
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
Technosphere1
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
Technosphere1
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
Technosphere1
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
Technosphere1
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
Theoretical mechanics department
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
Theoretical mechanics department
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
School 242
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
Лекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графахЛекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графах
Mikhail Kurnosov
Основы MATLAB. Численные методы
Основы MATLAB. Численные методыОсновы MATLAB. Численные методы
Основы MATLAB. Численные методы
Theoretical mechanics department
Лекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графеЛекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графе
Mikhail Kurnosov
L5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмыL5: Л5 Байесовские алгоритмы
L5: Л5 Байесовские алгоритмы
Technosphere1
Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов" Лекция №7 "Машина опорных векторов"
Лекция №7 "Машина опорных векторов"
Technosphere1
Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии" Лекция №6 "Линейные модели для классификации и регрессии"
Лекция №6 "Линейные модели для классификации и регрессии"
Technosphere1
L2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибокL2: Задача классификации и регрессии. Метрики ошибок
L2: Задача классификации и регрессии. Метрики ошибок
Technosphere1
Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение" Лекция №10 "Алгоритмические композиции. Завершение"
Лекция №10 "Алгоритмические композиции. Завершение"
Technosphere1
Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"Лекция №9 "Алгоритмические композиции. Начало"
Лекция №9 "Алгоритмические композиции. Начало"
Technosphere1
Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining" Лекция №1 "Задачи Data Mining"
Лекция №1 "Задачи Data Mining"
Technosphere1
Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства" Лекция №8 "Методы снижения размерности пространства"
Лекция №8 "Методы снижения размерности пространства"
Technosphere1
Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана" Лекция №12 "Ограниченная машина Больцмана"
Лекция №12 "Ограниченная машина Больцмана"
Technosphere1
Многочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближенийМногочлены наилучших среднеквадратичных приближений
Многочлены наилучших среднеквадратичных приближений
Theoretical mechanics department
Решение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементовРешение краевых задач методом конечных элементов
Решение краевых задач методом конечных элементов
Theoretical mechanics department
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Лекция №15. Методы программирования. Предмет "Структуры и алгоритмы обработки...
Nikolay Grebenshikov
Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети" Лекция №13 "Глубокие нейронные сети"
Лекция №13 "Глубокие нейронные сети"
Technosphere1
Разложение на множители
Разложение на множителиРазложение на множители
Разложение на множители
School 242
Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей" Лекция №11 "Основы нейронных сетей"
Лекция №11 "Основы нейронных сетей"
Technosphere1
Лекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графахЛекция 9: Графы. Кратчайшие пути в графах
Лекция 9: Графы. Кратчайшие пути в графах
Mikhail Kurnosov
Лекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графеЛекция 9. Поиск кратчайшего пути в графе
Лекция 9. Поиск кратчайшего пути в графе
Mikhail Kurnosov

Viewers also liked (19)

Marta_Egorova
Marta_EgorovaMarta_Egorova
Marta_Egorova
Khryashchev
JetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformaticsJetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformatics
olegshpynov
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_review
Khryashchev
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
Computer Science Club
Реализация метода автоматического разрешения лексической многозначности
Реализация метода автоматического разрешения лексической многозначностиРеализация метода автоматического разрешения лексической многозначности
Реализация метода автоматического разрешения лексической многозначности
Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
Technosphere1
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
Dzianis Pirshtuk
Локализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-ДжонсЛокализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-Джонс
Artyom Shklovets
Петрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.orgПетрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.org
WG_ Events
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
WG_ Events
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
WG_ Events
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
Technosphere1
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
WG_ Events
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"
Yandex
Как построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетингаКак построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетинга
Нетология
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
Продвижение лендинга с помощью контента
Продвижение лендинга с помощью контентаПродвижение лендинга с помощью контента
Продвижение лендинга с помощью контента
Nadya Pominova
JetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformaticsJetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformatics
olegshpynov
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_review
Khryashchev
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
Computer Science Club
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
Technosphere1
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
Dzianis Pirshtuk
Локализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-ДжонсЛокализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-Джонс
Artyom Shklovets
Петрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.orgПетрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.org
WG_ Events
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
WG_ Events
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
WG_ Events
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
WG_ Events
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
Technosphere1
К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"
Yandex
Как построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетингаКак построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетинга
Нетология
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
Technosphere1
Продвижение лендинга с помощью контента
Продвижение лендинга с помощью контентаПродвижение лендинга с помощью контента
Продвижение лендинга с помощью контента
Nadya Pominova

Similar to L11: Метод ансамблей (20)

Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - I
DEVTYPE
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
Kurbatskiy Alexey
10474
1047410474
10474
nreferat
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06
Computer Science Club
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12
galinalevna
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
001умнов
001умнов001умнов
001умнов
Alexandra Kaminskaya
002умнов
002умнов002умнов
002умнов
Yandex
Machine Learning. Курс лекций
Machine Learning. Курс лекцийMachine Learning. Курс лекций
Machine Learning. Курс лекций
Zolotykh
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
LIPugach
20110306 systems of_typed_lambda_calculi_moskvin_lecture04
20110306 systems of_typed_lambda_calculi_moskvin_lecture0420110306 systems of_typed_lambda_calculi_moskvin_lecture04
20110306 systems of_typed_lambda_calculi_moskvin_lecture04
Computer Science Club
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессия
Natalia Smirnova
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
DEVTYPE
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.
Sergey Tihon
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Nikolay Grebenshikov
Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - I
DEVTYPE
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06
Computer Science Club
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12
galinalevna
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
romovpa
002умнов
002умнов002умнов
002умнов
Yandex
Machine Learning. Курс лекций
Machine Learning. Курс лекцийMachine Learning. Курс лекций
Machine Learning. Курс лекций
Zolotykh
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
LIPugach
20110306 systems of_typed_lambda_calculi_moskvin_lecture04
20110306 systems of_typed_lambda_calculi_moskvin_lecture0420110306 systems of_typed_lambda_calculi_moskvin_lecture04
20110306 systems of_typed_lambda_calculi_moskvin_lecture04
Computer Science Club
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессия
Natalia Smirnova
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
DEVTYPE
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.
Sergey Tihon
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Nikolay Grebenshikov

More from Technosphere1 (6)

Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1
Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложений
Technosphere1
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"
Technosphere1
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django Views
Technosphere1
L8: Л7 Em-алгоритм
L8: Л7 Em-алгоритмL8: Л7 Em-алгоритм
L8: Л7 Em-алгоритм
Technosphere1
L4: Решающие деревья
L4: Решающие деревьяL4: Решающие деревья
L4: Решающие деревья
Technosphere1
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
L1 Вводная лекция. Обзор основных задач Data Science (Лекция №1)
Technosphere1

L11: Метод ансамблей

  • 1. Введение в Data Science Занятие 10. Метод ансамблей Николай Анохин Михаил Фирулик 17 мая 2014 г.
  • 3. Задача классификации Пусть дана выборка, состоящая из обучающих объектов X = (x1, . . . , xN ), и соответствующих значений целевой переменной Y = (y1, . . . , yN ) = (f (x1), . . . , f (xN )). Требуется найти функцию h(x), наилучшим образом приближающую f (x), то есть точно предсказывающую значение целевой переменной для любых x.
  • 4. Недостатки одиночных моделей Statistical issue риск выбрать неправильную гипотезу из возможного набора, учитывая ограниченность выборки Computational issue риск получить локальный минимум в результате оптимизации Representational issue риск, что ни одна из моделей не окажется достаточно хорошей
  • 5. Метод ансамблей Идея Построить несколько базовых моделей и правильным образом скомбинировать их для принятия решения. В идеале базовые модели должны быть максимально точными и при этом разнообразными.
  • 6. Виды ансамблей комбинация классификаторов (combining classifiers) pattern recognition ансамбль слабых моделей (ensemble of weak learners) machine learning смесь экспертов (mixture of experts) neural networks
  • 7. Стоит ли? Рекомендательные системы Победитель Netflx Prize $1M (первое и второе места) Компьютерное зрение AdaBoost with cascade – определение лиц на фото (или стыковка с МКС ) Медицинская диагностика Определение болезни на ранней стадии
  • 8. Boosting Пусть дан алгоритм обучения “слабой” модели – такой, которая только немного лучше случайности Идея метода Последовательно обучать слабые модели так, что каждая следующая модель “исправляет ошибки” предыдущих. Для предсказания используется комбинация из всех моделей последовательности.
  • 9. AdaBoost ada_boost(X, Y , T): инициализируем D1 = 1/m for t = 1, . . . , T: обучаем модель ht(x) = L(X, Y ), принимая во внимание распределение Dt вычисляем ошибку ht(x): t = Px∼Dt (ht(x) = f (x)) if t > error_rdm: break вычисляем вес ht(x): at = 1 2 ln(1− t t ) новое распределение: Dt+1(x) = Dt (x) Zt exp(−atf (x)ht(x)) return H(x) = sign T t=1 atht(x)
  • 10. Свойства AdaBoost Минимизирует экспоненциальную ошибку (exponential loss) Lexp(h|D) = Ex∼D[e−f (x)h(x) ] Требует обучения модели с учетом распределения Варианты: re-weighting или re-sampling Ошибка классификации D ≤ X + O dT N (d отражает “сложность” классификатора)
  • 12. Пример h1(x) = +1, если x1 > −0.5 −1, иначе h2(x) = −1, если x1 > −0.5 +1, иначе h3(x) = +1, если x1 > +0.5 −1, иначе h4(x) = −1, если x1 > +0.5 +1, иначе h5(x) = +1, если x2 > −0.5 −1, иначе h6(x) = −1, если x2 > −0.5 +1, иначе h7(x) = +1, если x2 > +0.5 −1, иначе h8(x) = −1, если x2 > +0.5 +1, иначе
  • 13. Еще boosting LogitBoost Llog (h|D) = Ex∼D ln 1 + e−2f (x)h(x) GradientBoosting оптимизация произвольной функции потерь + регуляризация
  • 14. AdaBoost. Итоги + Высокая точность + Почти не переобучается — Трудно параллелизовать — Чувствителен к шуму
  • 15. Bagging Bagging = Bootstrap + Aggregating Идея метода Обучить несколько независимых моделей на основании случайно выбранных (bootstrap) подмножеств объектов из обучающей выборки. Классификация производится на основании результата голосования (aggregating) моделей.
  • 16. Bagging bagging(X, Y , T): for t = 1, . . . , T: генерируем bootstrap-распределение Dbs обучаем модель ht(x) = L(X, Y ), принимая во внимание распределение Dbs return H(x) = arg maxy∈Y T t=1 I(ht(x) = y)
  • 18. Random Forest random_tree(X, Y , K): N – узел дерева для X if все x ∈ X одного класса: return N F – случайно выбираем K признаков f ∈ F – признак, наилучшим образом разделяющий X Nl = random_tree(Xf l , Y f l , K) Nr = random_tree(Xf r , Y f r , K) добавляем Nl и Nr как детей к N return N
  • 20. Модификации Random Forest VR-Tree В каждом узле с вероятностью α просиходит случайный выбор признака Density estimation Польностью случайное дерево Anomaly Detection Польностью случайное дерево с ограничением по глубине SCiForest
  • 22. Random Forest. Итоги + Высокая точность + Мало переобучения + Легко параллелится — Медленный без параллелизма
  • 24. Зоопарк комбинаций Задача регрессии averaging weighted averaging Задача классификации majority voting plurality voting weighted voting soft voting Кроме того: stacking
  • 26. Задача. Распознавание цифр Дана обучающая выборка с картинками 8x8, на каждой из картинок изображена рукописная цифра. $ python digits.py -s 25 1. для алгоритма AdaBoost построить график зависимости train_error и test_error от T 2. для алгоритма RandomForest построить график зависимости train_error и test_error от размера леса 3. реализовать простейший голосующий ансамбль и исследовать зависимость его точности от вида и количества базовых моделей