В каких случаях лучше использовать MSE (Mean Squared Error)?

«В каких случаях лучше использовать MSE (Mean Squared Error)?» — вопрос из категории Метрики и функции потерь, который задают на 26% собеседований Data Scientist / ML Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

MSE (Mean Squared Error) — это средняя квадратичная ошибка, которая вычисляется как среднее квадратов разностей между предсказанными и истинными значениями.

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

  1. Когда большие ошибки недопустимы и должны сильно штрафоваться. Квадратичный штраф делает MSE чувствительной к выбросам, что полезно в задачах, где крупные ошибки критичны (прогнозирование спроса, ценообразование).
  2. Когда предполагается, что ошибки распределены нормально (Гауссово распределение). В этом случае минимизация MSE эквивалентна максимизации правдоподобия данных.
  3. Для алгоритмов, использующих градиентный спок. Функция MSE является гладкой и дифференцируемой, что обеспечивает стабильное вычисление градиентов.

Пример расчёта:

from sklearn.metrics import mean_squared_error

y_true = [100, 200, 300, 400]
y_pred = [110, 190, 320, 390]

mse = mean_squared_error(y_true, y_pred)
print(f'MSE: {mse}')  # MSE: 225.0
# RMSE (корень из MSE) составит 15.0, что сопоставимо с MAE из предыдущего примера,
# но одно большое отклонение увеличит MSE значительно сильнее.

Когда НЕ использовать MSE: При работе с данными, содержащими много шума и выбросов, MSE может дать перекошенную оценку. В таких случаях предпочтительнее MAE или Huber Loss.