← Назад к вопросам

В чём разница между обучением с учителем и без учителя?

2.0 Middle🔥 171 комментариев
#Машинное обучение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI2 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

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

Обучение с учителем (Supervised Learning) и обучение без учителя (Unsupervised Learning) - два фундаментальных подхода в машинном обучении, различающихся наличием размеченных данных.

Обучение с учителем (Supervised Learning)

Модель обучается на размеченных данных - парах (вход, правильный ответ). Цель - научиться предсказывать правильный ответ для новых данных.

Задачи:

  • Классификация - предсказание категории (спам/не спам, диагноз заболевания)
  • Регрессия - предсказание числового значения (цена квартиры, температура)
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)  # обучение на размеченных данных
predictions = model.predict(X_test)

Алгоритмы: линейная регрессия, логистическая регрессия, SVM, деревья решений, Random Forest, XGBoost, нейронные сети.

Метрики: accuracy, precision, recall, F1-score, AUC-ROC (классификация); MSE, RMSE, MAE, R-squared (регрессия).

Обучение без учителя (Unsupervised Learning)

Модель работает с неразмеченными данными - только входные данные без правильных ответов. Цель - найти скрытые закономерности и структуру в данных.

Задачи:

  • Кластеризация - группировка похожих объектов (сегментация клиентов)
  • Снижение размерности - сжатие данных с сохранением информации (PCA, t-SNE)
  • Обнаружение аномалий - поиск выбросов (fraud detection)
  • Ассоциативные правила - поиск закономерностей (анализ корзины покупок)
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA

# Кластеризация
kmeans = KMeans(n_clusters=5, random_state=42)
clusters = kmeans.fit_predict(X)  # нет y - только X

# Снижение размерности
pca = PCA(n_components=2)
X_reduced = pca.fit_transform(X)
print(f"Объясненная дисперсия: {pca.explained_variance_ratio_.sum():.2%}")

Алгоритмы: K-Means, DBSCAN, иерархическая кластеризация, PCA, t-SNE, UMAP, Isolation Forest, autoencoders.

Ключевые различия

АспектС учителемБез учителя
ДанныеРазмеченные (X, y)Неразмеченные (только X)
ЦельПредсказаниеПоиск структуры
ОценкаТочные метрики (accuracy)Косвенные метрики (silhouette)
Стоимость данныхВысокая (разметка дорогая)Низкая
ПримерыКлассификация, регрессияКластеризация, PCA

Semi-Supervised Learning

Промежуточный подход: небольшая часть данных размечена, основная масса - нет. Модель использует размеченные данные для начального обучения, затем распространяет знания на неразмеченные.

from sklearn.semi_supervised import LabelSpreading

# -1 означает неразмеченные данные
labels = [0, 1, -1, -1, -1, 0, -1, 1, -1, -1]
model = LabelSpreading()
model.fit(X, labels)

Self-Supervised Learning

Модель генерирует псевдо-метки из самих данных (BERT маскирует слова, SimCLR создает аугментации). Это позволяет обучаться на огромных неразмеченных датасетах.

Когда что использовать

  • С учителем - когда есть размеченные данные и конкретная задача предсказания
  • Без учителя - когда нужно исследовать данные, найти паттерны, нет разметки
  • Semi-supervised - когда разметка дорогая, но есть немного размеченных примеров