Openbravo-rus.ru

Образование по русски
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

В машинном обучении признак это

Общие понятия

Одним из первых, кто использовал термин «машинное обучение», был изобретатель первой самообучающейся компьютерной программы игры в шашки А. Л. Самуэль в 1959 г. [1]

Это определение не выдерживает критики, так как не понятно, что означает наречие «явно». Более точное определение дал намного позже Т. М. Митчелл. [2]

$X$ — множество объектов (англ. object set, or input set)
$Y$ — множество меток классов (англ. label set, or output set)
$hat y∶ X → Y$ — неизвестная зависимость (англ. unknown target function (dependency))

Дано
$ ⊂ X$ — обучающая выборка (англ. training sample set)
$y_i = hat y(x_i), i = 1, . . . , l $ — известные метки классов
Найти
Найти $ a ∶ X → Y $ — алгоритм, решающую функцию (англ. decision function), приближающую $y$ на всём множестве $X$.

Признаки [ править ]

Компьютер всегда имеет дело с признаковым описанием объектов. Например, пациента можно описать признаками: имя, возраст, номер полиса, жалобы, давление, температура, результаты анализов.
$f_j∶ X → D_j,j = 1, . , n$ — признаки (англ. features, or attributes).

  • бинарный (binary): $D_j = <0, 1>$;
  • номинальный, или категориальный (categorical): $D_j$ конечно;
  • упорядоченный (ordinal): $D_j$ конечно и упорядоченно;
  • числовой (numerical): $D_j = mathbb$.

т.е. объект представляется как набор признаков $(f_1(x). ,f_n(x))$. Данные обычно представляются в виде матрицы объектов-признаков

[math] F = ||f_j(x_i)||_ <[l times n]>= begin f_1(x_1) & cdots & f_n(x_1) \ cdots & cdots & cdots \ f_1(x_l) & cdots & f_n(x_l) \ end [/math]

Типы задач [ править ]

Классификация (англ. classification)

  • $Y = <−1, +1>$ — классификация на 2 класса;
  • $Y = <1, . . . , M>$ — на $M$ непересекающихся классов;
  • $Y = <0, 1>^M$— на $M$ классов, которые могут пересекаться.

Цель: научиться определять, к какому классу принадлежит объект.
Примеры: распознавание текста по рукописному вводу; определение того, находится на фотографии человек или кот; определение, является ли письмо спамом.
Методы: метод ближайших соседей, дерево решений, логистическая регрессия, метод опорных векторов, байесовский классификатор, cверточные нейронные сети.

Восстановление регрессии (англ. regression)

Цель: получать прогноз на основе выборки объектов.
Примеры: предсказание стоимости акции через полгода; предсказание прибыли магазина в следующем месяце; предсказание качества вина на слепом тестировании.
Методы: линейная регрессия, дерево решений, метод опорных векторов.

  • $Y$ — конечное упорядоченное множество.

Цель: научиться по множеству объектов получать множество рейтингов, упорядоченное согласно заданному отношению порядка.
Примеры: выдача поискового запроса; подбор интересных новостей для пользователя.
Методы: поточечный подход, попарный подход, списочный подход.

Кластеризация (англ. clustering)

Цель: разбить множество объектов на подмножества (кластеры) таким образом, чтобы объекты из одного кластера были более похожи друг на друга, чем на объекты из других кластеров по какому-либо критерию.
Примеры: разбиение клиентов сотового оператора по платёжеспособности; разбиение космических объектов на похожие (галактики, планеты, звезды).
Методы: иерархическая кластеризация, эволюционные алгоритмы кластеризации, EM-алгоритм.

Вспомогательные типы задач [ править ]

Уменьшение размерности (англ. dimensionality reduction)

Цель: научиться описывать данные не $N$ признаками, а меньшим числом для повышения точности модели или последующей визуализации.
Примеры: визуализация в двумерном или трехмерном пространстве; сжатие данных.
Методы: гребневая регрессия, лассо-регрессия, метод главных компонент, стохастическое вложение соседей с t-распределением.

Выявление аномалий (англ. anomaly detection)

Цель: научиться выявлять аномалии в данных. Отличительная особенность задачи от классификации — примеров аномалий для тренировки модели очень мало, либо нет совсем; поэтому для ее решения необходимы специальные методы.
Примеры: определение мошеннических транзакций по банковской карте; обнаружение событий, предвещающих землетрясение.
Методы: экстремальный анализ данных, аппроксимирующий метод, проецирующие методы.

Обучение с учителем (англ. Supervised learning [3] ) [ править ]

Метки классов $y_i$ доступны все сразу (известны ответы для поставленной задачи).
Задачи, которые могут решаться этим способом: классификация, регрессия.

Обучение без учителя (англ. Unsupervised learning) [ править ]

Изучает широкий класс задач обработки данных, в которых известны только описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами. Т.е. тренировочные данные доступны все сразу, но ответы для поставленной задачи неизвестны.

Задачи, которые могут решаться этим способом: кластеризация, нахождение ассоциативных правил, выдача рекомендаций (например, реклама), уменьшение размерности датасета, обработка естественного языка.

Обучение с частичным привлечением учителя (англ. Semi-supervised learning [4] ) [ править ]

Занимает промежуточное положение между обучением с учителем и без учителя. Каждый прецедент представляет собой пару «объект, ответ», но ответы известны только на части прецедентов (Размечено мало, либо малоинформативная часть).
Примером частичного обучения может послужить сообучение: два или более обучаемых алгоритма используют один и тот же набор данных, но каждый при обучении использует различные — в идеале некоррелирующие — наборы признаков объектов.

Обучение с подкреплением (англ. Reinforcement learning) [ править ]

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

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

При обучении с подкреплением, в отличие от обучения с учителем, не предоставляются верные пары «входные данные-ответ», а принятие субоптимальных решений (дающих локальный экстремум) не ограничивается явно. Обучение с подкреплением пытается найти компромисс между исследованием неизученных областей и применением имеющихся знаний (англ. exploration vs exploitation tradeoff).

Активное обучение (англ. Active learning) [ править ]

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

Обучение в реальном времени (англ. Online learning) [ править ]

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

  • Предсказание месторождений полезных ископаемых

Признаками являются данные геологической разведки.

  • Бинарные признаки: наличие/отсутствие тех или иных пород на территории района;
  • Числовые признаки: физико-химические свойства пород можно описать количественной характеристикой.

Обучающая выборка состоит из двух классов:

  • районы известных месторождений;
  • похожие районы, в которых интересующее ископаемое обнаружено не было.

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

  • Оценивание кредитоспособности заёмщиков

Эта задача решается банками при выдаче кредитов. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита.

В случае физических лиц признаковое описание состоит из:

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

Можно выделить следующие признаки:

  • Бинарные признаки: пол, наличие телефона;
  • Номинальные признаки: место проживания, профессия, работодатель;
  • Порядковые признаки: образование, занимаемая должность;
  • Числовые признаки:сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках.

Обучающая выборка составляется из заёмщиков с известной кредитной историей.

На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Чем выше суммарное число баллов заёмщика, набранных по совокупности информативных признаков, тем более надёжным считается заёмщик.

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

  • Бинарные признаки: пол, наличие головной боли, слабости;
  • Порядковый признак: тяжесть состояния (удовлетворительное, средней тяжести, тяжёлое, крайне тяжёлое);
  • Числовые признаки:возраст, пульс, артериальное давление, содержание гемоглобина в крови, доза препарата.

Признаковое описание пациента является, по сути дела, формализованной историей болезни.

Накопив достаточное количество данных, можно решать различные задачи:

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

Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.

  • Задача классификации видов ириса (Фишер 1936)[5][6]

Классификация

Материал из MachineLearning.

Классификация — один из разделов машинного обучения, посвященный решению следующей задачи. Имеется множество объектов (ситуаций), разделённых некоторым образом на классы. Задано конечное множество объектов, для которых известно, к каким классам они относятся. Это множество называется обучающей выборкой. Классовая принадлежность остальных объектов не известна. Требуется построить алгоритм, способный классифицировать произвольный объект из исходного множества.

Классифицировать объект — значит, указать номер (или наименование класса), к которому относится данный объект.

Классификация объекта — номер или наименование класса, выдаваемый алгоритмом классификации в результате его применения к данному конкретному объекту.

В математической статистике задачи классификации называются также задачами дискриминантного анализа.

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

Содержание

Типология задач классификации

Типы входных данных

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

Классификацию сигналов и изображений называют также распознаванием образов.

Типы классов

  • Двухклассовая классификация. Наиболее простой в техническом отношении случай, который служит основой для решения более сложных задач.
  • Многоклассовая классификация. Когда число классов достигает многих тысяч (например, при распознавании иероглифов или слитной речи), задача классификации становится существенно более трудной.
  • Непересекающиеся классы.
  • Пересекающиеся классы. Объект может относиться одновременно к нескольким классам.
  • Нечёткие классы. Требуется определять степень принадлежности объекта каждому из классов, обычно это действительное число от 0 до 1.

Классификация: формальная постановка

Пусть — множество описаний объектов, — конечное множество номеров (имён, меток) классов. Существует неизвестная целевая зависимость — отображение , значения которой известны только на объектах конечной обучающей выборки . Требуется построить алгоритм , способный классифицировать произвольный объект .

Вероятностная постановка задачи

Более общей считается вероятностная постановка задачи. Предполагается, что множество пар «объект, класс» является вероятностным пространством с неизвестной вероятностной мерой . Имеется конечная обучающая выборка наблюдений , сгенерированная согласно вероятностной мере . Требуется построить алгоритм , способный классифицировать произвольный объект .

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

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

В зависимости от множества признаки делятся на следующие типы:

  • бинарный признак: ;
  • номинальный признак: — конечное множество;
  • порядковый признак: — конечное упорядоченное множество;
  • количественный признак: — множество действительных чисел.

Часто встречаются прикладные задачи с разнотипными признаками, для их решения подходят далеко не все методы.

Примеры прикладных задач

Задачи медицинской диагностики

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

  • классифицировать вид заболевания (дифференциальная диагностика);
  • определять наиболее целесообразный способ лечения;
  • предсказывать длительность и исход заболевания;
  • оценивать риск осложнений;
  • находить синдромы — наиболее характерные для данного заболевания совокупности симптомов.

Ценность такого рода систем в том, что они способны мгновенно анализировать и обобщать огромное количество прецедентов — возможность, недоступная специалисту-врачу.

Предсказание месторождений полезных ископаемых

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

Оценивание кредитоспособности заёмщиков

Эта задача решается банками при выдаче кредитов. Потребность в автоматизации процедуры выдачи кредитов впервые возникла в период бума кредитных карт 60-70-х годов в США и других развитых странах. Объектами в данном случае являются физические или юридические лица, претендующие на получение кредита. В случае физических лиц признаковое описание состоит из анкеты, которую заполняет сам заёмщик, и, возможно, дополнительной информации, которую банк собирает о нём из собственных источников. Примеры бинарных признаков: пол, наличие телефона. Номинальные признаки — место проживания, профессия, работодатель. Порядковые признаки — образование, занимаемая должность. Количественные признаки — сумма кредита, возраст, стаж работы, доход семьи, размер задолженностей в других банках. Обучающая выборка составляется из заёмщиков с известной кредитной историей. В простейшем случае принятие решений сводится к классификации заёмщиков на два класса: «хороших» и «плохих». Кредиты выдаются только заёмщикам первого класса. В более сложном случае оценивается суммарное число баллов (score) заёмщика, набранных по совокупности информативных признаков. Чем выше оценка, тем более надёжным считается заёмщик. Отсюда и название — кредитный скоринг. На стадии обучения производится синтез и отбор информативных признаков и определяется, сколько баллов назначать за каждый признак, чтобы риск принимаемых решений был минимален. Следующая задача — решить, на каких условиях выдавать кредит: определить процентную ставку, срок погашения, и прочие параметры кредитного договора. Эта задача также может быть решения методами обучения по прецедентам.

Введение в Machine Learning

Машинное обучение (machine learning) – в целом довольно молодая наука, связанная главным образом с наукой о Больших данных (Big Data). Но на самом деле вся теория машинного обучения – это лишь пересечение областей, существовавших задолго до появления науки о Больших данных, а именно – математической статистики, математического анализа, численных методов, теории вероятностей и оптимизации.

Возникает логичный вопрос. Почему сейчас появилась необходимость в отдельно науке? Дело в том, что примерно до 90-х годов XX столетия вычислительные мощности компьютеров были очень ограничены, памяти не хватало, и просто невозможно было даже хранить такие внушительные объемы данных, какие подвергаются обработке сейчас.

Здесь следует, наверное, упомянуть еще одно новомодное словечко – Data Mining или извлечение знаний. Под дата майнингом понимается поиск полезной информации, получениях новых сведений и схем из заведомо большой выборки данных. Для банков эта может быть информация о клиентах и решение такой распространенной задачи, как кредитный скоринг. Для автомобильных дилеров – это поиск потенциальных клиентов, улучшение сервиса и обеспечение конкурентоспособности. Для медиков – системы автоматической медицинской диагностики. Все эти задачи могут быть решены и решаемы средствами машинного обучения. Конечно, точность результатов для разных задач может быть различной и меняться в зависимости от выбора алгоритмов и самих данных. Машинное обучение – это не только математика и строгий вывод, но и определенного рода искусство, для постижения которого может потребоваться не один год. Но все в ваших руках!

Объекты и признаки.

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

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

Признаки могут быть разных типов:

— бинарные – принимают только два значения (-1, 1). Они обозначают наличие или отсутствие того или иного признака у объекта. Например, состоит ли человек в браке. Это пример бинарного признака.

— номинальный признак – принимает значение из диапазона (0, +Infinity).

— вещественный признак – любые вещественные значения.

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

Xi = (p1, p2, … pn), где

n – количество измеряемых признаков.

Все множество объектов X называют исходной выборкой.

В общем задача обучения выглядит следующим образом: у нас есть множество объектов и множество ответов, например, сведения о том, какому классу принадлежит объект. В итоге все сводится к определению некоторой зависимости между объектом и ответом. То есть по обучающей выборке мы эту зависимость восстанавливаем и строим некоторый алгоритм, который будет пригоден для работы с новыми объектами. Чтобы контролировать качество работы алгоритма вводится понятие функционала (функции) качества.

В зависимости от типа функционала качества выделяют следующие типы обучения:

  • обучение с учителем
  • обучение без учителя
  • обучение с подкреплением

Задачи Машинного обучения.

Теперь чуть подробнее остановимся на типах решаемых задач машинного обучения:

Задачи регрессии.

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

Классификация.

Если у нас есть сведения о том, на какие группы можно разбить все множество объектов и хотим определять принадлежность новых объектов к тому или иному классу, используются методы классификационного анализа. Здесь вся выборка объектов делится на два типа:

— Объекты исходной выборки, относящиеся к тому или иному классу с известным значением индекса класса для каждого объекта. Эта выборка называется обучающей.

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

Кластеризация.

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

Существует большое число методов кластеризации, с которыми мы обязательно поработаем. Одними из первых таких методов будут способы кластеризации, основанные на понятии расстояния (distance) между объектами.

Алгоритмы машинного обучения: основные понятия

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

Машинное обучение получило широкое распространение, но и еще более широкое непонимание. Коротко изложим основные понятия машинного обучения, обсудим некоторые из наиболее распространенных алгоритмов машинного обучения и объясним, как эти алгоритмы связаны с другими частями мозаики создания прогнозных моделей из исторических данных.

Что такое алгоритмы машинного обучения?

Машинное обучение – это класс методов автоматического создания прогнозных моделей на основе данных. Алгоритмы машинного обучения превращают набор данных в модель. Какой алгоритм работает лучше всего (контролируемый, неконтролируемый, классификация, регрессия и т. д.), зависит от типа решаемой задачи, доступных вычислительных ресурсов и характера данных.

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

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

Алгоритмы нелинейной регрессии, которые «подгоняют» кривые (например, многочлены или экспоненты) к данным, немного сложнее: в отличие от задач линейной регрессии для них не существует детерминистских подходов. Вместо этого алгоритмы нелинейной регрессии реализуют тот или иной итерационный процесс минимизации, часто — некоторую вариацию метода самого крутого спуска.

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

Алгоритмы машинного обучения еще сложнее, чем нелинейная регрессия, отчасти потому, что машинное обучение обходится без ограничения на «подгонку» к определенной математической функции. Есть две основные категории задач, которые часто решаются с помощью машинного обучения: регрессия и классификация. Регрессия – для числовых данных (например, каков вероятный доход для человека с данным адресом и профессией). Классификация – для нечисловых данных (например, сможет ли заемщик выплатить кредит).

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

Контролируемое обучение против неконтролируемого

Независимо от этих типов существуют еще два вида алгоритмов машинного обучения: контролируемые (supervised) и неконтролируемые (unsupervised). В контролируемом обучении формируется обучающий набор данных с ответами, скажем, набор изображений животных вместе с именами животных. Целью обучения будет модель, которая сможет правильно распознавать изображения (то есть узнавать животных, включенных в набор обучения), которые она ранее не видела.

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

Обучение превращает контролируемые алгоритмы в модели, оптимизируя их параметры, чтобы найти набор значений, который наилучшим образом соответствует данным. Алгоритмы часто основываются на вариантах самого крутого спуска, оптимизированных для конкретного случая; пример — стохастический градиентный спуск (SGD), который является по существу самым крутым спуском, выполненным многократно от случайных начальных точек. Учет факторов, которые корректируют направление градиента на основе импульса или регулируют скорость обучения в зависимости на основе прогресса от одного прогона данных (его называют эпохой) к следующему, позволяют подобрать оптимальные настройки SGD.

Очистка данных для машинного обучения

Такой вещи, как чистые данные, не существует. Чтобы быть полезными для машинного обучения, данные должны быть сильно отфильтрованы. Например, можно:

  • Просмотреть данные и исключить все столбцы, в которых много недостающих данных.
  • Просмотреть данные еще раз и выбрать столбцы, которые будут использованы для прогнозирования. (Если эту операцию повторять эту операцию несколько раз, то можно выбирать разные столбцы.)
  • Исключить все строки, в которых отсутствуют данные в оставшихся столбцах.
  • Исправить очевидные опечатки и объединить эквивалентные значения. Скажем, РФ, Российская Федерация и Россия могут быть собраны в одну категорию.
  • Исключить строки с данными, которые находятся вне нужного диапазона. Например, если анализировать поездки на такси в пределах Москвы, вы захотите отфильтровать строки с широтами и долготами, которые находятся за пределами агломерации.

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

Кодирование и нормализация данных для машинного обучения

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

Первая – нумерация меток, каждое значение текстовой метки заменяется числом. Вторая – «единая горячая» (one-hot) кодировка, каждое значение текстовой метки превращается в столбец с двоичным значением (1 или 0). Большинство платформ машинного обучения имеют функции, которые выполняют кодировку самостоятельно. Как правило, предпочтительной является единая горячая кодировка, поскольку нумерация меток иногда может запутать алгоритм машинного обучения, заставляя думать, что коды упорядочены.

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

Что такое признаки в машинном обучении?

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

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

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

Общие алгоритмы машинного обучения

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

Вот некоторые из наиболее распространенных алгоритмов:

  • линейная регрессия, она же регрессия наименьших квадратов (для числовых данных);
  • логистическая регрессия (для бинарной классификации);
  • линейный дискриминантный анализ (для мультикатегорийной классификации);
  • деревья решений (для классификации и регрессии);
  • наивный байесовский классификатор (для классификации и регрессии);
  • метод k-ближайших соседей, он же k-NN (для классификации и регрессии);
  • обучение нейронной сети Кохонена, он же LVQ (для классификации и регрессии);
  • метод опорных векторов, он же SVM (для двоичной классификации);
  • «случайный лес» и методы бэггинга (для классификации и регрессии);
  • методы бустинга, включая AdaBoost и XGBoost, являются ансамблями алгоритмов, которые создают серию моделей, где каждая новая модель пытается исправить ошибки предыдущей модели (для классификации и регрессии).

А где нейронные сети и глубокие нейронные сети, о которых так много говорят? Они, как правило, требуют больших вычислительных затрат, поэтому их следует использовать только для специализированных задач, таких как классификация изображений и распознавание речи, для которых не подходят более простые алгоритмы. («Глубокая» означает, что в нейронной сети много слоев.)

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

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

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

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

Некоторые платформы машинного обучения предусматривают автоматическую настройку гиперпараметров. По сути, системе следует сообщить, какие гиперпараметры надо изменить, и, возможно, какую метрику требуется оптимизировать, и система просматривает эти гиперпараметры столько запусков, сколько ей будет позволено. (Например, Google Cloud hyperparameter tuning извлекает соответствующую метрику из модели TensorFlow, поэтому вам не нужно ее указывать.)

Есть три подхода в оптимизации гиперпараметров: Байесовская оптимизация, поиск по решетке и случайный поиск. Как правило, самым эффективным подходом оказывается Байесовская оптимизация.

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

Автоматизированное машинное обучение

Есть только один способ узнать, какой алгоритм или ансамбль алгоритмов даст лучшую модель в каждом случае, – попробовать все. Если также попробуете все возможные нормализации и варианты функций, неминуем с комбинаторным взрывом.

Пытаться все сделать вручную нецелесообразно, поэтому поставщики инструментов машинного обучения приложили много усилий для выпуска систем класса AutoML (так называемое автоматизированное машинное обучение). Лучшие из них сочетают в себе настройку параметров, подбор алгоритмов и нормализацию данных. Гиперпараметрическую настройку лучшей модели (или моделей) часто оставляют на потом.

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

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

Поделитесь материалом с коллегами и друзьями

М Машинное обучение

Многие пользователи постиндустриальной эпохи задавались вопросом: Machine Learning – что это? Фантастическое будущее, которое уже наступило или очередная непонятная теория вроде квантового дуализма. Не то и не другое.

Машинное обучение (МО), а именно так переводится этот термин, является ветвью искусственного интеллекта. Более детальнее – это методика анализа данных, которые позволяют машине/роботу/аналитической системе самостоятельного обучаться посредством решения массива сходных задач.

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

Принцип МО интересно продемонстрировали в гугловском ролике «Google’s DeepMind AI Just Taught Itself To Walk».

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

Что касается фантастического будущего, то МО условно делят на три стадии внедрения:

  1. Технологии получают приставку «инновационные», а значит, к ним имеют доступ только крупные корпорации и правительственные структуры. Например, Google и Amazon, IBM и Apple первыми стали внедрять искусственный интеллект. Собственно любая система, которая пытается предсказать покупательский спрос на основе массива данных, связана с технологией машинного обучения.
  2. Технологиями пользуются люди с определенным багажом знаний в IT сфере, которые имеют доступ к современным разработкам, гаджетам. Появление новых сервисов, основанных на технологии искусственного интеллекта. Яркий пример – аналитические машины Гугла и Яндекса в контекстной рекламе.
  3. Технологии доступны даже школьнику, людям «лампового» поколения, которые вполне серьезно опасаются «Восстания машин» по аналогии с блокбастером «Терминатор».


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

Сфера применения

Мы рассмотрели Machine Learning – что это понятие означает. Теперь самое время рассмотреть для чего используется МО в бизнесе и жизни.

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

Здорово, но пока фантастично. В будущем, может даже и не слишком далеком – это станет реальностью.

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

По такому же принципу формируются умные ленты в соцсетях. Аналитические машины ФБ, ВК, Инстаграм, Твиттер исследуют ваши интересы – какие посты чаще просматриваете, на что кликаете, какие паблики или группы посещаете и другое. Чем дольше и чаще вы активничаете в соцсетях, тем более персонализированной становится ваша лента новостей. Это и хорошо и плохо. С одной стороны – машина отсеивает массив неинтересной (по её мнению) информации, а с другой – она сужает ваш кругозор. Маркетинг – ничего личного!

Машинное обучение используется в структурах обеспечения безопасности. Например, система распознавания лиц в метро. Камеры сканируют лица людей, входящих и выходящих из метро. Аналитические машины сравнивают снимки с лицами, которые находятся в розыске. Если сходство высоко, то система подает сигнал. Сотрудники полиции идут на проверку документов у конкретного человека.

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

Виды машинного обучения

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

    Обучение с учителем (supervised learning). В этом случае в аналитическую систему загружается массив данных по конкретной задаче и задается направление – цель анализа. Как правило, нужно предсказать что-либо или проверить какую-либо гипотезу.

Например, у нас есть данные о доходах интернет-магазина за полгода работы. Мы знаем, сколько продано товаров, сколько потрачено денег на привлечение клиентов, ROI, средний чек, количество кликов, отказов и другие метрики. Задача машины проанализировать весь массив данных и выдать прогноз дохода на предстоящий период – месяц, квартал, полгода или год. Это регрессивный метод решения задач.
Другой пример. На основе массива данных, критериев выборки нужно определить является ли текст письма на электронную почту спамом. Или, имея данные успеваемости школьников по предметам, зная их IQ по тестам, пол и возраст, нужно помочь выпускникам определиться с профориентацией. Аналитическая машина выискивает и проверяет общие черты, сравнивает и классифицирует результаты тестов, оценки по школьной программе, склад ума. На основе данных делает прогноз. Это задачи классификации.
Обучение без учителя (unsupervised learning). Обучение строится на том, что человеку и программе неизвестны правильные ответы заранее, имеется только некий массив данных. Аналитическая машина, обрабатывая информацию, сама ищет взаимосвязи. Зачастую на выходе имеем неочевидные решения.

Например, мы знаем данные о весе, росте и типе телосложения 10 000 потенциальных покупателей джемперов определенного фасона. Загружаем информацию в машину, чтобы разбить клиентов по кластерам в соответствии с имеющимися данными. В результате мы получим несколько категорий людей со схожими характеристиками, чтобы для них выпустить джемпер нужного фасона. Это задачи кластеризации. Другой пример. Чтобы описать какое-либо явление приходится задействовать 200-300 характеристик. Соответственно визуализировать такие данные крайне сложно, а разобраться в них просто невозможно. Аналитическая система получает задание обработать массив характеристик и выбрать схожие, то есть сжать данные до 2-5-10 характеристик. Это задачи уменьшения размерности.
Глубокое обучение (Deep learning). Глубокое машинное обучение – это обязательно анализ «Больших данных» — Big Data. То есть одним компьютером, одной программой переработать столько информации просто невозможно. Поэтому используются нейронные сети. Суть такого обучения в том, что огромное поле информации разделяется на небольшие сегменты данных, обработка которых делегируется другим устройствам. Например, один процессор только собирает информацию по задаче и передает дальше, четыре других процессора анализируют собранные данные и передают результаты дальше. Следующие в цепочке процессоры ищут решения.

Например, система распознавания объектов работает по принципу нейросети. Сначала фотографируется объект целиком (получение графической информации), потом система разбивает данные на точки, находит линии из этих точек, строит из линий простые фигуры, а из них – сложные двумерные и далее 3D-объекты.

Классы задач машинного обучения


Обобщим задачи МО:

  1. Регрессия. На основании массива признаков или характеристик предсказать вещественный результат. То есть машина должна выдать конкретную цифру. Например, предсказать стоимость акций на бирже, количество запросов по ключевому слову, бюджет контекстной рекламы и другое.
  2. Классификация. Задача определить по количеству и качеству признаков, характеристик категорию объекта. Например, распознать по снимку конкретного человека в розыске, имея только описания на словах, определить спам, выявить болезнь у пациента.
  3. Кластеризация. Данные разбиваются на похожие категории. Например, космические объекты относят в конкретные категории по схожим признакам (удаленность, размер, планета или звезда и другие).
  4. Уменьшение размерности. Сжатие массива характеристик объекта до меньшего количества признаков для дальнейшей визуализации или использования в работе. Например, сжатие массива данных в архивы для передачи по сети.

Основы машинного обучения


Часто приходится слышать о Machine Learning – что это очень сложная научная дисциплина, осилить которую могут только гении высшей математики и программирования. Однако МО на самом деле гораздо проще, чем кажется на первый взгляд. По крайней мере, изучить основы искусственного интеллекта может любой образованный человек.

Что для этого нужно:

  1. Владеть английским языком на нормальном уровне. Зачем? Чтобы общаться без проблем в кругу единомышленников. В Европе, кстати, незнание английского считается признаком дурного тона. Акцент никого не интересует, но если имеются трудности с построением предложений, то будут трудности и с общением.
  2. Основы программирования. В машинном обучении применяется Python или Matlab. Также не лишним будет понимать, как работают базы данных.
  3. Неплохо подтянуть знания в математике, особенно раздел алгоритмов. Для начала подойдет классический курс Эндрю Энга «Машинное обучение». В курсе много практики, и, главное, нет упора на обширный математический багаж.

Для углубленного обучения МО советуем записаться на курсы от ВШЭ или специализацию от МФТИ.

Предлагаем добавить в свою библиотеку следующие книги по искусственному интеллекту и МО:

  • Стюарт Рассел, Питер Норвиг «Искусственный интеллект. Современный подход»
  • Джордж Ф. Люгер Искусственный интеллект. «Стратегии и методы решения сложных проблем»
  • Петер Флах «Машинное обучение»
  • Себастьян Рашка «Python и машинное обучение»
  • Шарден Б., Массарон Л., Боскетти А. «Крупномасштабное машинное обучение вместе с Python»
  • Тарик Рашид «Создаем нейронную сеть»
  • Хенрик Бринк, Джозеф Ричардс «Машинное обучение»

Все книги можно купить на Озоне.

Резюме

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

Читать еще:  Обучение программе эксель
Ссылка на основную публикацию
Adblock
detector
×
×