COMRAD404 / GLOSSARY

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

Supervised Learning

Обучение с учителем — это обучение модели на размеченных примерах: признаках X и правильных ответах y. Ниже — простое объяснение, схема fit/evaluate/predict, сравнение со смежными терминами и практические ограничения.

TL;DR

Подход машинного обучения, в котором модель обучают на размеченных примерах с признаками X и известными ответами y, а затем используют для предсказаний на новых данных.

Обучение с учителем (supervised learning) — это подход в машинном обучении (ML), где модель учится на размеченных примерах: у каждого входа есть признаки, а у выхода — известная метка ответа. После обучения модель применяют к новым примерам, для которых готовой метки обычно нет.

В официальных материалах Google это описано как изучение математической зависимости между features и labels; в документации TensorFlow и scikit-learn та же идея выражается через пары x/y и типичный цикл fit → evaluate → predict или fit(X, y) → predict(X). Если вам нужен короткий ответ на вопрос «что такое обучение с учителем», то суть такая: вы сначала показываете модели правильные ответы, а потом просите её предсказывать ответы для новых данных.

Английский термин: supervised learning. В документации также встречаются формулировки: обучение на labeled examples, обучение на парах x/y, обучение по features и labels. По-русски обычно говорят: обучение по размеченным данным, обучение на размеченных примерах.

Простыми словами

Грубо говоря, это похоже на обучение по карточкам с ответами. Вы показываете системе много примеров вида «вход → правильный результат», и она постепенно улавливает правило, по которому вход связан с ответом.

Важно не переусердствовать с аналогией: у модели нет «понимания» в бытовом смысле. Официальные источники описывают процесс строже: есть признаки входа, есть метка выхода, и модель подбирает математическую зависимость между ними.

Как это работает

В glossary Google labeled example — это пара «features + label», а unlabeled example — пример без label. В supervised learning модель обучают именно на labeled examples, а затем используют для предсказаний на новых данных. В TensorFlow типичный цикл дополнительно включает вычисление loss, градиентов и оценку качества на данных проверки.

Размеченные данные
[X1, y1], [X2, y2], [X3, y3] ...
          │
          ▼
      fit / training
          │
          ├─ вычисление loss
          ├─ вычисление градиентов
          └─ обновление параметров модели
          │
          ▼
   проверка на validation / evaluate
          │
          ▼
  predict(X_new) для новых примеров
          │
          ▼
        прогноз y_hat
  1. Подготовка данных. Вы собираете примеры, где у каждого входа уже известен правильный ответ y.
  2. Обучение. Модель получает пары x/y или X/y и подстраивает свои параметры.
  3. Проверка. Качество оценивают на отдельной проверочной, или отложенной, выборке.
  4. Применение. После этого модель делает предсказания для новых примеров без готовой метки.

Формулировки в источниках немного различаются: Google делает акцент на связи между features и labels, TensorFlow — на тренировочном цикле и API, scikit-learn — на интерфейсах fit(X, y) и predict(X). Но ядро одно и то же: обучение на размеченных данных.

Где применяется

  • Табличные данные с целевой переменной. В scikit-learn supervised learning описывается через данные X и целевую переменную y. Это базовый сценарий, когда у вас уже есть исторические строки данных и известный целевой столбец.
  • Classification-задачи. Документация scikit-learn прямо относит их к одной из двух основных групп supervised learning.
  • Regression-задачи. Это вторая основная группа supervised learning в документации scikit-learn.
  • Нейросетевые пайплайны в TensorFlow / tf.keras. Официальные руководства описывают обучение на x/y, затем оценку через evaluate и получение прогнозов через predict.

Практически это значит следующее: если у вас уже есть размеченная история наблюдений, supervised learning обычно становится первой постановкой, которую стоит проверить. Для быстрых baseline-моделей на табличных данных в source pack отдельно отмечен scikit-learn, а для нейросетевых и production-oriented пайплайнов — TensorFlow / tf.keras.

Практический пример

Ниже — схематичный Python-паттерн, который совпадает с тем, как официальные API описывают supervised workflow. Это не привязка к одной конкретной архитектуре, а минимальный каркас: обучить на размеченных данных, проверить на отдельной выборке, затем предсказать для новых примеров.

# X_train, y_train — размеченные примеры для обучения
model.fit(X_train, y_train)

# X_val, y_val — отдельная проверочная выборка
model.evaluate(X_val, y_val)

# X_new — новые примеры без готовых меток
y_pred = model.predict(X_new)

Что здесь важно:

  • в scikit-learn базовый контракт для supervised estimators описан как fit(X, y) и predict(X);
  • в tf.keras.Model документированы fit, evaluate и predict;
  • в API Keras у fit также могут передаваться sample weights, если ваш сценарий этого требует.

Практический вердикт: если у вас есть исторические примеры с надёжным y, начинайте с supervised learning и простого baseline. Если меток нет, сам по себе workflow fit(X, y) здесь неприменим без дополнительной подготовки данных или другой постановки задачи.

Чем отличается от связанных терминов

Термин Что это Чем отличается
Обучение без учителя Смежная постановка, где в определении supervised отсутствует ключевой элемент — label y. В официальных определениях supervised обучение строится именно на labeled examples. Если меток нет, это уже не тот сценарий, который описан здесь.
Labeled example Один пример вида «features + label» по glossary Google. Это единица данных для обучения, а не сам метод обучения.
Classification Одна из двух основных групп supervised-задач в документации scikit-learn. Это частный случай внутри supervised learning, а не его синоним.
Regression Вторая основная группа supervised-задач в документации scikit-learn. Тоже частный случай внутри supervised learning, а не отдельная альтернатива ему.

Ограничения и заблуждения

  • Заблуждение: «учитель» — это человек, который управляет моделью в момент предсказания. В проверенных источниках смысл другой: «учитель» фактически представлен метками y в обучающем наборе.
  • Заблуждение: достаточно любой функции predict, и это уже supervised learning. Для supervised-постановки в источниках принципиально важно обучение на размеченных примерах: features + label или X/y.
  • Ограничение: версия документации и установленная библиотека могут не совпадать. В source pack отдельно отмечено, что страницы TensorFlow, tf.keras API и release branches обновляются независимо; аналогично у scikit-learn есть отдельная release history. Для внедрения сверяйте именно вашу установленную версию с релиз-ноутами.
  • Ограничение: это семейство подходов, а не один универсальный алгоритм. Официальные документы описывают общий паттерн обучения и предсказания, но не сводят supervised learning к одной модели.
  • Редакционное ограничение этой статьи: здесь разобрана базовая постановка термина. Выбор конкретной модели, функции потерь, метрики и схемы валидации зависит от вашей задачи и в source pack подробно не раскрыт.

Связанные термины

Чтобы не путать постановки, полезно рядом прочитать про обучение без учителя. Для общего контекста начните с термина машинное обучение (ML). Если вы работаете с нейросетями, следующий логичный шаг — глубокое обучение (Deep Learning). А для другой логики обучения, где ключевым сигналом выступает не метка, а вознаграждение, посмотрите обучение с подкреплением (RL).

Источники

Материал сверен по состоянию на 2026-08-16. Для практической совместимости библиотек дополнительно проверяйте релиз-ветку и установленную у вас версию.

Вопросы и ответы

Обучение с учителем и classification — это одно и то же?

Нет. По документации scikit-learn, classification — это одна из основных групп задач внутри supervised learning. Сам термин supervised learning шире.

Нужны ли метки для каждого примера?

Для базовой supervised-постановки обучение строится на labeled examples. При этом после обучения модель как раз и применяют к новым примерам, где готовой метки нет.

Что означают X и y в документации?

Это стандартная запись для входных данных и целевой переменной. В Google-терминах та же идея описывается как features и label.

Можно ли делать supervised learning и в scikit-learn, и в TensorFlow?

Да. Официальная документация scikit-learn описывает supervised estimators через fit(X, y) и predict(X), а TensorFlow / tf.keras — через обучение на x/y, оценку через evaluate и предсказание через predict. Но совместимость API нужно проверять по вашей версии.

Источники

SOURCES

Вопросы и ответы

FAQ
Обучение с учителем и classification — это одно и то же?

Нет. В документации scikit-learn classification описана как одна из основных групп задач внутри supervised learning. Сам термин supervised learning шире.

Нужны ли метки для каждого примера?

Для базовой supervised-постановки обучение строится на labeled examples. После обучения модель применяют к новым примерам, где готовой метки нет.

Что означают X и y в документации?

Это стандартная запись для входных данных и целевой переменной. В Google glossary та же идея описывается как features и label.

Можно ли делать supervised learning и в scikit-learn, и в TensorFlow?

Да. Scikit-learn описывает supervised estimators через fit(X, y) и predict(X), а TensorFlow / tf.keras — через обучение на x/y, evaluate и predict. Совместимость API нужно проверять по вашей версии.

Читайте также

LINKS