Обучение с учителем и без

Материал из llmdocs — справочник разработчика
Портал: ML и MLOps
Обучение с учителем и без
Обучение с учителемклассификация, регрессия, ранжирование
Обучение без учителякластеризация, понижение размерности, поиск аномалий
Промежуточные видычастичное (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]

См. также

Источники

  1. scikit-learn — Supervised learning
  2. scikit-learn — Unsupervised learning
  3. Hastie, Tibshirani, Friedman — The Elements of Statistical Learning
  4. Google — Machine Learning Crash Course
  5. Devlin et al. — BERT: Pre-training of Deep Bidirectional Transformers (2018)
  6. Ouyang et al. — Training language models to follow instructions with human feedback (2022)