79
Что такое машинное обучение и анализ данных? Любые замечания и предложения приветствуются h>p://newo.su Спецкурс ЛКШ.Июль 2013 Сборка презентации от 14.07.2013 Александр Фонарев

Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Что  такое  машинное  обучение  и  

анализ  данных?  

Любые  замечания  и  предложения  приветствуются  h>p://newo.su  

Спецкурс  ЛКШ.Июль  2013  Сборка  презентации  от  14.07.2013  

Александр  Фонарев  

Page 2: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Зачем  нам  все  это?  

Page 3: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Что  такое  «Анализ  Данных»?  

•  Сложно  устроенные  данные  •  Большие  объемы  данных  •  Надо  найти  или  проверить  закономерности  в  данных  

•  А  что  такое  закономерность  и  как  их  искать?  

Page 4: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Закономерности  в  данных    

•  Поиск  подстроки  в  строке  –  тоже  поиск  закономерности  

•  Что  делать,  если  мы  не  умеем  хорошо  описать  закономерность?  

•  Почему  человек  понимает  закономерность?  

Page 5: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Суть  машинного  обучения  

Обучающаяся  программа  

Примеры  данных  с  закономерностями  

Модель  закономерности  

Поиск  закономерностей  в  

новых  данных  

Page 6: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Простая  задача  и  метод  ближайшего  соседа  

Page 7: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Простая  задача  

•  Синий  или  красный  новый  объект?  

0 50 100 150 200 250 3000

50

100

150

200

250

?  

Page 8: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Как  решать?  

•  Точного  и  правильного  решения  здесь  нет  •  Пытаемся  решить  логично  с  интуитивной  точки  зрения  

Page 9: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Ближайший  сосед  

•  Пусть  новый  объект  принадлежит  к  тому  же  классу,  что  и  его  ближайший  сосед  

0 50 100 150 200 250 3000

50

100

150

200

250

Page 10: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Граница  разделения  классов  

Возможно,  шумовые  объекты  

Page 11: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Несколько  ближайших  соседей  •  Новый  объект  принадлежит  тому  же  классу,  что  и  большинство  из  k  его  соседей  

0 50 100 150 200 250 3000

50

100

150

200

250

Page 12: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Граница  разделения  классов  для  k=5  

Оказывается,  алгоритм  дает  ошибку  на  обучающей  выборке!  А  это  и  не  плохо.  

Page 13: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

А  если  объектов  больше?  

K=1   K=15  

Page 14: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Нечеткая  граница  для  k=5  •  Полутона  означают,  что  примерно  половина  соседей  одного  класса  и  половина  другого  

Page 15: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Многомерное  пространство  

00.5

1

0

0.5

10

0.2

0.4

0.6

0.8

xy

z

Page 16: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Двумерные  проекции  трехмерных  данных  

z   y   x  

z  

y  

x  

Page 17: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Качество  и  параметры  алгоритмов  

Page 18: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Как  лучше  выбрать  границу?  

Page 19: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Недообученная  (слабая)  модель  

Page 20: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Переобученная  модель  

Page 21: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Оптимальная  модель  

Page 22: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Переобучение  

Page 23: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Сложность  модели  и  ее  параметры  

•  Обычно  если  модель  склонна  переобучаться,  то  у  нее  много  параметров  

•  Наоборот,  если  у  модели  мало  параметров,  то  и  вряд  ли  она  переобучается  

Page 24: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Строгая  постановка  задачи  классификации  

признаки  

обучаю

щая  

выбо

рка  

класс  

?

новы

е  об

ъекты  

признаковое  описание  

признаки  

Page 25: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Какой  алгоритм  выбрать?  

Page 26: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Разбиение  на  контроль  •  Используем  имеющиеся  данные  из  обучающей  выборки.  Разобъем  обучение  на  две  части.  

•  На  одной  мы  будем  обучаться,  а  на  второй  проверять,  сколько  ошибок  выдал  алгоритм  

 новая  

обучающая  выборка  

!контрольная  выборка  

обучающая  выборка  

Page 27: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Недостатки  разбиения  на  контроль  

•  Обучаемся  не  на  всех  данных,  т.е.  классификация  получается  хуже  

•  Проверяем  качество  только  на  малой  части  данных  

•  Как  бы  проверить  качество  на  всех  данных?  

Page 28: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Скользящий  контроль  •  Разбиваем  обучающую  выборку  на  N  равных  частей  •  Поочередной  выбрасываем  каждую  из  частей,  обучаемся  

на  остальных  и  оцениваем  качество  •  Усредняем  

1/𝑁   часть  !

обучающая  выборка  

Page 29: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Вернемся  к  методу  ближайшего  соседа  •  Какое  k  выбрать?  Поймем,  при  каком  k  достигается  наилучшее  

качество.  •  Скользящий  контроль!  Произвольно  разбиваем  обучающую  выборку  

на  10  равных  частей,  поочередно  выбрасываем  каждую  из  частей,  обучаемся  на  остальных,  оценивая  качество,  и  все  усредняем  

1/10   часть  !

обучающая  выборка  

Page 30: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Качество  обучения  в  зависимости  от  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$

Как  точнее  узнавать  оптимальное  значение  параметра  k?  

•  Видно  что  график  скачет,  почему?  •  Точно  узнать  k  тяжело  •  Можно  проводить  кроссвалидацию  много  раз,  а  затем  усреднять  

Page 32: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Итак,  что  мы  имеем  

•  Сложность:  O(NM),  N  –  количество  объектов  в  обучении,  M  –  количество  новых  объектов,  O(1)  –  подсчет  одного  расстояния  

•  Структуры  данных  для  ускорения:  kd-­‐tree,  R-­‐tree,  Ball-­‐tree  

•  Есть  один  оптимизируемый  параметр  –  число  соседей  k  (а  всего  параметров  больше,  почему?)  

•  Нужно  знать,  как  считать  расстояние  между  объектами  

Page 33: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Про  выбор  расстояния  •  Расстояние  на  плоскости  между  точками                                    и    

•  Расстояние  в  многомерном  случае  считается  аналогично  

•  Можно  добавить  признакам  веса  

•  Можно  считать  вообще  по-­‐другому  

•  Выбор  способа  подсчета  расстояния  –  основная  проблема  в  методе  ближайших  соседей.  Понять,  как  узнавать  меру  сходства  между  двумя  объектами  –  сложная  задача.  

Page 34: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Параметры  модели  

•  Количество  настраиваемых  параметров  у  алгоритма  бывает  куда  больше  

•  Не  всегда  удается  «тупо»  перебрать  все  значения  параметров  у  модели  

•  Придумываются  разные  быстрые  методы  нахождения  параметров,  близких  к  оптимальным  (методы  оптимизации)  

Page 35: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Цикл  решения  задачи  Выбор  метода  и  параметров  

Предобработка  данных  

Обучение  

Оценка  качества  

Окончательный  классификатор  

Page 36: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Синонимы  

•  Распознавание,  предсказание,  прогнозирование  

•  Обучающая  выборка,  тренировочный  набор  объектов,  наблюдение  

•  Тестовая  выборка,  контрольная  выборка,  валидационная  выборка,  скрытая  выборка  

•  Классы,  метки  классов  •  Скользящий  контроль,  кроссвалидация  

Page 37: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Линейная  классификация  и  ее  производные  

Page 38: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Пусть  граница  –  прямая  

Мало  параметров  

Page 39: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Иногда  прямая  плохо  помогает  

Мало  параметров  –  вряд  ли  переобучится  

Page 40: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Есть  много  способов  провести  прямую  

Какая  прямая  лучше?  

Page 41: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Гиперплоскости  в  многомерных  пространствах  

•  В  двумерном  случае  –  прямая,  в  трехмерном  –  плоскость,  дальше  –  гиперплоскость  

•  Главное,  что  она  линейна  и  делит  все  пространство  на  два  полупространства  

•  Есть  много  методов,  умеющих  строить  «хорошие»  гиперплоскости  (например,  за  счет  максимизации  зазора  между  классами)    

Page 42: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Возможны  обобщения  на  сложные  границы  

Page 43: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Представим  в  виде  схемы  

Граница  –  прямая  

Page 44: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Аналогично  для  n  входов  

Граница  –  n-­‐мерная  гиперплоскость  

Page 45: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Получится  нейронная  сеть  

Можно  как  угодно  соединять  

Page 46: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Недостатки  нейронных  сетей    l  Нейронная  сеть  часто  очень  сильно  переобучается  (много  параметров)  

l  Алгоритм  обучения  может  застопориться  (так  называемый  «паралич»  сети)  

l  Оказывается,  имеют  мало  общего  с  реальными  нейросетями  в  человеческом  мозгу  

Преимущества  нейронных  сетей  l  Умеют  подстраиваться  под  любые  данные  l  Похожи  на  мозг  человека  

Page 47: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Однако  В  последний  год  были  придуманы  новые  мощные  алгоритмы  настройки.  Нейронные  сети  переживают  новый  пик  популярности.  

Page 48: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Решающие  деревья  и  композиции  над  ними  

Page 49: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Экспертные  системы,  составленные  вручную  

Решающее  дерево  для  предсказания  эффективности  введения  лекарства  

Page 50: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

В  чем  проблемы?  •  Правила  составлялись  вручную  экспертами  •  Мнения  экспертов  расходятся  •  Эскперты  могут  ошибаться  •  Эксперт  не  в  состоянии  проанализировать  все  данные  

Page 51: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Построим  дерево  автоматически  

условие  1  

условие  2  

TRUE  FALSE  

FALSE  TRUE  

Page 52: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Какие  условия  будут  в  дереве?  

Попробуем  использовать  пороговые  условия  перехода  в  виде  пороговых  правил:  x>c  

Page 53: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Начнем  строить  дерево  

нет  

•  Будем  действовать  жадно  •  Каждый  раз  берем  наиболее  «информативное»  разделение  всей  области  

Page 54: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Строим  дерево  

нет   да  

нет   да  

Каждый  раз  берем  наиболее  «информативное»  разделение  текущей  области  

Page 55: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Преимущества  деревьев  перед  алгоритмами  на  метриках  

•  Придумать  правильную  метрику  –  значит  почти  решить  задачу,  это  сложно.  А  решающие  деревья  не  используют  метрики  

•  Единственное  что  используют  деревья  –    

точка  В  ближе  к  А,  чем  С  по  данному  признаку  •  Устойчивы  к  монотонным  преобразованиям  признаков  

       А                                              В                                                            С  

Page 56: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Как  выбирать  условия  разбиения?  

Перебираем  признаки  по  очереди.  Лучшее  разбиение  признака:  •  Отделить  один  класс  как  можно  сильнее  •  Максимизируем  число  пар  объектов,  у  которых  одинаковый  класс  и  одинаковый  ответ  на  условие  –  критерий  Джини  

•  Максимизируем  число  пар  объектов,  у  которых  разный  класс  и  разные  ответы  на  условие  –  критерий  Донского  

•  Объединяем  предыдущие  •  Более  сложные  вероятностные  соображения  

Page 57: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Недостатки  решающего  дерева  

•  В  реальных  задачах  сильно  переобучаются,  мельчат  вокруг  одной  области  пространства  (содержат  в  себе  много  параметров)  

•  Очень  неустойчивы  относительно  данных  

Page 58: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Решение:  подрезания  деревьев  

•  Если  информативность  условия  меньше  порога,  то  прекращаем  строить  дерево  

•  Количество  объектов  в  листе  меньше  некоторого  числа,  то  прекращаем  строить  

•  Разбиваем  обучение  на  две  части.  Пробегаем  по  всем  поддеревьям  и  заменяем  их  левым  или  правым  потомком,  если  они  допускают  заметно  меньше  ошибок  

Page 59: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Будем  возвращать  вещественную  степень  принадлежности  классу  

от    -­‐1  до  +1  

условие  1  

условие  2  

TRUE  FALSE  

FALSE  TRUE  

Page 60: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Другое  решение:  композиция  алгоритмов  

•  Пусть  есть  какой-­‐то  набор  из  T  алгоритмов:    

•  Финальный  алгоритм:  

Page 61: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Лес  деревьев  

Построим  композицию  из  решающих  деревьев  

……  Дерево1 ДеревоT

Как  сделать  деревья  существенно  разными?  

Page 62: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Будем  обучаться  на  случайных  подвыборках  

объе

кты  

класс  признаки  

Случайная  подвыборка  

Page 63: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Как  работает  случайный  лес?  Сгенерируем  данные:  

Page 64: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Как  работает  случайный  лес?  

Реальная  оптимальная  границы  

Результат  работы  Random  Forest  (50  деревьев)  

Результат  работы  Random  Forest  (2000  деревьев)  

Page 65: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Особенности  случайного  леса  •  Работает  с  признаками  разной  природы  •  Не  надо  думать  над  метрикой  •  Устойчив  к  изменениям  признаков  •  Хорошо  распараллеливается  •  Тяжело  интерпретируется  человеком  •  Плохо  приближает  линейные  зависимости  •  Долго  строится  •  Не  переобучается  при  увеличении  количества  деревьев    

“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$

Умный  подбор  коэффициентов  

•  Строчку                                                                              можно  рассматривать  как  новое  признаковое  описание  объекта  

•  Что  такое  линейный  классификатор  в  новом  пространстве?  

•  Т.е.  подбор  коэффициентов  в  композиции  –  решение  задачи  линейной  классификации  

Page 67: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Последовательное  наращивание  композиции  алгоритмов  (бустинг)  

•  Строим  композицию  из  слабых  алгоритмов  –  подрезанных  решающих  деревьев  

•  Каждое  новое  дерево  компенсирует  ошибки  суммы  предыдущих  

•  Получается  очень  сильная  композиция  •  Склонна  к  переобучению,  несмотря  на  многие  обратные  заявления  :)  

Page 68: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Основная  идея  бустинга  

•  Набор  ответов,  предсказанный  после  шага  T  

•  Предсказанный  ответ  отличается  от  истинного  на  разность  

•  Будем  обучать  следующее  дерево  на  эту  разность  

Page 69: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Качество  при  разном  числе  деревьев  

Page 70: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Что  такое  бустинг  на  самом  деле?  

•  Рассматривается  не  разность,  а  градиент  ответов,  на  который  настраивается  очередное  дерево  

•  Перед  деревьями  ставятся  маленькие  коэффициенты  (порядка  0.02)  для  избежания  переобучения  

•  На  каждом  шаге  используется  произвольная  часть  объектов  (стохастичность)  

Yandex  MatrixNet  –  стохастический  градиентный  бустинг  над  решающими  деревьями  (а  еще  его  используют  Yahoo,  CERN  и  другие)  

Page 71: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Заключение  

Page 72: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Про  терминологию  

•  Интеллектуальный  анализ  данных  (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$

Соревнования  по  анализу  данных  

•  Сайты  – Kaggle.com  – Яндекс  Интернет-­‐Математика  – и  другие  

•  Кем  проводятся  – Компаниями  – Работодателями  – Университетами  

Page 74: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Отличия  от  олимпиадного  программирования  

•  Дается  одна  задача,  а  не  несколько  •  Решаются  значительно  дольше  (недели,  месяцы,  годы)  

•  Не  существует  точного  и  правильного  решения,  проводится  много  экспериметнтов,  чтобы  понять,  какое  решение  выбрать  

•  Идет  борьба  за  сущие  проценты  качества  •  Не  важен  язык,  скорость  работы  и  ресурсы;  важен  только  результат  

•  В  одиночку  или  командами  

Page 75: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

На  чем  пишут  алгоритмы  обучения?  •  Готовые  наборы  методов  машинного  обучения  (для  

общего  понимания,  какой  метод  лучше)  –  Weka  –  RapidMiner  –  Orange  

•  Интерпретируемые  языки  (для  экспериментов  и  выбора  алгоритма)  –  Matlab  (Octave  –  бесплатная  версия)  –  Python  (+  scipy  based  библиотеки)  –  R  

•  Более  низкоуровневые  языки  (для  скорости  работы,  когда  уже  ясно,  какой  алгоритм  будет  использоваться)  –  C  –  C++  

Page 76: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Примеры  реальных  задач  •  Геологические  данные  –  ищем  золото  •  Компьютерное  зрение  –  распознавание  чего-­‐то  на  картинках  

•  Военная  оборона  –  птица  или  ракета?  •  Рекомендательные  системы  на  сайтах  •  Медицина  –  наличие  болезни  по  симптомам  •  Прогнозирование  пробок  •  Распознавание  сигналов  головного  мозга  •  Сайт  научных  статей  -­‐  категоризация  текстов  •  Кредитный  скоринг  –  надежность  клиентов  банка  •  И  еще  очень  много  чего...  

Page 77: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Что  еще  есть  в  машинном  обучении?  

•  Многоклассовая  классификация  •  Регрессия  (предсказываемые  метки  непрерывные,  а  не  дискретные)  

•  Кластеризация  (обучение  без  учителя)  •  Частичное  обучение  •  Ассоциативные  правила  •  Пропуски  в  данных  •  Структурное  обучение  •  Онлайн  обучение  •  Отбор  признаков  •  Ранжирование  

Page 78: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Решения  задач  

•  Отбор  признаков  •  Перебор  параметров  •  Задачи  имеют  нестандартную  постановку  •  Методы  часто  приходится  придумывать  самому  

 

Page 79: Что$такое$ машинное$обучение$и$ …...• Презентация$к$спецкурсу$"Введение$вмашинное$обучение$и$ анализ$данных"$ЛКШ$2012$

Литература  •  Курс  лекций  К.В.  Воронцова  по  машинному  обучению  •  Вики-­‐ресурс,  посвященный  машинному  обучению  •  Лекции  Юрия  Лифшица  по  структурам  и  алгоритмам  для  поиска  

ближайших  соседей  (на  английском,  хотя  лектор  из  Питера)  •  Классические  лекции  по  машинному  обучению  (на  английском)  •  Методическое  пособие  по  Matlab  и  алгоритмам  машинного  

обучения  •  Презентация  к  спецкурсу  "Введение  в  машинное  обучение  и  

анализ  данных"  ЛКШ  2012    Очень  интересные  и  несложные  статьи  о  решении  реальных  задач:  •  Дьяконов  А.Г.  «Введение  в  анализ  данных»  •  Дьяконов  А.Г.  «Шаманство  в  анализе  данных»  •  Дьяконов  А.Г.  «Чему  не  учат  в  анализе  данных»