Пропустить навигацию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Посмотрите, как значения меняются со временем

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

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

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

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

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

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

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

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

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

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

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

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