Trace Id is missing
Пропустить и перейти к основному содержимому

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

Введение в математику и логику машинного обучения.

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

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

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

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

Методики машинного обучения

По мере изучения алгоритмов машинного обучения вы обнаружите, что они обычно относятся к одной из трех методик:


Контролируемое обучение

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

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

Неконтролируемое обучение

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

 

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

 

Обучение с подкреплением

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

 

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

Что можно делать с помощью алгоритмов машинного обучения

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

Прогнозирование целевой категории

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

  • Выйдет ли из строя эта шина на следующих 1000 км: да или нет?
  • Что привлекает больше клиентов: 10 долл. США на счете или скидка 15%?

 

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

  • В каком месяце большинство путешественников покупают авиабилеты?
  • Какую эмоцию выражает лицо человека на этой фотографии?

Поиск необычных точек данных

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

  • Какие детали из этой партии бракованные?
  • Какие покупки с помощью кредитной карты могут быть мошенническими?

Прогнозирование значений

С помощью алгоритмов регрессии можно спрогнозировать значение новой точки данных на основе исторических данных. Эти алгоритмы помогают получить ответ на такие вопросы:

  • Какой будет средняя стоимость дома с двумя спальнями в моем городе в следующем году?
  • Сколько пациентов примет клиника во вторник?

Изменение значений со временем

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

  • В следующем году цена определенной акции с большей вероятностью повысится или понизится?
  • Какие у меня будут расходы в следующем году?

Обнаружение сходства

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

  • Какие зрители предпочитают одинаковые типы фильмов?
  • Какие модели принтеров выходят из строя аналогичным образом?

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

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

  • Это письмо — спам?
  • Какова тональность (положительная, отрицательная или нейтральная) определенного текста?

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

Алгоритмы логистической регрессии позволяют вписывать в представление данных непрерывную S-образную кривую. Логистическая регрессия— это еще один популярный тип регрессионного анализ.

Упрощенные алгоритмы Байеса позволяют вычислить вероятность какого-либо события в зависимости от связанного события.

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

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

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

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

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

Алгоритмы кластеризации методом k-средних позволяют классифицировать данные и группировать их в кластеры, где k равно количеству кластеров. В пределах каждого кластера точки данных являются однородными, а по отношению к точкам данных в других кластерах — разнородными.

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

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

Начните экспериментировать с помощью Машинного обучения Azure

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