Обучение с учителем и без
| Обучение с учителем | классификация, регрессия, ранжирование |
|---|---|
| Обучение без учителя | кластеризация, понижение размерности, поиск аномалий |
| Промежуточные виды | частичное (semi-supervised), самообучение (self-supervised) |
| Отдельная парадигма | обучение с подкреплением |
| Типичные библиотеки | scikit-learn, PyTorch, XGBoost |
Обучение с учителем (англ. supervised learning) и обучение без учителя (unsupervised learning) — две основные постановки задач машинного обучения, различающиеся наличием «правильных ответов» в данных. В первом случае у каждого примера есть метка (цена квартиры, «спам / не спам»), и модель учится предсказывать её по признакам. Во втором меток нет, и модель ищет структуру в самих данных: группы похожих объектов, скрытые факторы, выбросы.[3]
Обучение с учителем
Данные — пары «признаки → ответ» $(x_i, y_i)$. Модель подбирает функцию $f(x) \approx y$, минимизируя ошибку на обучающей выборке, а качество проверяется на отложенных примерах, которых модель не видела.[1]
| Задача | Ответ | Примеры | Типичные модели |
|---|---|---|---|
| Классификация | класс | спам-фильтр, диагноз, тональность отзыва | логистическая регрессия, бустинг, нейросети |
| Регрессия | число | цена, спрос, время доставки | линейная регрессия, бустинг |
| Ранжирование | порядок | поисковая выдача, рекомендации | LambdaMART, двухбашенные сети |
Главная трудность — разметка: её нужно собрать (логи, ручная разметка, краудсорсинг), и она бывает дорогой, шумной и смещённой. Вторая — обобщение: модель должна работать на новых данных, а не запоминать обучающие; см. Переобучение и регуляризация. Качество классификаторов измеряют специальными метриками — см. Метрики качества классификации.
Обучение без учителя
Данные — только признаки $x_i$. Основные задачи:[2]
- Кластеризация — разбить объекты на группы похожих: сегменты клиентов, темы документов. Алгоритмы: k-means, DBSCAN, иерархическая кластеризация.
- Понижение размерности — сжать сотни признаков до нескольких, сохранив структуру: PCA для предобработки, t-SNE и UMAP для визуализации.
- Поиск аномалий — найти нетипичные объекты: мошеннические транзакции, сбои оборудования (Isolation Forest, One-Class SVM).
- Оценка плотности и порождающие модели — описать распределение данных, чтобы генерировать новые примеры.
Оценивать такие модели сложнее: «правильного» разбиения на кластеры нет, и качество часто проверяют косвенно — по пользе для последующей задачи или экспертной оценкой.
from sklearn.cluster import KMeans
from sklearn.linear_model import LogisticRegression
# без учителя: группы клиентов по поведению
segments = KMeans(n_clusters=5, n_init="auto").fit_predict(X)
# с учителем: предсказать отток по размеченной истории
clf = LogisticRegression(max_iter=1000).fit(X_train, y_train)
print(clf.score(X_test, y_test))
Промежуточные виды
- Частичное обучение (semi-supervised) — мало размеченных примеров и много неразмеченных; неразмеченные помогают уточнить границы классов (псевдоразметка, распространение меток).
- Самообучение (self-supervised) — метки извлекаются из самих данных: предсказать пропущенное слово, следующий токен, закрытый фрагмент картинки. Формально это обучение с учителем, но без ручной разметки. Именно так предобучаются трансформеры — BERT учился восстанавливать замаскированные слова[5], а большие языковые модели — предсказывать следующий токен на триллионах слов. Побочный продукт такого обучения — эмбеддинги, полезные для других задач.
- Слабая разметка (weak supervision) — метки из эвристик и правил, заведомо неточные, но дешёвые.
Обучение с подкреплением
Отдельная парадигма: агент действует в среде и получает награду, а не правильный ответ на каждый шаг. Применяется в играх, робототехнике и для дообучения языковых моделей по человеческим предпочтениям (RLHF).[6] Современный путь LLM сочетает все виды: самообучение на текстах, обучение с учителем на примерах диалогов и подкрепление по оценкам.
Как выбрать постановку
Если есть ответ, который нужно предсказывать, и его можно получить для достаточного числа примеров, — это задача с учителем, и она почти всегда решается точнее. Обучение без учителя применяют для разведочного анализа, когда метки недоступны, или как этап подготовки признаков.[4]
См. также
- Машинное обучение
- Переобучение и регуляризация
- scikit-learn
- Метрики качества классификации
- Эмбеддинг
Источники
- scikit-learn — Supervised learning
- scikit-learn — Unsupervised learning
- Hastie, Tibshirani, Friedman — The Elements of Statistical Learning
- Google — Machine Learning Crash Course
- Devlin et al. — BERT: Pre-training of Deep Bidirectional Transformers (2018)
- Ouyang et al. — Training language models to follow instructions with human feedback (2022)