Среднеквадратичная ошибка (MSE) С

Метрика оценки качества регрессионных моделей, вычисляемая как среднее квадратов разностей между предсказанными и фактическими значениями.

English Mean Squared Error, MSE
Синонимы MSE, средний квадрат ошибки, квадратичная потеря, L2 loss

Среднеквадратичная ошибка (MSE, Mean Squared Error) — это метрика, которая показывает, насколько в среднем предсказания модели отклоняются от реальных значений. Она вычисляется путём возведения в квадрат разницы между каждым предсказанием и фактическим значением, суммирования этих квадратов и деления на количество наблюдений. Чем меньше значение MSE, тем точнее модель.

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

Метрика основана на квадратичной функции потерь (L2 loss). Для каждого примера в выборке берётся разница между истинным значением и прогнозом модели, затем эта разница возводится в квадрат. Квадрат используется по двум причинам: он убирает знак (отрицательные и положительные отклонения не компенсируют друг друга) и усиливает влияние больших ошибок. После этого все квадраты суммируются и делятся на число примеров.

Формально MSE рассчитывается по формуле:

MSE = (1/n) × Σ(yᵢ — ŷᵢ)²

где n — количество наблюдений, yᵢ — фактическое значение, ŷᵢ — предсказание модели.

Квадратичный штраф означает, что ошибка в 10 единиц даёт вклад в 100 раз больший, чем ошибка в 1 единицу. Это делает MSE особенно чувствительной к выбросам.

Зачем это нужно

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

MSE удобна тем, что дифференцируема, а значит, подходит для градиентных методов оптимизации. Однако её значение зависит от масштаба данных: MSE для предсказания температуры в градусах Цельсия и в Кельвинах будет разным. Интерпретировать абсолютную величину MSE без контекста сложно.

Примеры

  • Прогноз цен на квартиры. Модель предсказывает стоимость в тысячах рублей. Для трёх объектов фактические цены: 5000, 7000, 6000. Прогнозы: 5200, 6800, 6300. Разницы: 200, -200, 300. Квадраты: 40000, 40000, 90000. Сумма: 170000. MSE = 170000 / 3 ≈ 56667.
  • Прогноз температуры. Фактические значения: 20°, 22°, 19°. Прогнозы: 21°, 21°, 20°. Разницы: 1, -1, 1. Квадраты: 1, 1, 1. MSE = 1. Это означает, что в среднем модель ошибается на 1 градус в квадрате.
  • Прогноз продаж. Если в данных есть выброс — один день с аномально высокими продажами из-за распродажи, — MSE сильно вырастет, даже если на остальных днях модель точна. Это сигнал проверить данные.

Формула или метрика

MSE = (1/n) × Σ(yᵢ — ŷᵢ)²

Диапазон значений: от 0 до +∞. Идеальное значение — 0 (предсказания полностью совпадают с фактами).

Типичные ошибки

  • Использование MSE при наличии выбросов. Из-за квадратичного штрафа одна аномальная точка может полностью определить значение метрики. Если в данных есть выбросы, лучше выбрать MAE или предварительно очистить выборку.
  • Сравнение MSE между разными наборами данных. Значение MSE зависит от масштаба целевой переменной. Сравнивать модели на разных датасетах по абсолютной величине MSE некорректно.
  • Игнорирование размерности. MSE измеряется в квадрате единиц целевой переменной. Если целевая переменная — рубли, MSE — в рублях в квадрате. Это затрудняет интерпретацию.

Как улучшить

  • Используйте RMSE (корень из MSE), чтобы вернуться к исходной размерности и упростить интерпретацию.
  • Сравнивайте MSE с MAE: если MSE значительно выше MAE, в данных есть выбросы или модель плохо справляется с большими отклонениями.
  • Нормируйте целевую переменную перед обучением, если признаки имеют разный масштаб.
  • При наличии выбросов рассмотрите робастные функции потерь (Huber loss, quantile loss) вместо MSE.
  • Дополняйте MSE коэффициентом детерминации R², чтобы понять, какую долю дисперсии объясняет модель.

Источники

Google for Developers — Machine Learning Glossary: Mean Squared Error (https://developers.google.com/machine-learning/glossary#mean-squared-error)

scikit-learn — mean_squared_error (https://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html)

Яндекс Образование — Метрики классификации и регрессии (https://education.yandex.ru/handbook/ml/article/metriki-klassifikacii-i-regressii)

Microsoft Learn — Оценка модели машинного обучения (https://learn.microsoft.com/ru-ru/training/modules/test-machine-learning-models/)