O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Машинное	
  обучение	
  и	
  
анализ	
  данных	
  

Саша	
  Фонарев	
  

Малый	
  ШАД	
  2013	
  
Сборка	
  презентации	
 ...
Контрольные	
  вопросы	
  
•  Какой	
  метод	
  больше	
  склонен	
  к	
  
переобучению	
  –	
  метод	
  одного	
  ближайш...
Что	
  такое	
  машинное	
  обучение?	
  
Автомобиль	
  или	
  стул?	
  
Автомобиль	
  или	
  стул?	
  

	
  
Нужен	
  жизненный	
  опыт	
  
(модель	
  представления	
  о	
  мире)	
  
Идея	
  машинного	
  обучения	
  
Обучающаяся	
  
программа	
  
Примеры	
  данных	
  с	
  
закономерностями	
  

Модель	
 ...
Метод	
  ближайшего	
  соседа	
  
Сначала	
  решим	
  простую	
  задачу	
  
Синий	
  или	
  красный	
  новый	
  объект?	
  
250

200

150

100

?	
  

50

0...
Ближайший	
  сосед	
  
•  Пусть	
  новый	
  объект	
  принадлежит	
  к	
  тому	
  же	
  
классу,	
  что	
  и	
  его	
  бли...
Граница	
  разделения	
  классов	
  

Возможно,	
  шумовые	
  объекты	
  
Несколько	
  ближайших	
  соседей	
  
•  Новый	
  объект	
  принадлежит	
  тому	
  же	
  классу,	
  
что	
  и	
  большинст...
Граница	
  разделения	
  классов	
  для	
  k=5	
  

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

K=1	
  

K=15	
  
Степень	
  принадлежности	
  
Полутона	
  означают,	
  что	
  примерно	
  половина	
  
соседей	
  одного	
  класса	
  и	
 ...
Многомерное	
  пространство	
  
0.8

z

0.6
0.4
0.2
0
1
1

0.5
y

0.5
0 0

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

x	
  
y	
  
z	
  

y	
  

x	
  
Качество	
  и	
  параметры	
  
алгоритмов	
  
Как	
  лучше	
  выбрать	
  границу?	
  
Недообученная	
  (слабая)	
  модель	
  
Переобученная	
  модель	
  
Оптимальная	
  модель	
  
Переобучение	
  
Сложность	
  модели	
  и	
  ее	
  параметры	
  
•  Обычно	
  если	
  модель	
  склонна	
  
переобучаться,	
  то	
  у	
  не...
Строгая	
  постановка	
  задачи	
  классификации	
  

новые	
  
объекты	
  

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

признаки	
  

клас...
Какой	
  алгоритм	
  выбрать?	
  
Разбиение	
  на	
  контроль	
  
•  Используем	
  имеющиеся	
  данные	
  из	
  обучающей	
  
выборки.	
  Разобъем	
  обучен...
Качество	
  обучения	
  в	
  зависимости	
  от	
  k	
  
%	
   98	
  
96	
  
94	
  
92	
  
90	
  
88	
  
86	
  
1	
   3	
  ...
Как	
  точнее	
  узнавать	
  оптимальное	
  
значение	
  параметра	
  k?	
  
•  Видно	
  что	
  график	
  скачет,	
  почем...
Итак,	
  что	
  мы	
  имеем	
  
•  Сложность:	
  O(NM),	
  N	
  –	
  количество	
  объектов	
  
в	
  обучении,	
  M	
  –	
...
Про	
  выбор	
  расстояния	
  
•  Расстояние	
  на	
  плоскости	
  между	
  точками	
  	
  	
  	
  	
  	
  	
  	
  	
  	
 ...
Выбор	
  расстояния	
  
Понять	
  какую	
  меру	
  сходства	
  между	
  
объектами	
  надо	
  использовать	
  –	
  очень	
...
Параметры	
  модели	
  
•  Количество	
  настраиваемых	
  параметров	
  у	
  
алгоритма	
  бывает	
  куда	
  больше	
  
• ...
Цикл	
  решения	
  задачи	
  
Выбор	
  метода	
  
и	
  параметров	
  
Предобработка	
  
данных	
  

Обучение	
  

Оценка	
...
Терминология	
  
•  Распознавание,	
  предсказание,	
  
прогнозирование	
  
•  Обучающая	
  выборка,	
  тренировочный	
  
...
Примеры	
  задач	
  
Болен	
  ли	
  пациент?	
  

Неизвестные	
  
пациенты	
  

Известные	
  
пациенты	
  

Описание	
  пациента	
  	
  

Болен...
Есть	
  золото?	
  

Новые	
  
территории	
  

Известные	
  
территории	
  

Описание	
  территории	
  

Есть	
  или	
  не...
Поднимется	
  или	
  упадет	
  цена	
  акций?	
  

Будущее	
  

История	
  

Цены	
  акций	
  в	
  предыдущие	
  
Цена	
  ...
Кого	
  выберут	
  на	
  выборах?	
  

Новые	
  
кандид
аты	
  

Кандидаты	
  
с	
  прошлых	
  
выборов	
  

Описание	
  к...
Есть	
  ли	
  котик	
  на	
  изображении?	
  

Неизвестные	
  
фотографии	
  

Размеченные	
  
фотографии	
  

Описание	
 ...
Что	
  такое	
  изображение?	
  
•  Матрица	
  пикселей	
  
•  Каждый	
  пиксель	
  имеет	
  свой	
  цвет	
  (число)	
  

...
Как	
  описать	
  изображение?	
  
Развернуть	
  матрицу	
  пикселей	
  в	
  одну	
  строчку	
  
и	
  использовать	
  это	...
Получится	
  плохо.	
  Нужны	
  границы!	
  
Человеческий	
  мозг	
  в	
  основном	
  анализирует	
  именно	
  её	
  
Рекомендательная	
  система	
  
Известные	
  
Новые	
  
пользователи	
   пользователи	
  

Понравится	
  новый	
  
Просмот...
Рекомендательная	
  система	
  
•  Большое	
  количество	
  пропусков	
  в	
  данных	
  
•  Можно	
  использовать	
  катег...
Коллаборативная	
  фильтрация	
  
Фильм	
  

Неизвестные	
  
оценки	
  

Известные	
  
оценки	
  

Пользователь	
  

Оценк...
Ранжирование	
  
Запрос	
  

Релевантность	
  

Неизвестные	
  
оценки	
  

Известные	
  
оценки	
  

Документ	
  

призна...
Персональное	
  ранжирование	
  
User	
  

Релевантность	
  

Неизвестные	
  
оценки	
  

Известные	
  
оценки	
  

Докуме...
Линейная	
  классификация	
  и	
  
ее	
  производные	
  
Пусть	
  граница	
  –	
  прямая	
  

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

Мало	
  параметров	
  –	
  вряд	
  ли	
  переобучится	
  
Гиперплоскости	
  в	
  многомерных	
  
Author
пространствах	
  
Today
•  В	
  двумерном	
  случае	
  –	
  прямая	
  
•  В	...
Есть	
  много	
  способов	
  провести	
  
прямую	
  

Какая	
  прямая	
  лучше?	
  Нужно	
  сравнивать	
  качество!	
  
Возможны	
  обобщения	
  
на	
  сложные	
  границы	
  
Представим	
  в	
  виде	
  схемы	
  

Граница	
  –	
  прямая	
  
Аналогично	
  для	
  n	
  входов	
  

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

Получится	
  нейронная	
  сеть	
  
Глубинная	
  нейронная	
  сеть	
  
Стараемся	
  восстановить	
  исходные	
  объекты	
  

	
  
Нейронные	
  сети	
  
l 
l 
l 
l 

Могут	
  подстроиться	
  под	
  любые	
  данные	
  
Любят	
  переобучаться	
  
На	
...
Решающие	
  деревья	
  и	
  
композиции	
  над	
  ними	
  
Экспертные	
  системы,	
  составленные	
  
вручную	
  

Решающее	
  дерево	
  для	
  предсказания	
  эффективности	
  введ...
В	
  чем	
  проблемы?	
  
• 
• 
• 
• 

Правила	
  составлялись	
  вручную	
  экспертами	
  
Мнения	
  экспертов	
  расходя...
Построим	
  дерево	
  автоматически	
  
условие	
  1	
  
FALSE	
  

TRUE	
  

условие	
  2	
  
TRUE	
  

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

Попробуем	
  использовать	
  пороговые	
  условия	
  перехода	
  
в	
  виде...
Начнем	
  строить	
  дерево	
  
•  Будем	
  действовать	
  жадно	
  
•  Каждый	
  раз	
  берем	
  наиболее	
  «информативн...
Строим	
  дерево	
  
Каждый	
  раз	
  берем	
  наиболее	
  «информативное»	
  
разделение	
  текущей	
  области	
  

нет	
...
Преимущества	
  деревьев	
  
перед	
  алгоритмами	
  на	
  метриках	
  
•  Придумать	
  правильную	
  меру	
  сходства	
  ...
Недостатки	
  решающего	
  дерева	
  
•  В	
  реальных	
  задачах	
  сильно	
  переобучаются,	
  
мельчат	
  вокруг	
  одн...
Решение:	
  подрезания	
  деревьев	
  
•  Если	
  информативность	
  условия	
  меньше	
  
порога,	
  то	
  прекращаем	
  ...
Будем	
  возвращать	
  вещественную	
  
степень	
  принадлежности	
  классу	
  
от	
  	
  -­‐1	
  до	
  +1	
  
условие	
  ...
Композиции	
  алгоритмов	
  
•  Пусть	
  есть	
  какой-­‐то	
  набор	
  из	
  T	
  алгоритмов:	
  
	
  
•  Финальный	
  ал...
Лес	
  деревьев	
  
Построим	
  композицию	
  из	
  решающих	
  деревьев	
  
ДеревоT

Дерево1

……	
  

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

объекты	
  

признаки	
  

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

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

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

Результат	
  работы	
  
Random	
  Fores...
Случайный	
  лес	
  
• 
• 
• 
• 
• 
• 
• 
• 

Работает	
  с	
  признаками	
  разной	
  природы	
  
Не	
  надо	
  думать	
 ...
Последовательное	
  наращивание	
  
композиции	
  алгоритмов	
  (бустинг)	
  
•  Строим	
  композицию	
  из	
  слабых	
  а...
Качество	
  при	
  разном	
  числе	
  деревьев	
  
	
  
	
  
Основная	
  идея	
  бустинга	
  
•  Набор	
  ответов,	
  предсказанный	
  после	
  шага	
  T	
  
•  Предсказанный	
  ответ...
Что	
  такое	
  бустинг	
  на	
  самом	
  деле?	
  
•  Рассматривается	
  не	
  разность,	
  а	
  градиент	
  
ответов,	
 ...
Алгоритм	
  Виолы-­‐Джонса	
  
Заключение	
  
Про	
  терминологию	
  
•  Интеллектуальный	
  анализ	
  данных	
  (Data	
  
Mining)	
  
•  Машинное	
  обучение	
  (Machi...
Соревнования	
  по	
  анализу	
  данных	
  
•  Сайты	
  
–  Kaggle.com	
  
–  и	
  другие	
  

•  Кем	
  проводятся	
  
– ...
Отличия	
  от	
  олимпиадного	
  
программирования	
  
•  Дается	
  одна	
  задача,	
  а	
  не	
  несколько	
  
•  Решаютс...
На	
  чем	
  пишут	
  алгоритмы	
  обучения?	
  
•  Готовые	
  наборы	
  методов	
  машинного	
  обучения	
  (для	
  
обще...
Вопросы?	
  
Próximos SlideShares
Carregando em…5
×

машинное обучение и анализ данных

7.323 visualizações

Publicada em

  • Seja o primeiro a comentar

машинное обучение и анализ данных

  1. 1. Машинное  обучение  и   анализ  данных   Саша  Фонарев   Малый  ШАД  2013   Сборка  презентации  от  30.11.2013  
  2. 2. Контрольные  вопросы   •  Какой  метод  больше  склонен  к   переобучению  –  метод  одного  ближайшего   соседа  или  метод  ста  ближайших  соседей?   Почему?  
  3. 3. Что  такое  машинное  обучение?  
  4. 4. Автомобиль  или  стул?  
  5. 5. Автомобиль  или  стул?     Нужен  жизненный  опыт   (модель  представления  о  мире)  
  6. 6. Идея  машинного  обучения   Обучающаяся   программа   Примеры  данных  с   закономерностями   Модель   закономерности   Поиск   закономерностей  в   новых  данных  
  7. 7. Метод  ближайшего  соседа  
  8. 8. Сначала  решим  простую  задачу   Синий  или  красный  новый  объект?   250 200 150 100 ?   50 0 0 50 100 150 200 250 300
  9. 9. Ближайший  сосед   •  Пусть  новый  объект  принадлежит  к  тому  же   классу,  что  и  его  ближайший  сосед   250 200 150 100 50 0 0 50 100 150 200 250 300
  10. 10. Граница  разделения  классов   Возможно,  шумовые  объекты  
  11. 11. Несколько  ближайших  соседей   •  Новый  объект  принадлежит  тому  же  классу,   что  и  большинство  из  k  его  соседей   250 200 150 100 50 0 0 50 100 150 200 250 300
  12. 12. Граница  разделения  классов  для  k=5   Оказывается,  алгоритм  дает  ошибку  на   обучающей  выборке!  А  это  и  не  плохо.  
  13. 13. А  если  объектов  больше?   K=1   K=15  
  14. 14. Степень  принадлежности   Полутона  означают,  что  примерно  половина   соседей  одного  класса  и  половина  другого  
  15. 15. Многомерное  пространство   0.8 z 0.6 0.4 0.2 0 1 1 0.5 y 0.5 0 0 x
  16. 16. Двумерные  проекции  трехмерных   данных   z   x   y   z   y   x  
  17. 17. Качество  и  параметры   алгоритмов  
  18. 18. Как  лучше  выбрать  границу?  
  19. 19. Недообученная  (слабая)  модель  
  20. 20. Переобученная  модель  
  21. 21. Оптимальная  модель  
  22. 22. Переобучение  
  23. 23. Сложность  модели  и  ее  параметры   •  Обычно  если  модель  склонна   переобучаться,  то  у  нее  много  параметров   •  Наоборот,  если  у  модели  мало  параметров,   то  и  вряд  ли  она  переобучается  
  24. 24. Строгая  постановка  задачи  классификации   новые   объекты   обучающая   выборка   признаки   класс   признаковое  описание   признаки   ?
  25. 25. Какой  алгоритм  выбрать?  
  26. 26. Разбиение  на  контроль   •  Используем  имеющиеся  данные  из  обучающей   выборки.  Разобъем  обучение  на  две  части.   •  На  одной  мы  будем  обучаться,  а  на  второй   проверять,  сколько  ошибок  выдал  алгоритм     обучающая   выборка   новая   обучающая   выборка   контрольная   выборка   !
  27. 27. Качество  обучения  в  зависимости  от  k   %   98   96   94   92   90   88   86   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  
  28. 28. Как  точнее  узнавать  оптимальное   значение  параметра  k?   •  Видно  что  график  скачет,  почему?   •  Точно  узнать  k  тяжело   •  Можно  проводить  разбиение  на  тест  и   контроль  много  раз,  а  затем  усреднять   результаты  
  29. 29. Итак,  что  мы  имеем   •  Сложность:  O(NM),  N  –  количество  объектов   в  обучении,  M  –  количество  новых   объектов,  O(1)  –  подсчет  одного  расстояния   •  Структуры  данных  для  ускорения:  kd-­‐tree,   R-­‐tree,  Ball-­‐tree   •  Есть  один  оптимизируемый  параметр  –   число  соседей  k  (а  всего  параметров   больше,  почему?)   •  Нужно  уметь  считать  расстояние  между   объектами  
  30. 30. Про  выбор  расстояния   •  Расстояние  на  плоскости  между  точками                                    и     •  Расстояние  в  многомерном  случае  считается  аналогично   •  Можно  добавить  признакам  веса   •  Можно  считать  вообще  по-­‐другому   •  Можно  делать  отбор  признаков  
  31. 31. Выбор  расстояния   Понять  какую  меру  сходства  между   объектами  надо  использовать  –  очень   сложная  задача  
  32. 32. Параметры  модели   •  Количество  настраиваемых  параметров  у   алгоритма  бывает  куда  больше   •  Не  всегда  удается  «тупо»  перебрать  все   значения  параметров  у  модели   •  Придумываются  разные  быстрые  методы   нахождения  параметров,  близких  к   оптимальным  (раздел  математики  –   методы  оптимизации)  
  33. 33. Цикл  решения  задачи   Выбор  метода   и  параметров   Предобработка   данных   Обучение   Оценка   качества   Окончательный   классификатор  
  34. 34. Терминология   •  Распознавание,  предсказание,   прогнозирование   •  Обучающая  выборка,  тренировочный   набор  объектов,  наблюдение   •  Тестовая  выборка,  контрольная  выборка,   валидационная  выборка,  скрытая  выборка   •  Классы,  метки  классов  
  35. 35. Примеры  задач  
  36. 36. Болен  ли  пациент?   Неизвестные   пациенты   Известные   пациенты   Описание  пациента     Болен  или  нет?   признаковое  описание   признаки   ?
  37. 37. Есть  золото?   Новые   территории   Известные   территории   Описание  территории   Есть  или  нет?   признаковое  описание   признаки   ? Очень  несбалансированные  данные!  
  38. 38. Поднимется  или  упадет  цена  акций?   Будущее   История   Цены  акций  в  предыдущие   Цена  в  следующий  момент   моменты  времени   признаковое  описание   признаки   ?
  39. 39. Кого  выберут  на  выборах?   Новые   кандид аты   Кандидаты   с  прошлых   выборов   Описание  кандидата   Выбран  или  нет?   признаковое  описание   признаки   ? Нужны  дополнительные  ограничения  на  вид  данных!  
  40. 40. Есть  ли  котик  на  изображении?   Неизвестные   фотографии   Размеченные   фотографии   Описание  изображений     Есть  котик  или  нет?   признаковое  описание   признаки   ?
  41. 41. Что  такое  изображение?   •  Матрица  пикселей   •  Каждый  пиксель  имеет  свой  цвет  (число)   Число,  кодирующее  цвет  
  42. 42. Как  описать  изображение?   Развернуть  матрицу  пикселей  в  одну  строчку   и  использовать  это  как  набор  признаков    
  43. 43. Получится  плохо.  Нужны  границы!   Человеческий  мозг  в  основном  анализирует  именно  её  
  44. 44. Рекомендательная  система   Известные   Новые   пользователи   пользователи   Понравится  новый   Просмотренные  фильмы   фильм  или  нет?   признаковое  описание   признаки   ? Не  учитывается  большое  количество  взаимосвязей!  
  45. 45. Рекомендательная  система   •  Большое  количество  пропусков  в  данных   •  Можно  использовать  категориальные   признаки!  
  46. 46. Коллаборативная  фильтрация   Фильм   Неизвестные   оценки   Известные   оценки   Пользователь   Оценка   за  фильм   признаки   ? Категориальные  признаки  могут  принимать  много   неупорядоченных  значений  
  47. 47. Ранжирование   Запрос   Релевантность   Неизвестные   оценки   Известные   оценки   Документ   признаки   ?
  48. 48. Персональное  ранжирование   User   Релевантность   Неизвестные   оценки   Известные   оценки   Документ   Запрос   признаки   ?
  49. 49. Линейная  классификация  и   ее  производные  
  50. 50. Пусть  граница  –  прямая   Мало  параметров  
  51. 51. Иногда  прямая  плохо  помогает   Мало  параметров  –  вряд  ли  переобучится  
  52. 52. Гиперплоскости  в  многомерных   Author пространствах   Today •  В  двумерном  случае  –  прямая   •  В  трехмерном  –  плоскость   •  Дальше  –  гиперплоскость   a1 x1 + a2 x2 + ... + an 1 xn 1 + an xn + a0 = 0 Делит  пространство  на  две  части  
  53. 53. Есть  много  способов  провести   прямую   Какая  прямая  лучше?  Нужно  сравнивать  качество!  
  54. 54. Возможны  обобщения   на  сложные  границы  
  55. 55. Представим  в  виде  схемы   Граница  –  прямая  
  56. 56. Аналогично  для  n  входов   Граница  –  n-­‐мерная  гиперплоскость  
  57. 57. Можно  как  угодно  соединять   Получится  нейронная  сеть  
  58. 58. Глубинная  нейронная  сеть   Стараемся  восстановить  исходные  объекты    
  59. 59. Нейронные  сети   l  l  l  l  Могут  подстроиться  под  любые  данные   Любят  переобучаться   На  самом  деле  не  похожи  на  мозг  человека  :)   Имеют  огромное  количество  преимуществ  и   недостатков  
  60. 60. Решающие  деревья  и   композиции  над  ними  
  61. 61. Экспертные  системы,  составленные   вручную   Решающее  дерево  для  предсказания  эффективности  введения  лекарства  
  62. 62. В  чем  проблемы?   •  •  •  •  Правила  составлялись  вручную  экспертами   Мнения  экспертов  расходятся   Эскперты  могут  ошибаться   Эксперт  не  в  состоянии  проанализировать  все   данные  
  63. 63. Построим  дерево  автоматически   условие  1   FALSE   TRUE   условие  2   TRUE   FALSE  
  64. 64. Какие  условия  будут  в  дереве?   Попробуем  использовать  пороговые  условия  перехода   в  виде  пороговых  правил:  x>c  
  65. 65. Начнем  строить  дерево   •  Будем  действовать  жадно   •  Каждый  раз  берем  наиболее  «информативное»   разделение  всей  области   нет  
  66. 66. Строим  дерево   Каждый  раз  берем  наиболее  «информативное»   разделение  текущей  области   нет   да   нет   да  
  67. 67. Преимущества  деревьев   перед  алгоритмами  на  метриках   •  Придумать  правильную  меру  сходства  –   значит  почти  решить  задачу,  это  сложно.  А   решающие  деревья  не  используют  метрики   •  Единственное  что  используют  деревья  –            А                                              В                                                            С   точка  В  ближе  к  А,  чем  С  по  данному  признаку   •  Устойчивы  к  монотонным  преобразованиям   признаков  
  68. 68. Недостатки  решающего  дерева   •  В  реальных  задачах  сильно  переобучаются,   мельчат  вокруг  одной  области  пространства   (содержат  в  себе  много  параметров)   •  Очень  неустойчивы  относительно  данных  
  69. 69. Решение:  подрезания  деревьев   •  Если  информативность  условия  меньше   порога,  то  прекращаем  строить  дерево   •  Количество  объектов  в  листе  меньше   некоторого  числа,  то  прекращаем  строить   •  И  т.п.  
  70. 70. Будем  возвращать  вещественную   степень  принадлежности  классу   от    -­‐1  до  +1   условие  1   FALSE   TRUE   условие  2   TRUE   FALSE  
  71. 71. Композиции  алгоритмов   •  Пусть  есть  какой-­‐то  набор  из  T  алгоритмов:     •  Финальный  алгоритм:  
  72. 72. Лес  деревьев   Построим  композицию  из  решающих  деревьев   ДеревоT Дерево1 ……   Как  сделать  деревья  существенно  разными?  
  73. 73. Будем  обучаться  на  случайных   подвыборках   объекты   признаки   Случайная   подвыборка   класс  
  74. 74. Как  работает  случайный  лес?   Сгенерируем  данные:  
  75. 75. Как  работает  случайный  лес?   Реальная  оптимальная   границы   Результат  работы   Random  Forest   (50  деревьев)   Результат  работы   Random  Forest   (2000  деревьев)  
  76. 76. Случайный  лес   •  •  •  •  •  •  •  •  Работает  с  признаками  разной  природы   Не  надо  думать  над  метрикой   Устойчив  к  изменениям  признаков   Хорошо  распараллеливается   Тяжело  интерпретируется  человеком   Плохо  приближает  линейные  зависимости   Долго  строится   Не  переобучается  при  увеличении  количества  деревьев     “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  
  77. 77. Последовательное  наращивание   композиции  алгоритмов  (бустинг)   •  Строим  композицию  из  слабых  алгоритмов   –  подрезанных  решающих  деревьев   •  Каждое  новое  дерево  компенсирует   ошибки  суммы  предыдущих   •  Получается  очень  сильная  композиция   •  Склонна  к  переобучению,  несмотря  на   многие  обратные  заявления  :)  
  78. 78. Качество  при  разном  числе  деревьев      
  79. 79. Основная  идея  бустинга   •  Набор  ответов,  предсказанный  после  шага  T   •  Предсказанный  ответ  отличается  от  истинного   на  разность   •  Будем  обучать  следующее  дерево  на  эту   разность  
  80. 80. Что  такое  бустинг  на  самом  деле?   •  Рассматривается  не  разность,  а  градиент   ответов,  на  который  настраивается  очередное   дерево   •  Перед  деревьями  ставятся  маленькие   коэффициенты  (порядка  0.02)  во  избежание   переобучения   •  На  каждом  шаге  используется  произвольная   часть  объектов  (стохастичность)   Yandex  MatrixNet  –  стохастический  градиентный   бустинг  над  решающими  деревьями  (а  еще  его   используют  Yahoo,  CERN  и  другие)  
  81. 81. Алгоритм  Виолы-­‐Джонса  
  82. 82. Заключение  
  83. 83. Про  терминологию   •  Интеллектуальный  анализ  данных  (Data   Mining)   •  Машинное  обучение  (Machine  Learning,   Sta—s—cal  Learning)   •  Прикладная  статистика  (Applied  Sta—s—cs)   •  Факторный  анализ  (Factor  Analysis)   •  Теория  оптимизации  (Op—miza—on  Theory)   •  Искусственный  Интеллект  (Ar—ffi—al   Intellengence)  
  84. 84. Соревнования  по  анализу  данных   •  Сайты   –  Kaggle.com   –  и  другие   •  Кем  проводятся   –  Компаниями   –  Работодателями   –  Университетами  
  85. 85. Отличия  от  олимпиадного   программирования   •  Дается  одна  задача,  а  не  несколько   •  Решаются  значительно  дольше  (недели,   месяцы,  годы)   •  Не  существует  точного  и  правильного  решения   •  Идет  борьба  за  сущие  проценты  качества   •  Не  важен  язык,  скорость  работы  и  ресурсы;   важен  только  результат   •  В  одиночку  или  командами  
  86. 86. На  чем  пишут  алгоритмы  обучения?   •  Готовые  наборы  методов  машинного  обучения  (для   общего  понимания,  какой  метод  лучше)   –  Weka   –  RapidMiner   –  Orange   •  Интерпретируемые  языки  (для  экспериментов  и   выбора  алгоритма)   –  Matlab  (Octave  –  бесплатная  версия)   –  Python  (+  библиотеки  на  основе  scipy)   –  R   •  Более  низкоуровневые  языки  (для  скорости  работы,   когда  уже  ясно,  какой  алгоритм  будет   использоваться)   –  C   –  C++  
  87. 87. Вопросы?  

×