Результаты обучения
После изучения урока вы сможете:
- объяснить, что в машинном обучении называют данными, наблюдением, признаком и целевой переменной;
- различать обучающую выборку, алгоритм обучения, модель и прогноз;
- описать общий цикл обучения и объяснить роль функции потерь и настройки параметров;
- различать обучение с учителем и без учителя на простых примерах;
- объяснить разницу между запоминанием обучающих примеров и обобщением на новые данные;
- назвать типичные причины ошибочного обучения: нерепрезентативные данные, утечка целевой информации и переобучение.
Представим систему, которая по данным о зданиях должна прогнозировать энергопотребление. Мы показываем ей исторические примеры. Что именно компьютер должен извлечь из этих примеров? Почему нельзя просто «загрузить таблицу» и ожидать, что правильные закономерности появятся сами собой? И как понять, что система научилась, а не просто запомнила ответы?
1. Из чего состоят данные для машинного обучения
Dataset (набор данных) — организованная совокупность примеров, используемых для анализа или обучения модели. В табличной задаче набор данных часто выглядит как таблица: строка описывает один объект или событие, столбцы содержат его характеристики.
Например, мы хотим прогнозировать суточное энергопотребление здания. Для каждого дня можно записать наружную температуру, площадь здания, число находившихся внутри людей и фактическое потребление энергии. Последнее будет ответом, который мы хотим научиться прогнозировать.
У такой таблицы есть несколько важных элементов:
- Observation / sample (наблюдение, пример) — одна строка, описывающая конкретный объект, случай или момент времени.
- Feature (признак) — измеряемая характеристика объекта, которую модель использует как вход. В примере это температура, площадь и число людей.
- Target / target variable (целевая переменная) — величина, которую требуется предсказать. Здесь это энергопотребление.
- Label (метка) — правильный ответ для примера в задачах обучения с учителем. Для числовой цели часто говорят target, для класса — label.
- Feature vector (вектор признаков) — набор значений признаков одного наблюдения, представленный в виде упорядоченного набора чисел или категорий.
Важно: столбец не становится полезным признаком только потому, что он есть в таблице. Признак должен быть доступен в момент реального прогноза и не должен раскрывать ответ напрямую или косвенно.
2. Что именно делает алгоритм обучения
Пусть у нас есть множество примеров. Мы выбираем семейство моделей — например, линейную зависимость, дерево решений или нейронную сеть. Внутри выбранного семейства есть параметры, значения которых ещё предстоит определить.
Learning algorithm (алгоритм обучения) — процедура, которая по обучающим данным настраивает модель согласно заданному критерию. Model (модель) — получившаяся после настройки математическая или вычислительная зависимость, которая преобразует входные признаки в прогноз.
Разделим четыре понятия, которые часто смешивают:
- Данные — примеры, на которых мы учимся.
- Алгоритм обучения — способ подобрать параметры.
- Модель — зависимость с уже настроенными параметрами.
- Inference (вывод, применение модели) — получение прогноза для новых входных данных без повторного обучения.
3. Как модель получает параметры
Чтобы понять обучение, рассмотрим простейшую модель линейной регрессии. Она пытается описать связь между одним числовым признаком x и числовым ответом y прямой линией.
Здесь ŷ (читается «игрек с крышкой») — прогноз модели; x — входной признак; w — вес, определяющий наклон прямой; b — смещение, сдвигающее её вверх или вниз. Параметры w и b неизвестны заранее — именно их нужно подобрать по примерам.
Для каждого примера можно сравнить прогноз ŷ с известным правильным значением y. Разность между ними — ошибка прогноза. Чтобы оценить качество сразу на множестве примеров, используют Loss function (функцию потерь) — математическое выражение, которое превращает ошибки в числовую оценку.
Это средняя квадратичная ошибка (Mean Squared Error, MSE). n — количество примеров; ŷᵢ — прогноз для i-го примера; yᵢ — правильный ответ. Квадрат делает большие ошибки особенно заметными и не позволяет положительным и отрицательным отклонениям взаимно уничтожиться.
Optimization (оптимизация) — поиск значений параметров, при которых функция потерь становится меньше. Один из распространённых методов — Gradient Descent (градиентный спуск). Он использует градиент — направление наиболее быстрого роста функции — и двигает параметры в противоположную сторону.
Символ η (эта) — learning rate, скорость обучения: величина шага при обновлении параметров. Слишком большой шаг может перескочить минимум или вызвать нестабильность; слишком маленький — сделать обучение очень медленным. В сложных моделях вычисления выполняются для множества параметров, но общий принцип сохраняется.
4. Пример: прогноз энергопотребления
Вернёмся к таблице. Допустим, для первого учебного эксперимента мы временно используем только наружную температуру x и энергопотребление y. Выберем линейную модель ŷ = w·x + b. Алгоритм подбирает w и b так, чтобы прогнозы на исторических примерах были как можно ближе к известным значениям.
Если после обучения модель получила условные параметры w = −42 и b = 1 610, то при температуре +5 °C прогноз составит:
Это не означает, что температура — единственная причина потребления энергии. На реальный расход влияют режим эксплуатации, погода, площадь, оборудование, число людей, настройки автоматики и другие факторы. Наша однофакторная модель — учебное упрощение, а не инженерный расчёт для эксплуатации здания.
Здесь особенно важно различать prediction (прогноз) и explanation (объяснение причины). Модель может использовать устойчивую статистическую связь для прогноза, но сама по себе эта связь не доказывает причинное влияние признака. Причинные вопросы потребуют отдельного инструментария.
5. Разные задачи — разные способы обучения
5.1 Обучение с учителем (Supervised Learning)
Для каждого обучающего примера известен правильный ответ — метка или целевая переменная. Модель учится сопоставлять входные признаки с ответом. Если ответ числовой, задача часто называется Regression (регрессия). Если нужно выбрать категорию, это Classification (классификация).
- Регрессия: прогноз расхода энергии, цены или времени выполнения.
- Классификация: определить, относится ли событие к норме или аварии; распознать тип объекта.
5.2 Обучение без учителя (Unsupervised Learning)
В исходных данных нет заранее заданной целевой метки. Алгоритм ищет структуру сам: например, объединяет похожие объекты в группы (кластеризация) или сжимает данные, сохраняя существенные особенности (снижение размерности). Найденные группы не обязательно являются «истинными классами» — их смысл должен интерпретировать человек и проверять на предмет полезности.
5.3 Самообучение и обучение с самоконтролем
Self-supervised learning (обучение с самоконтролем) — подход, в котором обучающий сигнал формируется из самих данных по специально заданной задаче. Например, модель учится предсказывать скрытый фрагмент текста или восстановить часть изображения. Это один из важных способов предварительного обучения современных моделей, но не единственный режим их последующего применения.
6. Когда модель действительно научилась: обобщение
Главная цель обучения — не идеально воспроизвести ответы из обучающей таблицы, а научиться работать с новыми примерами из той же целевой области применения.
Generalization (обобщение) — способность модели сохранять приемлемое качество на новых данных, которые не использовались для подбора её параметров. Если модель хорошо отвечает только на уже показанные примеры, её практическая ценность ограничена.
Underfitting (недообучение) возникает, когда модель слишком проста или обучение недостаточно, чтобы уловить полезную структуру. Overfitting (переобучение) — ситуация, когда модель слишком сильно подстраивается под обучающие примеры, включая шум и случайные особенности. На новых данных её качество ухудшается.
Для проверки обобщения данные обычно разделяют на части. Обучающая выборка используется для настройки параметров; валидационная — для выбора конфигурации и настройки гиперпараметров; тестовая — для итоговой независимой оценки выбранного решения. Подробно разбирать метрики, стратегии разделения и корректный тестовый протокол будем в 1.2.4 · 1.2.6 · 1.4.3 · 1.5.1–1.5.7.
7. Что влияет на результат обучения
- Качество данных. Ошибки измерения, пропуски, неверные единицы, дубликаты и несогласованные определения искажают закономерности.
- Репрезентативность. Обучающие примеры должны отражать условия, в которых модель будет использоваться. Если модель обучена только на зимних данных, летний режим может оказаться для неё новым.
- Выбор признаков. Признаки должны быть осмысленными, корректно измеренными и доступными на момент прогноза.
- Выбор модели. Слишком простая модель не уловит сложную зависимость; чрезмерно гибкая может запомнить шум.
- Настройки обучения. Скорость обучения, регуляризация, число итераций и другие гиперпараметры влияют на результат.
- Корректная проверка. Случайное перемешивание подходит не для каждой задачи. Для временных рядов важно сохранять временной порядок, иначе в обучении может оказаться информация из будущего.
8. Практический эксперимент без программирования
Эксперимент: сможет ли простое правило прогнозировать расход?
Исследовательский вопрос: как изменится прогноз энергопотребления, если учитывать только температуру, а затем добавить число людей?
- Возьмите четыре строки из таблицы на рисунке 1.
- Предположите, что модель использует только наружную температуру. Опишите, какую информацию она игнорирует.
- Сравните два дня с одинаковой площадью и близкой температурой, но разным числом людей (для самостоятельной практики добавьте пятый пример).
- Сформулируйте гипотезу: улучшится ли прогноз, если добавить число людей как второй признак?
- Назовите хотя бы один фактор, который всё равно останется неучтённым.
Что должно получиться: вы увидите, что модель зависит не только от алгоритма, но и от того, какие сведения представлены в данных. Добавление признака может помочь, если он несёт полезную информацию, но само по себе увеличение числа столбцов не гарантирует улучшения.
9. Практический эксперимент с Python
Ниже — небольшой воспроизводимый пример линейной регрессии на искусственных данных. Он показывает принцип настройки параметров градиентным спуском. Это учебная демонстрация, а не готовая модель для инженерных прогнозов.
Требуется Python 3.10+ и библиотека NumPy. Установка: python -m pip install numpy.
import numpy as np
# Температура и условное энергопотребление
X = np.array([-5, 2, 8, 14], dtype=float)
y = np.array([1820, 1540, 1310, 1090], dtype=float)
# Начальные параметры модели
w = 0.0
b = float(y.mean()) # стартуем с среднего целевого значения
learning_rate = 0.001
n = len(X)
for step in range(5000):
predictions = w * X + b
errors = predictions - y
# Градиенты средней квадратичной ошибки
dw = (2 / n) * np.sum(errors * X)
db = (2 / n) * np.sum(errors)
# Обновление параметров
w = w - learning_rate * dw
b = b - learning_rate * db
print("w =", round(w, 2))
print("b =", round(b, 2))
print("Прогноз при +5 °C =", round(w * 5 + b, 1))
Разбор кода
import numpy as npподключает NumPy — библиотеку для работы с числовыми массивами. Короткое имяnpиспользуется далее вместо полного названия.np.array(..., dtype=float)создаёт массив чисел с плавающей точкой. Это позволяет выполнять арифметику над всеми значениями одновременно.len(X)возвращает количество примеров. Переменнаяnнужна для усреднения ошибки.y.mean()вычисляет среднее целевое значение. Используем его как начальное смещениеb, чтобы стартовая прямая проходила через средний уровень ответов и градиентный спуск быстрее двигался к полезному наклону.for step in range(5000)повторяет шаг обучения 5000 раз.rangeсоздаёт последовательность целых чисел для цикла.predictions = w * X + bвычисляет прогноз для каждого значения температуры.errors = predictions - yполучает отклонения прогнозов от известных ответов.np.sum(...)суммирует элементы массива. Так вычисляются производные функции потерь по параметрам w и b.round(value, 2)округляет значение для удобного вывода. Округление не меняет параметры внутри обучения.
Обратите внимание: мы выбрали скорость обучения и число шагов вручную. В реальной работе эти настройки проверяют, масштабируют признаки, оценивают устойчивость результата и сравнивают модель с базовым прогнозом. 1.4.1 · 1.4.2 · 1.4.5 · 3.1.6 разберёт, что такое модель и её параметры подробнее; 1.2.4 · 1.2.6 · 1.4.3 · 1.5.1–1.5.7 — как оценить результат без самообмана.
10. Границы и частые заблуждения
- «Модель думает как человек». Обучение параметров не доказывает наличие человеческого мышления или понимания.
- «Чем больше данных, тем лучше». Большой объём плохих или нерелевантных данных не гарантирует качество.
- «Низкая ошибка на обучении означает успех». Она может быть следствием переобучения или утечки данных.
- «Алгоритм сам знает, что важно». Он оптимизирует заданный критерий и зависит от представления данных, выбранной цели и ограничений.
- «Прогноз объясняет причину». Статистическая зависимость не равна причинному эффекту.
11. Словарь терминов
- Dataset — набор данных
- Организованная совокупность примеров для анализа и обучения.
- Observation / Sample — наблюдение / пример
- Один объект или случай в наборе данных.
- Feature — признак
- Характеристика объекта, используемая как вход модели.
- Target — целевая переменная
- Значение, которое требуется прогнозировать.
- Label — метка
- Известный правильный ответ в задаче обучения с учителем.
- Learning algorithm — алгоритм обучения
- Процедура настройки параметров модели по данным.
- Model — модель
- Настроенная зависимость, преобразующая входы в прогноз.
- Loss function — функция потерь
- Числовая мера ошибки, которую алгоритм стремится уменьшить.
- Optimization — оптимизация
- Поиск параметров, улучшающих заданный критерий.
- Gradient descent — градиентный спуск
- Метод обновления параметров в направлении уменьшения функции потерь.
- Inference — вывод / применение модели
- Получение результата обученной моделью на новых входных данных.
- Generalization — обобщение
- Способность сохранять качество на новых данных.
- Overfitting — переобучение
- Чрезмерная подстройка под обучающие примеры и шум.
- Data leakage — утечка данных
- Попадание в обучение информации, недоступной или недопустимой в реальном прогнозе.
12. Проверка понимания
Вопрос 1
В таблице есть температура, площадь здания и энергопотребление. Что является целевой переменной, если мы хотим прогнозировать расход?
- Температура
- Площадь
- Энергопотребление
- Номер строки
Ответ: C. Цель — то значение, которое модель должна предсказать. Температура и площадь в этой постановке являются признаками.
Вопрос 2
Что делает алгоритм обучения?
- Всегда переписывает исходные данные
- Подбирает параметры модели по выбранному критерию
- Гарантирует отсутствие ошибок
- Удаляет необходимость проверки
Ответ: B. Алгоритм использует данные и критерий обучения для настройки модели.
Вопрос 3
Модель почти безошибочна на обучающих данных, но плохо работает на новых. Как называется типичная проблема?
- Переобучение
- Нормализация
- Кластеризация
- Инференс
Ответ: A. Модель могла запомнить особенности обучающих примеров, не научившись обобщать.
Вопрос 4
Почему нельзя использовать итоговое энергопотребление завтрашнего дня как признак для прогноза на завтра?
- Потому что это число
- Потому что это может быть утечкой целевой информации
- Потому что признаки должны быть только текстовыми
- Потому что модели не работают с датами
Ответ: B. В момент реального прогноза итоговое значение ещё неизвестно. Использование будущей информации делает оценку нечестной.
13. Итоги и следующий шаг
Машинное обучение начинается с постановки задачи и подготовки данных. Примеры описываются признаками, а в обучении с учителем дополнительно содержат известные ответы. Алгоритм настраивает параметры выбранной модели, уменьшая функцию потерь. Но цель — не запомнить обучающую таблицу, а обобщать закономерности на новые случаи. Поэтому качество данных, корректная постановка задачи и защита от утечек не менее важны, чем выбор алгоритма.
Главная мысль: модель учится не «понимать таблицу», а настраивать математическую зависимость по примерам и заданному критерию. Чему именно она научится, определяется данными, целью, архитектурой и процедурой проверки.
Следующая планета 1.4.1 · 1.4.2 · 1.4.5 · 3.1.6 — «Что такое модель машинного обучения». Мы подробнее разберём устройство модели, параметры и гиперпараметры, архитектуру, обучение и инференс, а также различие между моделью, алгоритмом и программной системой.
Источники для дальнейшего изучения
- Mitchell, T. M. Machine Learning. McGraw-Hill, 1997.
- Géron, A. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. 3rd ed., O’Reilly, 2022.
- Goodfellow, I., Bengio, Y., Courville, A. Deep Learning. MIT Press, 2016 — электронная версия.
- Scikit-learn User Guide — руководство по машинному обучению.