SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
Введение в 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. реализовать простейший голосующий ансамбль и исследовать
зависимость его точности от вида и количества базовых моделей

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (20)

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

Andere mochten auch

JetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformaticsJetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformaticsolegshpynov
 
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewKhryashchev
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05Computer 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 & TricksDzianis Pirshtuk
 
Локализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-ДжонсЛокализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-ДжонсArtyom Shklovets
 
Петрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.orgПетрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.orgWG_ 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
 

Andere mochten auch (19)

Marta_Egorova
Marta_EgorovaMarta_Egorova
Marta_Egorova
 
JetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformaticsJetPoint meeting @JetBrains on bioinformatics
JetPoint meeting @JetBrains on bioinformatics
 
FaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_reviewFaceDetection+GenderRecognition_review
FaceDetection+GenderRecognition_review
 
20120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture0520120415 videorecognition konushin_lecture05
20120415 videorecognition konushin_lecture05
 
Реализация метода автоматического разрешения лексической многозначности
Реализация метода автоматического разрешения лексической многозначностиРеализация метода автоматического разрешения лексической многозначности
Реализация метода автоматического разрешения лексической многозначности
 
L13: Заключительная
L13: ЗаключительнаяL13: Заключительная
L13: Заключительная
 
Supervised ML in Practice: Tips & Tricks
Supervised ML in Practice:  Tips & TricksSupervised ML in Practice:  Tips & Tricks
Supervised ML in Practice: Tips & Tricks
 
Локализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-ДжонсЛокализация лиц с помощью детектора Виолы-Джонс
Локализация лиц с помощью детектора Виолы-Джонс
 
Webdev7 (2)
Webdev7 (2)Webdev7 (2)
Webdev7 (2)
 
Петрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.orgПетрова Ксения - Data mining на практике - dmlabs.org
Петрова Ксения - Data mining на практике - dmlabs.org
 
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
Интегрировать сторонний продукт или пилить самим? К вопросу о выборе системы ...
 
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
Оценка потенциала игрового продукта по косвенным признакам / Борис Cиницкий д...
 
Web лекция 1
Web   лекция 1Web   лекция 1
Web лекция 1
 
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
Self Service BI. Как перейти от Excel к визуализации / Иван Климович для Data...
 
Л8 Django. Дополнительные темы
Л8 Django. Дополнительные темыЛ8 Django. Дополнительные темы
Л8 Django. Дополнительные темы
 
К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"К.В. Воронцов "Линейные методы классификации"
К.В. Воронцов "Линейные методы классификации"
 
Как построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетингаКак построить стратегию интернет-маркетинга
Как построить стратегию интернет-маркетинга
 
Мастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного вебМастер-класс: Особенности создания продукта для мобильного веб
Мастер-класс: Особенности создания продукта для мобильного веб
 
Продвижение лендинга с помощью контента
Продвижение лендинга с помощью контентаПродвижение лендинга с помощью контента
Продвижение лендинга с помощью контента
 

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

Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - IDEVTYPE
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценокKurbatskiy Alexey
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06Computer Science Club
 
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12galinalevna
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVMromovpa
 
002умнов
002умнов002умнов
002умновYandex
 
Machine Learning. Курс лекций
Machine Learning. Курс лекцийMachine Learning. Курс лекций
Machine Learning. Курс лекцийZolotykh
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015LIPugach
 
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_lecture04Computer Science Club
 
Predel funk
Predel funkPredel funk
Predel funkAlex_Tam
 
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессия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
 

Ähnlich wie L11: Метод ансамблей (20)

Основы комбинаторики - I
Основы комбинаторики - IОсновы комбинаторики - I
Основы комбинаторики - I
 
Свойства оценок
Свойства оценокСвойства оценок
Свойства оценок
 
20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich20131027 h10 lecture5_matiyasevich
20131027 h10 lecture5_matiyasevich
 
10474
1047410474
10474
 
20071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture0620071111 efficientalgorithms kulikov_lecture06
20071111 efficientalgorithms kulikov_lecture06
 
презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12презентация с авторским шаблоном и заметками дз 28.03.12
презентация с авторским шаблоном и заметками дз 28.03.12
 
Структурное обучение и S-SVM
Структурное обучение и S-SVMСтруктурное обучение и S-SVM
Структурное обучение и S-SVM
 
002умнов
002умнов002умнов
002умнов
 
002умнов
002умнов002умнов
002умнов
 
001умнов
001умнов001умнов
001умнов
 
Machine Learning. Курс лекций
Machine Learning. Курс лекцийMachine Learning. Курс лекций
Machine Learning. Курс лекций
 
пугач му по матлогике 2015
пугач му по матлогике 2015пугач му по матлогике 2015
пугач му по матлогике 2015
 
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
 
4
44
4
 
Predel funk
Predel funkPredel funk
Predel funk
 
логистическая регрессия
логистическая регрессиялогистическая регрессия
логистическая регрессия
 
1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства1.4 Точечные оценки и их свойства
1.4 Точечные оценки и их свойства
 
20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich20131006 h10 lecture2_matiyasevich
20131006 h10 lecture2_matiyasevich
 
Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.Haskell Type System with Dzmitry Ivashnev.
Haskell Type System with Dzmitry Ivashnev.
 
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"Лекция №1. Введение. Предмет "Теория вычислительных процессов"
Лекция №1. Введение. Предмет "Теория вычислительных процессов"
 

Mehr von Technosphere1

Л9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийЛ9: Взаимодействие веб-приложений
Л9: Взаимодействие веб-приложенийTechnosphere1
 
Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Мастер-класс: "Интеграция в промышленную разработку"
Мастер-класс: "Интеграция в промышленную разработку"Technosphere1
 
Webdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsWebdev7: Обработка HTTP запросов. Django Views
Webdev7: Обработка HTTP запросов. Django ViewsTechnosphere1
 
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
 

Mehr von Technosphere1 (6)

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

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. реализовать простейший голосующий ансамбль и исследовать зависимость его точности от вида и количества базовых моделей