- PVSM.RU - https://www.pvsm.ru -

Машинное обучение и анализ данных. Лекция для Малого ШАДа Яндекса

Все чаще и чаще мы сталкиваемся с необходимостью выявлять внутренние закономерности больших объёмов данных. Например, для распознавания спама необходимо уметь находить закономерности в содержании электронных писем, а для прогнозирования стоимости акций — закономерности в финансовых данных. К сожалению, выявить их «вручную» часто невозможно, и тогда на помощь приходят методы машинного обучения. Они позволяют строить алгоритмы, которые помогают находить новые, ещё не описанные закономерности. Мы поговорим о том, что такое машинное обучение, где его стоит применять и какие сложности могут при этом возникнуть. Принципы работы нескольких популярных методов машинного обучения будут рассмотрены на реальных примерах.

Лекция [1] предназначена для старшеклассников — студентов Малого ШАДа, но и взрослые с ее помощью смогут составить представление об основах машинного обучения.

image [2]

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

Метод ближайшего соседа

Для примера решим простую задачу. У нас на плоскости разбросаны точки двух цветов: красные и синие. Координаты и цвет каждой из них нам известны. Нужно определить цвет новой точки. Каждая точка — изучаемый объект, а координаты и цвет — его параметры. Например, объекты — люди, координаты — рост и длина волос человека, а цвет — пол человека.

image

Попробуем решить ее методом ближайшего соседа. Пусть новый объект принадлежит к тому же классу, что и его ближайший сосед. Сделаем прогноз для каждой точки на нашей плоскости: если ближайшая точка синяя, значит, и новый объект, появившийся в этой точке – синий. И наоборот.

image

Таким образом, у нас получаются две области: в одной велика вероятность появления красных точек, а в другой – синих.

image

Далее попробуем немного изменить алгоритм, и ориентироваться на несколько (k) ближайших соседей. Пускай k будет равно пяти.

image

В этом случае мы сможем отсечь потенциально шумовые объекты и получить более ровную границу разделения классов.

image

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

image

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

Снова представим, что у нас есть плоскость, на которой определенным образом расположены красные и синие точки.

image

Провести границу между ними можно разными способами. Результат будет зависеть от того, насколько алгоритм подстроился под данные.

image

Как правило, склонность модели к переобучению связана с количеством ее параметров. Так, например, модель с малым количеством параметров вряд ли сможет переобучиться

В общем случае в задачах машинного обучения рассматриваются точки в многомерном пространстве, а не на плоскости. Каждая координата — признак. Поэтому обучающую выборку можно представлять в следующей виде:

image

Но какой алгоритм выбрать, и как оценить качество его работы? Для этого размеченную обучающую выборку разбивают на две части. На первой части происходит непосредственно обучение, а вторая часть используется в качестве контрольной. На ней мы будем проверять, сколько ошибок выдал алгоритм.

Цикл решения задачи

Примерный цикл решения задачи по машинному обучению выглядит так:

image

Сначала мы проводим предварительную обработку данных, затем выбираем метод классификации и параметры, проводим обучение и оцениваем качество. Если качество нас утраивает, задача считается выполненной. В противном случае возвращаемся к подбору метода и параметров.

Более подробная информация, примеры реальных задач для машинного обучения, а также рассказ о гиперплоскостях, нейронных сетях [3]. deep learning, методе Виолы-Джонса [4], решающих деревьях [5] и бустинге доступны в видеозаписи лекции.

Автор: elcoyot

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/algoritmy/50745

Ссылки в тексте:

[1] Лекция: http://tech.yandex.ru/education/m/shad/talks/1423/

[2] Image: http://habrahabr.ru/company/yandex/blog/206058/

[3] нейронных сетях: http://ru.wikipedia.org/wiki/Искусственная_нейронная_сеть

[4] методе Виолы-Джонса: http://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%92%D0%B8%D0%BE%D0%BB%D1%8B%E2%80%94%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%B0

[5] решающих деревьях: http://ru.wikipedia.org/wiki/Дерево_принятия_решений

[6] Источник: http://habrahabr.ru/post/206058/