#2 – Типы машинного обучения
Видеоурок
Когда говорят «машинное обучение», на самом деле речь идёт не об одной технологии, а о целом семействе подходов. Всё зависит от того, как мы подаём данные модели, что она должна с ними делать и насколько хорошо она «понимает» окружающий мир. Именно здесь появляются три основных направления: обучение с учителем (supervised learning), обучение без учителя (unsupervised learning) и обучение с подкреплением (reinforcement learning).
Что такое обучение с учителем?
Представьте, что вы показываете ребёнку картинки кошек и собак и при этом сразу говорите ему: «Вот это кошка, а вот это собака». Ребёнок начинает запоминать, какие у этих животных особенности, и учится отличать их. В машинном обучении — та же история. Мы даём модели набор входных данных (например, изображений, текстов или чисел) и вместе с ними прикладываем правильный ответ. Это и есть обучение с учителем.
Если говорить более технически, supervised learning — это когда у нас есть обучающая выборка, в которой каждый пример уже размечен. Например, в задаче прогнозирования цен на жильё модель получает таблицу, где указано количество комнат, площадь, район и цена. Она учится по этим данным и затем может предсказывать цену для новых квартир.

Такие задачи условно делятся на две группы. Первая — это регрессия, когда модель должна предсказать конкретное числовое значение (например, цену квартиры, температуру на завтра или возраст человека по фотографии). Вторая — это классификация, когда модель выбирает один из заранее известных классов (например, спам или не спам, больной или здоровый, покупатель или нет).
На практике supervised learning используется чаще всего. Именно он лежит в основе таких решений, как распознавание лиц, анализ настроений в тексте, кредитный скоринг, рекомендации фильмов и многое другое.
Что такое обучение без учителя?
А теперь представьте, что вы даёте тому же ребёнку пачку картинок, но при этом ничего не говорите. Ни кто там изображён, ни что это вообще за изображения. Он будет просто рассматривать их и пытаться сам найти какие-то закономерности. Возможно, он сгруппирует их по цветам, по форме, по фону. Это и есть обучение без учителя.
В unsupervised learning у нас есть только входные данные, но нет правильных ответов. Модель должна самостоятельно найти в них структуру. Один из самых популярных подходов — кластеризация, когда модель группирует объекты, которые похожи друг на друга. Например, можно взять клиентов интернет-магазина и разделить их на группы по поведению: кто чаще покупает одежду, кто берёт электронику, а кто просто просматривает товары и ничего не покупает.

Другой важный пример — снижение размерности. Иногда у нас слишком много признаков, и мы хотим упростить данные, оставив только главное. Это как сжать большую фотографию без потери смысла. Такие методы особенно полезны при визуализации данных, при подготовке к другим видам обучения и даже в анализе ДНК.
Несмотря на то, что unsupervised learning кажется более «туманным» и менее контролируемым, он крайне важен в задачах, где нет готовых ответов. К тому же, он отлично работает как предварительный этап перед supervised learning — сначала находим группы, а затем настраиваем модель, учитывая эти группы.
Что такое обучение с подкреплением?
Ну и третья категория — самая интересная с точки зрения поведения. Это обучение с подкреплением. Представьте себе игру, в которой у вас есть персонаж, и вы ему не говорите, что делать. Но каждый раз, когда он делает что-то полезное — например, достигает цели — вы даёте ему награду. А если он ошибается — штрафуете. Со временем персонаж учится действовать так, чтобы получать как можно больше наград. Это и есть reinforcement learning.
Здесь у нас есть агент, который взаимодействует с окружением. Он получает состояние, принимает решение, выполняет действие и получает награду. Затем он анализирует, к чему привело его решение, и постепенно обучается действовать более эффективно.

Такие алгоритмы чаще всего применяются в играх и в реальных задачах, где важна последовательность действий и достижение цели. Например, так обучали AlphaGo обыгрывать лучших игроков в го. Или обучают роботов ходить, прыгать, поднимать предметы. А в Unity с помощью ML-Agents можно сделать так, чтобы виртуальный персонаж учился бегать, прыгать, избегать препятствия и даже играть в футбол.
Reinforcement learning требует больше ресурсов и сложнее в реализации, но при этом позволяет создавать по-настоящему «умных» агентов.
Как запомнить разницу?
Supervised learning — это как учёба с учителем. Вы показываете примеры и даёте правильные ответы. Unsupervised learning — это как самообучение: никаких правильных ответов, только поиск закономерностей. А reinforcement learning — это как игра: пробуйте — получайте награду или наказание — делайте вывод.
Эти три подхода охватывают 90% задач машинного обучения. Всё, что вы будете изучать дальше, так или иначе строится на их основе. Даже сложные нейросети и глубинное обучение — чаще всего это разновидности этих же подходов, просто более масштабные и сложные.
Задание к уроку
Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям
Также стоит посмотреть