Типы задач: с учителем, без учителя, с подкреплением

Три большие семьи ML-задач — и простой признак, по которому их различают.

Все задачи машинного обучения делят на три большие группы. Различие проще всего понять по одному вопросу: есть ли в данных «правильные ответы», на которых учится модель?

Обучение с учителем (supervised learning)

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

«Учитель» здесь — это размеченные данные. Вы показываете модели тысячи писем с ярлыком «спам/не спам» или квартиры с известной ценой. Модель находит связь между признаками и ответом и учится предсказывать ответ для новых объектов. Это самый частый тип задач. Внутри него — два подвида:

  • Регрессия — предсказываем число: цену квартиры, температуру, спрос.
  • Классификация — предсказываем категорию: спам/не спам, кошка/собака, болезнь/здоров.

Обучение без учителя (unsupervised learning)

Обучение без учителя — у данных нет готовых ответов; модель сама ищет в них структуру.

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

Обучение с подкреплением (reinforcement learning)

Обучение с подкреплением — агент учится действовать в среде методом проб и ошибок, получая награды и штрафы.

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

Как различать на практике

ТипЕсть ответы?Пример задачи
С учителемДа, для каждого примераПредсказать цену по характеристикам
Без учителяНетРазбить клиентов на сегменты
С подкреплениемНет, но есть награда за действияНаучить бота играть в игру

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

Почему важно сразу определить тип задачи

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

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

Итог

  • Обучение с учителем: есть метки, предсказываем число (регрессия) или категорию (классификация).
  • Обучение без учителя: меток нет, ищем структуру — кластеры или упрощённое представление.
  • Обучение с подкреплением: агент учится через награды и штрафы методом проб и ошибок.
  • Главный различающий вопрос: есть ли в данных готовые правильные ответы.
Проверьте себя
1. Чем обучение с учителем отличается от обучения без учителя?
AС учителем используется более мощный компьютер
BВ обучении с учителем у каждого примера есть известный правильный ответ (метка), а без учителя меток нет
CБез учителя данные вообще не нужны
DЭто два названия одного и того же
2. К какому типу относится задача «разбить клиентов на похожие группы, не зная заранее, какие группы есть»?
AОбучение с учителем (классификация)
BОбучение с учителем (регрессия)
CОбучение без учителя (кластеризация)
DОбучение с подкреплением
3. Что характерно для обучения с подкреплением?
AДля каждого входа заранее известен правильный ответ
BАгент учится методом проб и ошибок, получая награды и штрафы от среды
CДанные всегда без меток и без обратной связи
DМодель только понижает размерность данных
Поддержать проект