Категории обучения и стек инструментов
Перед выбором конкретного алгоритма важно понять категорию задачи — есть ли у данных метки, нужен ли агент с наградами, можно ли смешать размеченное и неразмеченное. Параллельно полезно представить инструментарий — из чего состоит рабочий стол ML-инженера на старте и что добавляется на продвинутом уровне. Статья дополняет обзор Машинное обучение.
Откуда взялось "машинное обучение"
В 1959 году Артур Самуэль (IBM) описал программу для шашек, которая улучшала игру по мере накопления партий — без переписывания правил вручную после каждой ошибки. Его формулировка — область, где компьютер учится, а не получает готовый ответ на каждый случай.
Ключевая идея — самообучение: модель находит закономерности в данных и уточняет прогнозы по мере контакта с новыми примерами. Программист задаёт алгоритм, данные и гиперпараметры; содержание решения определяют данные, а не жёстко прописанные if.
Анатомия цикла ML
Типичный путь от сырых данных до прогноза:
- Сбор данных — таблица, текст, изображения, логи.
- Очистка и признаки — пропуски, кодирование категорий, отбор столбцов (Кодирование категориальных признаков).
- Разбиение — train / validation / test (сквозной проект).
- Выбор алгоритма и настройка гиперпараметров.
- Оценка на данных, которых модель не видела при обучении.
- Деплой — API, batch-скoring, мониторинг дрейфа.
Добыча данных (data mining) часто ищет скрытые связи в больших массивах без заранее заданной цели. Машинное обучение чаще строит повторяемую модель — на train учится, на test проверяется, на новых входах выдаёт прогноз. Области пересекаются (деревья, кластеризация, PCA), но акцент разный.
Четыре категории обучения
| Категория | Метки (y) | Суть | Примеры алгоритмов |
|---|---|---|---|
| С учителем (supervised) | Есть | Учимся на парах X → y, прогнозируем y для новых X | Линейная и логистическая регрессия, k-NN, деревья, SVM, бустинг |
| Без учителя (unsupervised) | Нет | Ищем структуру во входах | k-means, PCA, DBSCAN |
| Полуконтролируемое (semi-supervised) | Частично | Размеченных мало, неразмеченных много | Псевдометки, self-training, graph-based методы |
| С подкреплением (RL) | Награда, не метка | Агент пробует действия в среде | Q-learning, policy gradient, PPO |
В русскоязычных учебниках встречаются синонимы контролируемое / неконтролируемое — это те же supervised и unsupervised.
Обучение с учителем
Модель видит независимые переменные X (признаки) и зависимую y (целевую). На train выявляет связь; на новых X предсказывает y.
Регрессия — y числовая (цена дома, спрос). Классификация — y категория (спам / не спам, вид ириса).
Классическая аналогия: инженеры Toyota разобрали готовый Chevrolet на детали (X), изучили собранный автомобиль (y) и восстановили принципы конструкции — так же модель "разбирает" размеченные примеры.
Без меток y обучить supervised-модель нельзя; можно только применить уже обученную.
Обучение без учителя
Меток нет — алгоритм группирует, сжимает или ищет аномалии. Пример: сегменты клиентов по поведению без заранее заданных ярлыков "малый / крупный бизнес".
Минус: нет эталонного y для простой проверки "угадали или нет" — качество оценивают метриками кластеризации (silhouette) или экспертным разбором групп.
Подробнее — в Машинное обучение и справочнике Алгоритмы ИИ.
Полуконтролируемое обучение
Гибрид: в выборке есть и размеченные, и неразмеченные строки. Мотивация — разметка дорогая (медицинские снимки, юридические тексты), а сырых данных много.
Типичные приёмы:
- обучить модель на размеченной части, псевдоразметить уверенные предсказания на неразмеченной и дообучить;
- итеративно добавлять в train только те неразмеченные объекты, где модель превышает порог уверенности.
Гарантии "лучше, чем только на малой разметке" нет — нужна валидация. В Машинное обучение эта категория раньше почти не выделялась; для production чаще смотрят на active learning и weak supervision.
Обучение с подкреплением и Q-обучение
Агент выбирает действия в среде и получает награды (или штрафы). Цель — максимизировать суммарную награду, а не минимизировать ошибку относительно готовых меток.
Q-обучение — базовый алгоритм для дискретных сред (игры, простые роботы):
- S (state) — состояние, например позиция в лабиринте Pac-Man;
- A (action) — допустимое действие (вверх, вниз, …);
- Q(s, a) — "ценность" пары состояние–действие; изначально часто нули;
- после каждого шага Q обновляется по награде: хорошие действия укрепляются, плохие ослабляются.
Полная реализация требует много симуляций и вычислений. Углублённо — в Алгоритмы ИИ — RL; для LLM-агентов — Типы интеллектуальных агентов.
Стек инструментов — три "отделения"
Удобно представить стек как ящик с тремя отделениями. Для новичка достаточно базового набора; продвинутый уровень расширяет каждое отделение.
Отделение 1 — данные
| Тип | Примеры | С чего начать |
|---|---|---|
| Структурированные | CSV, SQL-таблицы, Excel | Kaggle, Melbourne Housing |
| Неструктурированные | изображения, текст, аудио | После табличного ML — Нейросети |
Таблица: строки — наблюдения, столбцы — признаки (features). В supervised последний столбец часто — y. Несколько столбцов вместе образуют матрицу признаков X.
Отделение 2 — инфраструктура
| Компонент | Новичок | Продвинутый уровень |
|---|---|---|
| Среда | Jupyter Notebook, VS Code | CI для ML, MLflow, облако |
| Язык | Python (pandas, scikit-learn) | C++/CUDA, распределённый Spark |
| Железо | CPU, CSV на диске | GPU, TPU, потоковые пайплайны |
| Визуализация | Matplotlib, Seaborn | Tableau, интерактивные дашборды |
Python доминирует из‑за экосистемы; R и MATLAB встречаются в академических курсах. Для глубокого обучения на GPU — TensorFlow, PyTorch (обзор в Машинное обучение).
Отделение 3 — алгоритмы
Неглубокое (shallow) ML — scikit-learn — регрессия, деревья, SVM, k-means. Признаки подаются в модель напрямую (после кодирования).
Глубокое обучение — нейросети с несколькими слоями; признаки извлекаются автоматически. TensorFlow / PyTorch / Keras — отдельный слой библиотек поверх инфраструктуры с GPU.
Маршрут после этой статьи
- NumPy — массивы и матрицы — массивы,
mean, матрицы перед таблицами. - Как начать с ML на Python — синтаксис и Kaggle Learn.
- Pandas — типовые операции — CSV, groupby, очистка перед моделью.
- Кодирование категориальных признаков — перед табличным проектом.
- Сквозной проект — Мельбурн — полный pipeline на pandas + sklearn.
- Машинное обучение — расширенный обзор метрик и DL.
Связанные материалы
- Введение в ИИ — место ML в ландшафте ИИ
- Data Science — типы данных
- Обучение на базе готовой модели — transfer learning после базового ML