Компания
354,78
рейтинг
14 декабря 2013 в 16:29

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

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

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

image

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



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


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

image

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

image

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

image

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

image

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

image

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

image

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


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

image

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

image

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

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

image

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

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


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

image

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

Более подробная информация, примеры реальных задач для машинного обучения, а также рассказ о гиперплоскостях, нейронных сетях. deep learning, методе Виолы-Джонса, решающих деревьях и бустинге доступны в видеозаписи лекции.
Автор: @elcoyot
Яндекс
рейтинг 354,78

Комментарии (2)

  • +2
    Вот это да! Уже столько времени прошло и ни одного комментария! А вообще — кому интересна тема — рекомендую бесплатный курс по машинному обучению о котором я узнал отсюда: alenacpp.blogspot.ru/2013/10/blog-post.html
  • 0
    Отличное сочетание лаконичности и содержательности. Неизбежная при этом поверхность ничуть не вредит восприятию. Можно рекомендовать эту лекцию как «введение» тем кому курс «большого» ШАДа по машинному обучению, представляется излишне строгим, формальным, и математически «насыщенным».

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка