Существует три основных типа машинного обучения:

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

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

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

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

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

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

После того, как алгоритм будет обучен, вы можете использовать его для прогнозирования цен на новые, невидимые дома, вводя входные функции и получая в результате прогнозируемую выходную метку. Например, если вы хотите предсказать цену нового дома площадью 1500 кв. футов, с 3 спальнями и расположенного в городе А, вы должны ввести эти функции в алгоритм, и он выведет прогнозируемую цену в размере 325 000 долларов США (при условии алгоритм изучил хорошее сопоставление между входными функциями и выходной меткой).

Обучение с учителем подразделяется на две категории алгоритмов:

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

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

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

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

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

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

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

Неконтролируемое обучение подразделяется на две категории алгоритмов:

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

Машинное обучение с подкреплением

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

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

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

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

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

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

«Успех обычно приходит к тем, кто слишком занят, чтобы искать его».