Классическое машинное обучение: обучение с учителем, без учителя и с подкреплением
В предыдущей статье мы разобрались с тем, что такое искусственный интеллект, и узнали, что современный ИИ — это преимущественно «слабый» ИИ, заточенный под решение конкретных задач. Но как именно машины учатся решать эти задачи? Как компьютер понимает, что на фотографии изображен кот, а не собака, или как он учится играть в шахматы лучше гроссмейстера?
Ответ кроется в машинном обучении (Machine Learning, ML). Это сердце современного ИИ. Если искусственный интеллект — это общая концепция, то машинное обучение — это набор методов, позволяющих реализовать эту концепцию на практике.
В этой статье мы погрузимся в три фундаментальных подхода к обучению машин: обучение с учителем, обучение без учителя и обучение с подкреплением. Мы разберем их механику, отличия и сферы применения.
Машинное обучение против традиционного программирования
Чтобы понять суть ML, нужно увидеть разницу с классическим программированием.
В традиционном программировании разработчик пишет четкие правила (код). Компьютер берет данные, применяет к ним эти правила и выдает ответ.
Пример: Чтобы конвертировать валюту, программист пишет формулу: сумма * курс. Компьютер просто считает.
В машинном обучении все переворачивается. Мы даем компьютеру данные и правильные ответы (или просто данные), а он сам должен найти правила (закономерности), которые связывают одно с другим.
!Сравнение потоков данных в классическом программировании и машинном обучении
1. Обучение с учителем (Supervised Learning)
Это самый распространенный и понятный тип машинного обучения. Представьте школьника и учителя. Учитель показывает ученику карточку с буквой «А» и говорит: «Это буква А». Затем показывает «Б» и говорит: «Это Б». После множества примеров учитель показывает новую карточку и спрашивает: «А это что?». Если ученик усвоил урок, он ответит правильно.
В терминах ML это выглядит так:
* У нас есть входные данные (картинки, текст, цифры).
* У нас есть метки (правильные ответы для этих данных).
* Задача алгоритма — найти функцию, которая связывает входные данные с метками, чтобы предсказывать метки для новых, неизвестных данных.
Математически это можно записать как поиск функции , такой что:
Где:
* — выходное значение (прогноз или метка).
* — входные данные (признаки).
* — функция, которую модель пытается «выучить».
Обучение с учителем делится на две большие подкатегории:
А. Классификация
Задача — предсказать категорию (класс) объекта. Ответ всегда дискретный (ограниченный набор вариантов).
* Примеры:
* Спам-фильтр: письмо «спам» или «не спам».
* Медицина: снимок содержит «патологию» или «норму».
* Распознавание рукописных цифр (от 0 до 9).
Б. Регрессия
Задача — предсказать конкретное числовое значение. Ответ непрерывный.
* Примеры:
* Предсказание стоимости квартиры на основе её площади и района.
* Прогноз температуры воздуха на завтра.
* Оценка времени прибытия такси.
Простейший пример регрессии — линейная регрессия, которую можно описать формулой прямой:
Где:
* — предсказываемое значение (например, цена).
* — входной параметр (например, площадь).
* — вес (коэффициент важности параметра).
* — смещение (базовое значение).
В процессе обучения алгоритм подбирает такие и , чтобы ошибка предсказания была минимальной.
!Визуализация линейной регрессии: линия тренда среди точек данных
2. Обучение без учителя (Unsupervised Learning)
Представьте, что вы прилетели на планету, языка которой не знаете. Вам никто не объясняет, что есть что (нет учителя). Но наблюдая за миром, вы начинаете замечать закономерности: вот эти существа похожи друг на друга, а вот эти объекты всегда падают вниз. Вы самостоятельно структурируете информацию.
В обучении без учителя у алгоритма есть только входные данные , но нет правильных ответов . Цель — найти скрытую структуру в данных.
Основные задачи обучения без учителя:
А. Кластеризация
Группировка объектов по схожим признакам. Алгоритм не знает, что это за группы, но видит, что объекты внутри группы похожи друг на друга больше, чем на объекты из других групп.
* Примеры:
* Маркетинг: сегментация клиентов базы (например, «экономные», «транжиры», «новички») для таргетированной рекламы.
* Геология: поиск схожих участков земли для добычи ископаемых.
Б. Поиск ассоциативных правил
Поиск закономерностей вида «Если произошло А, то часто происходит Б».
* Пример: Анализ рыночной корзины. Супермаркеты выясняют, что люди, покупающие пиво, часто покупают чипсы. Или классический пример: «покупатели подгузников часто покупают пиво» (молодые отцы).
В. Снижение размерности
Упрощение данных без потери важной информации. Это полезно, когда параметров слишком много (тысячи), и их сложно визуализировать или обрабатывать.
!Процесс кластеризации данных: от хаоса к структуре
3. Обучение с подкреплением (Reinforcement Learning, RL)
Это обучение методом кнута и пряника. Здесь нет готовых данных, как в первых двух случаях. Здесь есть Агент (наша программа) и Среда (мир, в котором агент существует).
Агент совершает действия, а Среда дает обратную связь: награду (положительное число) или наказание (отрицательное число).
Задача агента — научиться действовать так, чтобы получить максимальную суммарную награду за определенное время.
Как это работает?
Наблюдение: Агент оценивает текущее состояние среды.
Действие: Агент принимает решение и совершает ход.
Награда: Среда реагирует и выдает результат.
Обновление стратегии: Агент запоминает: «Ага, если я суну пальцы в розетку, будет больно» или «Если я съем этот гриб, я вырасту».Математически цель агента часто формулируется как максимизация ожидаемой кумулятивной награды :
Где:
* — суммарная награда (return) от момента времени .
* — награда (reward), полученная на каждом последующем шаге.
Примечание: В реальных формулах часто добавляют коэффициент дисконтирования, чтобы награда «сейчас» ценилась выше, чем награда «потом», но для понимания сути достаточно простой суммы.
* Примеры:
* Игры: Знаменитая программа AlphaGo, победившая чемпиона мира по го, училась, играя миллионы партий сама с собой.
* Робототехника: Робот-пылесос учится обходить препятствия, или робот-собака учится ходить, не падая.
* Управление: Оптимизация охлаждения в дата-центрах Google (снижение затрат энергии).
!Концепция обучения с подкреплением: агент в среде с наградами и наказаниями
Сводная таблица методов
Чтобы закрепить материал, давайте сравним три подхода в одной таблице.
| Тип обучения | Данные | Цель | Пример из жизни |
| :--- | :--- | :--- | :--- |
| С учителем | Размеченные (есть правильные ответы) | Предсказать ответ для новых данных | Оценка стоимости дома, диагностика по симптомам |
| Без учителя | Неразмеченные (нет ответов) | Найти структуру или группы в данных | Сегментация клиентов, сжатие видео |
| С подкреплением | Среда + Награды/Штрафы | Максимизировать награду через действия | Обучение игре в шахматы, автопилот |
Заключение
Мы рассмотрели три кита классического машинного обучения. Важно понимать, что в реальных проектах эти методы часто комбинируются. Например, робот может использовать обучение с учителем для распознавания объектов камерой, и обучение с подкреплением для принятия решений о движении.
Эти алгоритмы — фундамент, на котором строятся более сложные системы, включая нейронные сети и глубокое обучение, о которых мы поговорим в следующих статьях курса. Теперь вы знаете, что «умная» лента в соцсетях — это, скорее всего, рекомендательная система (обучение без учителя или гибрид), а спам-фильтр — классический пример обучения с учителем.