Что$такое$ машинное$обучение$и$ …...•...
TRANSCRIPT
![Page 1: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/1.jpg)
Что такое машинное обучение и
анализ данных?
Любые замечания и предложения приветствуются h>p://newo.su
Спецкурс ЛКШ.Июль 2013 Сборка презентации от 14.07.2013
Александр Фонарев
![Page 2: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/2.jpg)
Зачем нам все это?
![Page 3: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/3.jpg)
Что такое «Анализ Данных»?
• Сложно устроенные данные • Большие объемы данных • Надо найти или проверить закономерности в данных
• А что такое закономерность и как их искать?
![Page 4: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/4.jpg)
Закономерности в данных
• Поиск подстроки в строке – тоже поиск закономерности
• Что делать, если мы не умеем хорошо описать закономерность?
• Почему человек понимает закономерность?
![Page 5: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/5.jpg)
Суть машинного обучения
Обучающаяся программа
Примеры данных с закономерностями
Модель закономерности
Поиск закономерностей в
новых данных
![Page 6: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/6.jpg)
Простая задача и метод ближайшего соседа
![Page 7: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/7.jpg)
Простая задача
• Синий или красный новый объект?
0 50 100 150 200 250 3000
50
100
150
200
250
?
![Page 8: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/8.jpg)
Как решать?
• Точного и правильного решения здесь нет • Пытаемся решить логично с интуитивной точки зрения
![Page 9: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/9.jpg)
Ближайший сосед
• Пусть новый объект принадлежит к тому же классу, что и его ближайший сосед
0 50 100 150 200 250 3000
50
100
150
200
250
![Page 10: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/10.jpg)
Граница разделения классов
Возможно, шумовые объекты
![Page 11: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/11.jpg)
Несколько ближайших соседей • Новый объект принадлежит тому же классу, что и большинство из k его соседей
0 50 100 150 200 250 3000
50
100
150
200
250
![Page 12: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/12.jpg)
Граница разделения классов для k=5
Оказывается, алгоритм дает ошибку на обучающей выборке! А это и не плохо.
![Page 13: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/13.jpg)
А если объектов больше?
K=1 K=15
![Page 14: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/14.jpg)
Нечеткая граница для k=5 • Полутона означают, что примерно половина соседей одного класса и половина другого
![Page 15: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/15.jpg)
Многомерное пространство
00.5
1
0
0.5
10
0.2
0.4
0.6
0.8
xy
z
![Page 16: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/16.jpg)
Двумерные проекции трехмерных данных
z y x
z
y
x
![Page 17: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/17.jpg)
Качество и параметры алгоритмов
![Page 18: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/18.jpg)
Как лучше выбрать границу?
![Page 19: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/19.jpg)
Недообученная (слабая) модель
![Page 20: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/20.jpg)
Переобученная модель
![Page 21: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/21.jpg)
Оптимальная модель
![Page 22: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/22.jpg)
Переобучение
![Page 23: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/23.jpg)
Сложность модели и ее параметры
• Обычно если модель склонна переобучаться, то у нее много параметров
• Наоборот, если у модели мало параметров, то и вряд ли она переобучается
![Page 24: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/24.jpg)
Строгая постановка задачи классификации
признаки
обучаю
щая
выбо
рка
класс
?
новы
е об
ъекты
признаковое описание
признаки
![Page 25: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/25.jpg)
Какой алгоритм выбрать?
![Page 26: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/26.jpg)
Разбиение на контроль • Используем имеющиеся данные из обучающей выборки. Разобъем обучение на две части.
• На одной мы будем обучаться, а на второй проверять, сколько ошибок выдал алгоритм
новая
обучающая выборка
!контрольная выборка
обучающая выборка
![Page 27: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/27.jpg)
Недостатки разбиения на контроль
• Обучаемся не на всех данных, т.е. классификация получается хуже
• Проверяем качество только на малой части данных
• Как бы проверить качество на всех данных?
![Page 28: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/28.jpg)
Скользящий контроль • Разбиваем обучающую выборку на N равных частей • Поочередной выбрасываем каждую из частей, обучаемся
на остальных и оцениваем качество • Усредняем
1/𝑁 часть !
обучающая выборка
![Page 29: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/29.jpg)
Вернемся к методу ближайшего соседа • Какое k выбрать? Поймем, при каком k достигается наилучшее
качество. • Скользящий контроль! Произвольно разбиваем обучающую выборку
на 10 равных частей, поочередно выбрасываем каждую из частей, обучаемся на остальных, оценивая качество, и все усредняем
1/10 часть !
обучающая выборка
![Page 30: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/30.jpg)
Качество обучения в зависимости от k
86
88
90
92
94
96
98
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 k
%
![Page 31: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/31.jpg)
Как точнее узнавать оптимальное значение параметра k?
• Видно что график скачет, почему? • Точно узнать k тяжело • Можно проводить кроссвалидацию много раз, а затем усреднять
![Page 32: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/32.jpg)
Итак, что мы имеем
• Сложность: O(NM), N – количество объектов в обучении, M – количество новых объектов, O(1) – подсчет одного расстояния
• Структуры данных для ускорения: kd-‐tree, R-‐tree, Ball-‐tree
• Есть один оптимизируемый параметр – число соседей k (а всего параметров больше, почему?)
• Нужно знать, как считать расстояние между объектами
![Page 33: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/33.jpg)
Про выбор расстояния • Расстояние на плоскости между точками и
• Расстояние в многомерном случае считается аналогично
• Можно добавить признакам веса
• Можно считать вообще по-‐другому
• Выбор способа подсчета расстояния – основная проблема в методе ближайших соседей. Понять, как узнавать меру сходства между двумя объектами – сложная задача.
![Page 34: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/34.jpg)
Параметры модели
• Количество настраиваемых параметров у алгоритма бывает куда больше
• Не всегда удается «тупо» перебрать все значения параметров у модели
• Придумываются разные быстрые методы нахождения параметров, близких к оптимальным (методы оптимизации)
![Page 35: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/35.jpg)
Цикл решения задачи Выбор метода и параметров
Предобработка данных
Обучение
Оценка качества
Окончательный классификатор
![Page 36: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/36.jpg)
Синонимы
• Распознавание, предсказание, прогнозирование
• Обучающая выборка, тренировочный набор объектов, наблюдение
• Тестовая выборка, контрольная выборка, валидационная выборка, скрытая выборка
• Классы, метки классов • Скользящий контроль, кроссвалидация
![Page 37: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/37.jpg)
Линейная классификация и ее производные
![Page 38: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/38.jpg)
Пусть граница – прямая
Мало параметров
![Page 39: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/39.jpg)
Иногда прямая плохо помогает
Мало параметров – вряд ли переобучится
![Page 40: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/40.jpg)
Есть много способов провести прямую
Какая прямая лучше?
![Page 41: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/41.jpg)
Гиперплоскости в многомерных пространствах
• В двумерном случае – прямая, в трехмерном – плоскость, дальше – гиперплоскость
• Главное, что она линейна и делит все пространство на два полупространства
• Есть много методов, умеющих строить «хорошие» гиперплоскости (например, за счет максимизации зазора между классами)
![Page 42: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/42.jpg)
Возможны обобщения на сложные границы
![Page 43: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/43.jpg)
Представим в виде схемы
Граница – прямая
![Page 44: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/44.jpg)
Аналогично для n входов
Граница – n-‐мерная гиперплоскость
![Page 45: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/45.jpg)
Получится нейронная сеть
Можно как угодно соединять
![Page 46: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/46.jpg)
Недостатки нейронных сетей l Нейронная сеть часто очень сильно переобучается (много параметров)
l Алгоритм обучения может застопориться (так называемый «паралич» сети)
l Оказывается, имеют мало общего с реальными нейросетями в человеческом мозгу
Преимущества нейронных сетей l Умеют подстраиваться под любые данные l Похожи на мозг человека
![Page 47: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/47.jpg)
Однако В последний год были придуманы новые мощные алгоритмы настройки. Нейронные сети переживают новый пик популярности.
![Page 48: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/48.jpg)
Решающие деревья и композиции над ними
![Page 49: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/49.jpg)
Экспертные системы, составленные вручную
Решающее дерево для предсказания эффективности введения лекарства
![Page 50: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/50.jpg)
В чем проблемы? • Правила составлялись вручную экспертами • Мнения экспертов расходятся • Эскперты могут ошибаться • Эксперт не в состоянии проанализировать все данные
![Page 51: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/51.jpg)
Построим дерево автоматически
условие 1
условие 2
TRUE FALSE
FALSE TRUE
![Page 52: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/52.jpg)
Какие условия будут в дереве?
Попробуем использовать пороговые условия перехода в виде пороговых правил: x>c
![Page 53: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/53.jpg)
Начнем строить дерево
нет
• Будем действовать жадно • Каждый раз берем наиболее «информативное» разделение всей области
![Page 54: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/54.jpg)
Строим дерево
нет да
нет да
Каждый раз берем наиболее «информативное» разделение текущей области
![Page 55: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/55.jpg)
Преимущества деревьев перед алгоритмами на метриках
• Придумать правильную метрику – значит почти решить задачу, это сложно. А решающие деревья не используют метрики
• Единственное что используют деревья –
точка В ближе к А, чем С по данному признаку • Устойчивы к монотонным преобразованиям признаков
А В С
![Page 56: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/56.jpg)
Как выбирать условия разбиения?
Перебираем признаки по очереди. Лучшее разбиение признака: • Отделить один класс как можно сильнее • Максимизируем число пар объектов, у которых одинаковый класс и одинаковый ответ на условие – критерий Джини
• Максимизируем число пар объектов, у которых разный класс и разные ответы на условие – критерий Донского
• Объединяем предыдущие • Более сложные вероятностные соображения
![Page 57: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/57.jpg)
Недостатки решающего дерева
• В реальных задачах сильно переобучаются, мельчат вокруг одной области пространства (содержат в себе много параметров)
• Очень неустойчивы относительно данных
![Page 58: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/58.jpg)
Решение: подрезания деревьев
• Если информативность условия меньше порога, то прекращаем строить дерево
• Количество объектов в листе меньше некоторого числа, то прекращаем строить
• Разбиваем обучение на две части. Пробегаем по всем поддеревьям и заменяем их левым или правым потомком, если они допускают заметно меньше ошибок
![Page 59: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/59.jpg)
Будем возвращать вещественную степень принадлежности классу
от -‐1 до +1
условие 1
условие 2
TRUE FALSE
FALSE TRUE
![Page 60: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/60.jpg)
Другое решение: композиция алгоритмов
• Пусть есть какой-‐то набор из T алгоритмов:
• Финальный алгоритм:
![Page 61: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/61.jpg)
Лес деревьев
Построим композицию из решающих деревьев
…… Дерево1 ДеревоT
Как сделать деревья существенно разными?
![Page 62: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/62.jpg)
Будем обучаться на случайных подвыборках
объе
кты
класс признаки
Случайная подвыборка
![Page 63: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/63.jpg)
Как работает случайный лес? Сгенерируем данные:
![Page 64: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/64.jpg)
Как работает случайный лес?
Реальная оптимальная границы
Результат работы Random Forest (50 деревьев)
Результат работы Random Forest (2000 деревьев)
![Page 65: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/65.jpg)
Особенности случайного леса • Работает с признаками разной природы • Не надо думать над метрикой • Устойчив к изменениям признаков • Хорошо распараллеливается • Тяжело интерпретируется человеком • Плохо приближает линейные зависимости • Долго строится • Не переобучается при увеличении количества деревьев
“This ease of use also makes Random Forests an ideal tool for people without a background in sta:s:cs, allowing lay people to produce fairly strong predic:ons free from many common mistakes, with only a small amount of research and programming”.
Kaggle.com
![Page 66: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/66.jpg)
Умный подбор коэффициентов
• Строчку можно рассматривать как новое признаковое описание объекта
• Что такое линейный классификатор в новом пространстве?
• Т.е. подбор коэффициентов в композиции – решение задачи линейной классификации
![Page 67: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/67.jpg)
Последовательное наращивание композиции алгоритмов (бустинг)
• Строим композицию из слабых алгоритмов – подрезанных решающих деревьев
• Каждое новое дерево компенсирует ошибки суммы предыдущих
• Получается очень сильная композиция • Склонна к переобучению, несмотря на многие обратные заявления :)
![Page 68: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/68.jpg)
Основная идея бустинга
• Набор ответов, предсказанный после шага T
• Предсказанный ответ отличается от истинного на разность
• Будем обучать следующее дерево на эту разность
![Page 69: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/69.jpg)
Качество при разном числе деревьев
![Page 70: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/70.jpg)
Что такое бустинг на самом деле?
• Рассматривается не разность, а градиент ответов, на который настраивается очередное дерево
• Перед деревьями ставятся маленькие коэффициенты (порядка 0.02) для избежания переобучения
• На каждом шаге используется произвольная часть объектов (стохастичность)
Yandex MatrixNet – стохастический градиентный бустинг над решающими деревьями (а еще его используют Yahoo, CERN и другие)
![Page 71: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/71.jpg)
Заключение
![Page 72: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/72.jpg)
Про терминологию
• Интеллектуальный анализ данных (Data Mining)
• Машинное обучение (Machine Learning, Sta�s�cal Learning)
• Прикладная статистика (Applied Sta�s�cs) • Факторный анализ (Factor Analysis) • Теория оптимизации (Op�miza�on Theory) • Искусственный Интеллект (Ar�ffi�al Intellengence)
![Page 73: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/73.jpg)
Соревнования по анализу данных
• Сайты – Kaggle.com – Яндекс Интернет-‐Математика – и другие
• Кем проводятся – Компаниями – Работодателями – Университетами
![Page 74: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/74.jpg)
Отличия от олимпиадного программирования
• Дается одна задача, а не несколько • Решаются значительно дольше (недели, месяцы, годы)
• Не существует точного и правильного решения, проводится много экспериметнтов, чтобы понять, какое решение выбрать
• Идет борьба за сущие проценты качества • Не важен язык, скорость работы и ресурсы; важен только результат
• В одиночку или командами
![Page 75: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/75.jpg)
На чем пишут алгоритмы обучения? • Готовые наборы методов машинного обучения (для
общего понимания, какой метод лучше) – Weka – RapidMiner – Orange
• Интерпретируемые языки (для экспериментов и выбора алгоритма) – Matlab (Octave – бесплатная версия) – Python (+ scipy based библиотеки) – R
• Более низкоуровневые языки (для скорости работы, когда уже ясно, какой алгоритм будет использоваться) – C – C++
![Page 76: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/76.jpg)
Примеры реальных задач • Геологические данные – ищем золото • Компьютерное зрение – распознавание чего-‐то на картинках
• Военная оборона – птица или ракета? • Рекомендательные системы на сайтах • Медицина – наличие болезни по симптомам • Прогнозирование пробок • Распознавание сигналов головного мозга • Сайт научных статей -‐ категоризация текстов • Кредитный скоринг – надежность клиентов банка • И еще очень много чего...
![Page 77: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/77.jpg)
Что еще есть в машинном обучении?
• Многоклассовая классификация • Регрессия (предсказываемые метки непрерывные, а не дискретные)
• Кластеризация (обучение без учителя) • Частичное обучение • Ассоциативные правила • Пропуски в данных • Структурное обучение • Онлайн обучение • Отбор признаков • Ранжирование
![Page 78: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/78.jpg)
Решения задач
• Отбор признаков • Перебор параметров • Задачи имеют нестандартную постановку • Методы часто приходится придумывать самому
![Page 79: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$](https://reader033.vdocuments.pub/reader033/viewer/2022053004/5f081cb77e708231d42065d2/html5/thumbnails/79.jpg)
Литература • Курс лекций К.В. Воронцова по машинному обучению • Вики-‐ресурс, посвященный машинному обучению • Лекции Юрия Лифшица по структурам и алгоритмам для поиска
ближайших соседей (на английском, хотя лектор из Питера) • Классические лекции по машинному обучению (на английском) • Методическое пособие по Matlab и алгоритмам машинного
обучения • Презентация к спецкурсу "Введение в машинное обучение и
анализ данных" ЛКШ 2012 Очень интересные и несложные статьи о решении реальных задач: • Дьяконов А.Г. «Введение в анализ данных» • Дьяконов А.Г. «Шаманство в анализе данных» • Дьяконов А.Г. «Чему не учат в анализе данных»