Модуль 2: Введение в машинное обучение и типы задач
Машинное обучение (ML) — это подход, при котором компьютер не программируют явно под каждую задачу, а «обучают» на данных: модель настраивает свои параметры так, чтобы лучше предсказывать целевой результат или находить структуру в данных. Чтобы ориентироваться в курсе и в реальных проектах, важно понимать типы задач и типичный жизненный цикл ML-проекта.
Задача модуля: дать чёткую классификацию задач (с учителем, без учителя, с подкреплением) и показать полный пайплайн от данных до внедрения модели. После этого вы сможете правильно называть задачу, выбирать метрики и понимать, на каком этапе находитесь в проекте.
Что разберём
- Обучение с учителем — регрессия и классификация, функция потерь, типичные метрики.
- Обучение без учителя — кластеризация и снижение размерности, когда меток нет.
- Обучение с подкреплением — агент, среда, награды; краткий обзор для кругозора.
- Пайплайн ML — от загрузки данных до деплоя и мониторинга.
2.1 Обучение с учителем (Supervised Learning)
В обучении с учителем у каждого объекта в выборке есть метка (правильный ответ): цена квартиры, класс письма (спам/не спам), категория товара. Модель учится по парам «признаки → ответ» и в итоге должна предсказывать ответ для новых объектов. Это самый распространённый тип задач в практике.
Регрессия
Регрессия — задача предсказания числа: температура завтра, цена дома, спрос на товар, время до события. Выход модели — непрерывное значение (часто любое действительное число или значение в заданном диапазоне).
Типичные метрики качества: MSE (средний квадрат ошибки), MAE (средняя абсолютная ошибка), R² (доля объяснённой дисперсии). Чем меньше MSE/MAE и чем ближе R² к 1, тем лучше модель предсказывает целевую переменную.
Классификация
Классификация — задача отнесения объекта к одному из классов: кошка или собака на фото, спам или не спам, тип заболевания, категория новости. Выход модели — либо метка класса, либо вероятности принадлежности каждому классу (что удобнее для интерпретации и настройки порога).
Бинарная классификация — два класса (да/нет, спам/не спам). Многоклассовая — несколько классов (например, цифры 0–9 или категории товаров). Метрики: точность (accuracy), полнота и точность по классам (precision, recall), F1-score, ROC-AUC — в зависимости от дисбаланса классов и целей бизнеса.
Функция потерь (Loss Function)
Функция потерь — одна величина, которая показывает, насколько предсказания модели отличаются от правильных ответов. Алгоритм обучения минимизирует эту функцию: подбирает веса так, чтобы loss становился меньше. Таким образом мы «подгоняем» модель под данные.
Для регрессии часто используют MSE (средний квадрат ошибки); для классификации — кросс-энтропию (логистическую потерю для бинарной, категориальную для многоклассовой). Выбор loss влияет на то, что именно модель оптимизирует и как ведёт себя на границах классов.
На практике: большинство задач в индустрии — supervised: прогноз оттока, оценка кредитного скоринга, распознавание образов, рекомендации (часто формулируются как регрессия или классификация). Умение чётко определить «регрессия это или классификация» и подобрать метрику — базовый навык.
2.2 Обучение без учителя (Unsupervised Learning)
В обучении без учителя меток нет: есть только признаки объектов. Цель — найти структуру в данных: сгруппировать похожие объекты, сжать размерность, выявить аномалии или скрытые факторы. Такие задачи возникают, когда разметка дорога или невозможна, или когда интересна именно структура данных.
Кластеризация
Кластеризация — разбить объекты на группы (кластеры) так, чтобы внутри группы объекты были похожи, а между группами — различались. Меток «какой объект к какому классу относится» нет; алгоритм сам решает, сколько групп делать и куда отнести каждый объект.
Примеры: сегментация клиентов по поведению, группировка документов по темам, поиск аномалий (маленькие кластеры или объекты далеко от центров). Популярные алгоритмы: K-means, DBSCAN, иерархическая кластеризация. Выбор алгоритма и числа кластеров зависит от данных и целей.
Снижение размерности
Когда признаков очень много, данные трудно визуализировать и модели могут переобучаться или долго обучаться. Снижение размерности — это сжатие набора признаков до меньшего числа переменных (компонент), сохраняя по возможности структуру и вариативность данных.
PCA (метод главных компонент) — линейное сжатие; t-SNE, UMAP — нелинейные методы, часто используемые для визуализации в 2D. Снижение размерности применяют для ускорения обучения, визуализации, шумоподавления и как преобработку перед кластеризацией.
Когда использовать
Unsupervised полезен при разведке данных (посмотреть кластеры, распределение в 2D), при отсутствии разметки и когда нужно найти аномалии или сегменты без заранее заданных категорий.
2.3 Обучение с подкреплением (Reinforcement Learning, RL) — обзор
В обучении с подкреплением нет готовых пар «вход–ответ». Вместо этого агент (модель) действует в среде: совершает действия, переходит в новые состояния и получает награды (или штрафы). Цель — максимизировать суммарную награду в долгосрочной перспективе. Обучение идёт за счёт проб и ошибок и обновления стратегии на основе полученного опыта.
Примеры: игра (ходы → очки, победа/поражение), управление роботом (действия → достижение цели, экономия энергии), рекомендации (показать контент → клик или отказ). В RL важны баланс исследования и использования (exploration vs exploitation), задержка награды и устойчивость обучения.
Для общего кругозора полезно знать названия: DQN, policy gradient, A3C, среды вроде OpenAI Gym. В этом курсе RL затрагивается только обзорно; глубокое изучение потребует отдельного курса.
Связь с остальным курсом: идеи RL используются в тонкой настройке языковых моделей (RLHF — reinforcement learning from human feedback) и в игровых AI. Понимание «агент, среда, награда» поможет при чтении про такие методы.
2.4 Основной пайплайн (конвейер) ML
Любой ML-проект от идеи до работающего сервиса проходит через ряд этапов. Понимание пайплайна помогает планировать работу, не забывать про качество данных и воспроизводимость и правильно ставить эксперименты.
Этапы пайплайна
- Загрузка и разведка данных — откуда берутся данные, какой объём, какие признаки, есть ли пропуски и выбросы. EDA (exploratory data analysis) и визуализации.
- Предобработка (чистка) — обработка пропусков (удаление, заполнение медианой/средним, отдельная модель), выбросы, приведение типов данных, единицы измерения. Без качественной предобработки даже сильная модель будет работать плохо.
- Извлечение и отбор признаков (Feature Engineering) — создание новых признаков (агрегаты, бины, кодировки), отбор информативных признаков, нормализация/стандартизация. Часто именно feature engineering даёт основной прирост качества.
- Обучение модели — выбор алгоритма, разбиение на train/validation/test, подбор гиперпараметров, кросс-валидация. Важно не «подглядывать» в тест до финальной оценки.
- Оценка качества — метрики на отложенной тестовой выборке, анализ ошибок, сравнение с бейзлайном. Решение о внедрении или доработке.
- Внедрение (Deployment) — упаковка модели в сервис (API, батч-инференс), версионирование данных и кода, мониторинг качества и дрейфа данных. MLOps — дисциплина, которая как раз про стабильное внедрение и поддержку моделей.
Кратко по цепочке
Данные → чистка → признаки → обучение → оценка → внедрение → мониторинг. Итерации возможны на любом этапе: например, после оценки может оказаться, что нужно вернуться к признакам или к сбору данных.