Результаты обучения

После изучения урока вы сможете:

Главная идея. При обучении с учителем модель видит не только входные данные, но и известный для каждого примера ответ. Задача обучения — подобрать модель, которая будет хорошо предсказывать ответы для новых объектов, а не просто воспроизводить обучающую таблицу.

1. Что означает «обучение с учителем»

Обучение с учителем (Supervised Learning) — режим машинного обучения, в котором каждый обучающий пример содержит входные признаки и известный целевой ответ. В англоязычной литературе такие примеры называют labeled examples, а целевые ответы — labels или targets.

Представьте журнал эксплуатации здания. Для каждого дня известны температура наружного воздуха, площадь, режим работы и число людей, а также фактическое энергопотребление. Модель получает признаки и учится прогнозировать значение потребления. Исторические значения нужны не как подсказка для каждого будущего дня, а как примеры закономерностей.

Обучение с учителем: от размеченных примеров к прогнозуВходные признаки и известные ответы поступают в алгоритм обучения. Он настраивает модель, которая получает новые признаки и выдаёт прогноз.Размеченные примерыX: признакиy: правильные ответыпары (X, y)Алгоритм обучениясравнивает прогнозс известным ответомОбученная модельновые признаки X*прогноз ŷСхема упрощена: оценка качества и настройка модели выполняются на отдельных выборках.
Общий принцип supervised learning: известные ответы помогают оценивать ошибку на обучающих примерах; после обучения модель получает только признаки нового объекта.

«Учитель» здесь не обязательно человек, который вручную объясняет каждый шаг. Это метафора доступного правильного ответа, с которым можно сравнить прогноз. Ответы могут поступать из измерений, экспертной разметки, документов или истории событий.

2. Признаки, целевая переменная и разметка

Для одного примера обозначим вектор входных признаков через X, а известный ответ — через y. Обучающий набор состоит из множества пар (X, y). Признаки должны быть доступны в момент, когда модель будет использоваться. Целевая переменная описывает то, что мы хотим предсказать.

ЗадачаПризнаки XЦель yТип ответа
Прогноз энергопотребленияТемпература, площадь, режим, загрузкаПотребление за суткиЧисло
Обнаружение аварийного режимаВибрация, температура узла, давлениеАвария / нормаКласс
Классификация обращенияТекст заявки, категория оборудованияТип обращенияКатегория

Разметка — это не формальность. Если ответы ошибочны, непоследовательны или отражают субъективные решения разметчиков, модель будет учиться воспроизводить эти ошибки. Для редких событий особенно важно проверять, как были получены метки и насколько полно они представлены.

3. Два основных типа задач: регрессия и классификация

Регрессия (Regression)

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

Классификация (Classification)

Классификация применяется, когда требуется выбрать класс: «норма» или «авария», «тип A» или «тип B», «спам» или «не спам». Модель часто оценивает вероятности классов, а затем правило принятия решения превращает их в итоговую метку.

Не путайте. Регрессия и классификация — типы задач, а не названия конкретных алгоритмов. Например, дерево решений может использоваться и для регрессии, и для классификации — в зависимости от того, какой ответ требуется получить.

4. Как проходит обучение модели

  1. Формулируем задачу. Определяем объект прогноза, момент принятия решения и целевую переменную.
  2. Готовим данные. Проверяем признаки, разметку, пропуски, единицы измерения и доступность полей.
  3. Выбираем семейство модели. Это может быть линейная модель, дерево решений, ансамбль или нейронная сеть.
  4. Обучаем. Алгоритм подбирает параметры, уменьшая ошибку на обучающих примерах.
  5. Проверяем. Сравниваем результаты на данных, не использованных для подгонки параметров.
  6. Применяем. Для нового объекта передаём признаки и получаем прогноз.

Во время обучения модель выдаёт прогноз ŷ. Функция потерь (loss function) измеряет, насколько этот прогноз отличается от известного ответа y. Алгоритм оптимизации использует значение потерь, чтобы обновлять параметры. Конкретный способ обновления зависит от выбранного семейства модели и метода обучения.

X → модель f(X; θ) → прогноз ŷ → сравнение с y → обновление θ

Здесь θ обозначает параметры модели. Важно различать параметры, которые алгоритм подбирает в процессе обучения, и гиперпараметры, которые задаются до или вокруг обучения. Их подробное изучение будет в следующих уроках.

5. Зачем разделять данные

Если оценивать модель на тех же примерах, на которых она подбирала параметры, результат может оказаться чрезмерно оптимистичным. Поэтому данные обычно разделяют на три части:

Способ разделения зависит от задачи. Для независимых однотипных наблюдений может подойти случайное разделение. Для временного прогноза нельзя обучаться на будущем и проверяться на прошлом. Если записи одного объекта повторяются, нужно учитывать группы, чтобы близкие наблюдения не попали одновременно в train и test.

6. Пример: прогноз энергопотребления здания

Допустим, задача — спрогнозировать потребление энергии на следующий день. В качестве признаков можно использовать прогноз наружной температуры, календарный день, плановый режим работы и сведения о загрузке, известные до начала прогнозируемого периода. Целевой ответ — фактическое потребление за следующий день.

Сначала строим простой baseline — например, прогнозируем значение предыдущего сопоставимого дня или среднее по обучающей выборке. Затем обучаем модель и сравниваем её с baseline на одинаковом тестовом периоде. Если сложная модель не улучшает результат, её сложность пока не оправдана.

Практикум без кода

Выберите задачу: прогноз суточного энергопотребления или классификация аварийных событий. Запишите объект наблюдения, три признака, целевую переменную и момент, когда прогноз должен быть сделан. Для каждого признака ответьте: будет ли он доступен в этот момент?

7. Ограничения и типичные ошибки

Supervised learning хорошо подходит, когда есть достаточно качественных размеченных примеров и понятен целевой ответ. Но наличие большого объёма данных не гарантирует качество: важны происхождение, репрезентативность, независимая проверка и корректный сценарий применения.