Навстречу науке о данных: вводная статья о машинном обучении.

Этот пост связан с видео под названием «Введение в машинное обучение», созданным для На пути к науке о данных. Сценарий этого видео был написан с Энн Боннер. Голос, который вы слышите в видео, - это голос Элис Иризарри.

Вступление

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

Давайте начнем с примера «повседневного» вклада в машинное обучение миллионов пользователей: алгоритма, лежащего в основе ленты новостей Facebook. Facebook использует машинное обучение, чтобы использовать данные и отзывы пользователей для персонализации их лент. Если вам «нравится» сообщение или вы прекращаете прокрутку, чтобы что-то прочитать, алгоритм извлекает уроки из этого и начинает заполнять ваш канал похожим контентом. Это обучение происходит постоянно, поэтому материалы, предлагаемые в вашей ленте новостей, развиваются в соответствии с вашими предпочтениями, делая ваш пользовательский опыт более приятным.

Это только один пример! Есть много других. Apple может узнать лицо вашего друга на только что сделанной фотографии. Amazon Echo понимает вас и может ответить на ваши вопросы. Ваш пылесос может даже перемещаться по вашему дому, в то время как Netflix рекомендует видео, соответствующие вашему профилю! Машинное обучение стало неотъемлемой частью нашей повседневной жизни, и в ближайшее время оно никуда не денется.

Определение машинного обучения

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

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

Классическим алгоритмам даются точные и полные правила для выполнения задачи. Алгоритмам машинного обучения даются общие рекомендации, которые определяют модель вместе с данными. Эти данные должны содержать недостающую информацию, необходимую модели для выполнения задачи. Таким образом, алгоритм машинного обучения может выполнить свою задачу, когда модель была скорректирована с учетом данных. Мы говорим, что «подгоняем модель к данным» или что «модель должна быть обучена на данных».

Проиллюстрируем это на простом примере. Допустим, мы хотим спрогнозировать цену дома на основе размера дома, размера его сада и количества комнат в нем.

Мы могли бы попытаться построить классический алгоритм, который решает эту проблему. Этот алгоритм должен взять три характеристики дома и вернуть прогнозируемую цену на основе явного правила. В этом примере должна быть известна точная формула ценообразования и она должна быть явно закодирована. Но на практике эта формула часто не известна.

С другой стороны, мы могли бы построить алгоритм машинного обучения. Во-первых, такой алгоритм определил бы модель, которая может быть неполной формулой, созданной на основе наших ограниченных знаний. Затем модель будет скорректирована путем обучения на конкретных примерах цен на жилье. При этом мы объединяем модель с некоторыми данными.

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

Модели под присмотром и без присмотра

Двумя основными категориями методов машинного обучения являются обучение с учителем и обучение без учителя.

При обучении с учителем мы хотим получить модель, предсказывающую ярлык данных на основе их характеристик. Чтобы научиться отображать объекты и метки, модель должна быть подогнана к приведенным примерам пространственных объектов с соответствующими метками. Мы говорим, что «модель обучается на помеченном наборе данных».

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

При обучении без учителя мы хотим определить модель, которая выявляет структуры в некоторых данных, которые описываются только своими характеристиками, но без ярлыков. Например, алгоритмы обучения без учителя могут помочь ответить на такие вопросы, как «есть ли группы среди моих данных? " или «есть ли способ упростить описание моих данных?».

Модель может искать в данных различные типы базовых структур. Если он пытается найти группы среди данных, мы будем говорить о модели кластеризации. Примером модели кластеризации может быть модель, которая сегментирует клиентов компании на основе их профилей. В противном случае, если у нас есть модель, которая преобразует данные и представляет их с меньшим количеством функций, мы будем говорить о модели уменьшения размеров. Примером этого может быть модель, которая суммирует многочисленные технические характеристики некоторых автомобилей в несколько основных показателей.

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

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

С другой стороны, обучение без учителя похоже на то, что вы берете одну и ту же книгу с картинками с фруктами, анализируете все фрукты для выявления закономерностей, а затем решаете сгруппировать фрукты по цвету и размеру. Классическими примерами алгоритмов обучения без учителя являются кластеризация k-средних, иерархическая кластеризация, анализ главных компонентов, автоэнкодеры и т. Д.

Заключение

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

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

Благодарим за чтение и до скорой встречи на сайте На пути к науке о данных!

Предыдущая запись на эту тему, написанная Батистом Рокка: