Категории обучения и стек инструментов
Перед выбором конкретного алгоритма важно понять категорию задачи: есть ли у данных метки, нужен ли агент с наградами, можно ли смешать размеченное и неразмеченное. Параллельно полезно представить инструментарий — из чего состоит рабочий стол 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 только те неразмеченные объекты, где модель превышает порог уверенности.
Гарантии «лучше, чем только на малой разметке» нет — нужна валидация. В 1.md эта категория раньше почти не выделялась; для 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 (обзор в 1.md).
Отделение 3 — алгоритмы
Неглубокое (shallow) ML — scikit-learn: регрессия, деревья, SVM, k-means. Признаки подаются в модель напрямую (после кодирования).
Глубокое обучение — нейросети с несколькими слоями; признаки извлекаются автоматически. TensorFlow / PyTorch / Keras — отдельный слой библиотек поверх инфраструктуры с GPU.
Маршрут после этой статьи
- Как начать с ML на Python — синтаксис и Kaggle Learn.
- Кодирование категориальных признаков — перед табличным проектом.
- Сквозной проект — Мельбурн — полный pipeline на pandas + sklearn.
- Машинное обучение — расширенный обзор метрик и DL.
Связанные материалы
- Введение в ИИ — место ML в ландшафте ИИ
- Data Science — типы данных
- Обучение на базе готовой модели — transfer learning после базового ML
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Машинное обучение - идея обучения моделей на данных вместо полного ручного задания правил поведения системы. > Справочник по алгоритмам (~40 разделов). Базовые понятия ML, метрики и практика — в статье Машинное обучение. Старт ML на Python — Kaggle Learn, маршрут по разделу, Titanic и Melbourne Housing без тяжёлой математики. Transfer learning, fine-tuning, multitask и federated learning — чем отличаются подходы, куда идут градиенты и когда что выбирать. Семь базовых техник преобразования категорий (цвет, размер, тип) в числа для моделей ML — one-hot, dummy, effect, label, ordinal, count и binary encoding. Train, validation и test — пропорции 70/30, shuffle, stratify, k-fold, утечка данных и когда нужна validation-выборка. End-to-end pipeline — Melbourne Housing, очистка в pandas, GradientBoostingRegressor, MAE и GridSearchCV. Bias–variance tradeoff, недо- и переобучение, гиперпараметры как «ручки» модели и связь с MAE на train/test. Как строится дерево — энтропия, information gain, переобучение, бэггинг, random forest и градиентный бустинг для новичков. Итоги раздела Машинное обучение — вопросы для самопроверки в энциклопедии Вселенная IT.Машинное обучение
Алгоритмы ИИ
Как начать с машинного обучения на Python без глубоких знаний математики
Обучение на базе готовой модели
Кодирование категориальных признаков
Разбиение данных и кросс-валидация
Сквозной проект — цены на жильё в Мельбурне
Смещение, дисперсия и переобучение
Деревья решений с нуля
Чек-лист самопроверки