Зачем она нужна
Модель предсказывает цену квартиры, спрос на товар, температуру завтра. Как одним числом сказать, насколько она ошибается? Простое среднее ошибок не годится: промахи вверх и вниз гасят друг друга. MSE возводит ошибки в квадрат — но тогда ответ получается в «рублях в квадрате» или «градусах в квадрате», и фраза «MSE равна 1 417 000» заказчику ничего не скажет. RMSE извлекает корень и возвращает ошибку в единицы целевой переменной, сохраняя всё, за что любят MSE.
Где она встречается:
- оценка регрессионных моделей — одна из самых распространённых метрик в отчётах, статьях и соревнованиях Kaggle;
- прогнозирование временных рядов — погода, спрос, энергопотребление; рядом с ней обычно стоят MAE и MAPE;
- рекомендательные системы — знаменитый Netflix Prize (2006–2009) оценивал предсказания рейтингов именно по RMSE;
- физика и метрология — среднеквадратичная погрешность измерений, точность GPS, «RMS»-значение сигнала;
- обучение моделей — минимизация RMSE и MSE даёт одну и ту же модель, но градиенты у них разные (об этом — в разделе про производную).
RMSE — это MSE под корнем: ошибка в единицах $y$, которая, как и MSE, сильнее наказывает крупные промахи. Всегда $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$, а $\mathrm{RMSE}^2=\bar r^{\,2}+\sigma_r^2$ — квадрат смещения плюс дисперсия остатков. Минимум RMSE совпадает с минимумом MSE, а её градиент — это градиент MSE, делённый на $2\,\mathrm{RMSE}$.
Интуиция: сторона среднего квадрата
Нарисуем каждую ошибку $r_i=y_i-\hat y_i$ квадратом со стороной $|r_i|$. Его площадь $r_i^2$ — это вклад объекта в MSE. Сложим площади и разделим на $n$ — получится средняя площадь, то есть MSE. А RMSE — это сторона квадрата, площадь которого равна средней площади.
Потяните синие точки — прогнозы. Справа квадраты всех ошибок вложены в один угол: синий квадрат имеет сторону RMSE, бирюзовый пунктирный — сторону MAE.
Большой квадрат тянет среднюю площадь сильнее, чем длинная сторона тянет среднюю длину: на ошибку $-2$ приходится $80\%$ суммы модулей, но $94\%$ суммы квадратов. Поэтому RMSE больше MAE — и тем больше, чем неравномернее ошибки. Сделайте все три ошибки одинаковыми по модулю — и синий квадрат совпадёт с бирюзовым.
Формула по косточкам
Название, прочитанное справа налево, и есть рецепт: root (корень) из mean (среднего) от squared error (квадрата ошибки).
- $y_i$
- истинное значение $i$-го объекта (факт);
- $\hat y_i$
- прогноз модели для этого объекта;
- $r_i=y_i-\hat y_i$
- ошибка, или остаток (residual); знак показывает, недооценили мы ($r_i>0$) или переоценили ($r_i<0$);
- $r_i^2$
- квадрат убирает знак и делает крупные ошибки непропорционально тяжёлыми: вдвое большая ошибка весит вчетверо больше;
- $\frac1n\sum_{i=1}^n$
- среднее по всем $n$ объектам — это MSE, в квадратных единицах;
- $\sqrt{\cdot}$
- корень возвращает исходные единицы: если $y$ в рублях, то и RMSE в рублях.
Сквозной пример по шагам:
| $i$ | $y_i$ | $\hat y_i$ | $r_i$ | $r_i^2$ | $|r_i|$ |
|---|---|---|---|---|---|
| 1 | 3 | 2,5 | 0,5 | 0,25 | 0,5 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 8 | 10 | −2 | 4 | 2 |
| среднее | −0,5 | 1,417 | 0,833 |
Ту же величину полезно узнавать в других записях:
Вторая запись — евклидово расстояние между вектором фактов и вектором прогнозов, делённое на $\sqrt n$ (к ней мы вернёмся в 3D). Третья — среднее квадратичное (quadratic mean, степенное среднее порядка 2) модулей ошибок. MAE — их среднее арифметическое $M_1$, а наибольшая ошибка — предельный случай $M_\infty$. Неравенство о степенных средних сразу даёт $\mathrm{MAE}\le\mathrm{RMSE}\le\max_i|r_i|$.
Можно усреднять модули — это MAE. Квадрат выбирают потому, что он гладкий (дифференцируем везде), связан с дисперсией и нормальным распределением (минимизация MSE — это метод максимального правдоподобия при гауссовом шуме) и даёт явные формулы (метод наименьших квадратов). Корень сверху нужен только для чтения: на порядок моделей он не влияет.
Свойства
- Неотрицательность: $\mathrm{RMSE}\ge0$, и $\mathrm{RMSE}=0$ только при идеальном прогнозе $\hat y=y$.
- Единицы измерения — те же, что у $y$. Перевели цены из тысяч рублей в рубли — RMSE выросла ровно в 1000 раз: $\mathrm{RMSE}(c\,y,\,c\,\hat y)=|c|\,\mathrm{RMSE}(y,\hat y)$.
- Сдвиг не влияет: прибавив одно и то же число к фактам и прогнозам, получим ту же RMSE. Поэтому RMSE не говорит, велика ли ошибка относительно уровня ряда — для этого есть MAPE и нормированные варианты.
- Тот же порядок, что у MSE: корень строго возрастает, поэтому сравнение моделей по RMSE и по MSE всегда даёт один и тот же порядок, а минимум у них в одной точке.
- Чувствительность к выбросам: одна ошибка величины $E$ даёт RMSE не меньше $E/\sqrt n$, сколько бы идеальных прогнозов ни было вокруг.
- Неаддитивность: RMSE всей выборки — не среднее RMSE её частей. Складываются квадраты: $\mathrm{RMSE}^2=\sum_g \tfrac{n_g}{n}\,\mathrm{RMSE}_g^2$.
- Это норма (с точностью до множителя $1/\sqrt n$): для векторов ошибок $a$ и $b$ выполняется неравенство треугольника $\mathrm{RMSE}(a+b)\le\mathrm{RMSE}(a)+\mathrm{RMSE}(b)$.
Смещение и разброс: теорема Пифагора для ошибок
Остатки можно разделить на систематическую часть — среднее $\bar r$ (модель в среднем завышает или занижает) — и случайную, разброс вокруг среднего $\sigma_r$. Тогда
Вывод разложения
Запишем $r_i=\bar r+(r_i-\bar r)$ и раскроем квадрат:
Средний член исчезает: отклонения от среднего в сумме дают ноль. Это та же алгебра, что в формуле $\operatorname{Var}X=\mathbb E X^2-(\mathbb E X)^2$.
В сквозном примере $\bar r=-0{,}5$ (модель в среднем завышает на $0{,}5$), $\sigma_r\approx1{,}080$, и $0{,}25+1{,}167=1{,}417=\mathrm{MSE}$. Практический вывод: смещение убирается бесплатно — прибавьте $\bar r$ ко всем прогнозам, и на тех данных, где оно оценено, RMSE снизится ровно до $\sigma_r$ (здесь — с $1{,}190$ до $1{,}080$). На практике $\bar r$ оценивают на валидации, а выигрыш проверяют на тесте.
Если среднее остатков равно нулю (так всегда бывает у линейной регрессии со свободным членом на обучающей выборке), RMSE совпадает со стандартным отклонением остатков. Отсюда её родство со «стандартной ошибкой регрессии» из статистики — только там сумму квадратов остатков делят не на $n$, а на число степеней свободы $n-p$ ($p$ — число параметров модели). Если к тому же ошибки нормальны, около $68\%$ остатков лежат в пределах $\pm\mathrm{RMSE}$ и около $95\%$ — в пределах $\pm2\,\mathrm{RMSE}$.
RMSE против MAE: что говорит разрыв
MAE отвечает на вопрос «на сколько в среднем ошибаемся», RMSE — «каков типичный размер ошибки с учётом крупных». Их отношение $\mathrm{RMSE}/\mathrm{MAE}$ безразмерно и не зависит от масштаба: оно описывает только форму распределения ошибок.
| Ошибки | MAE | RMSE | RMSE / MAE |
|---|---|---|---|
| равномерное на $[-a;\,a]$ | $a/2$ | $a/\sqrt3$ | $2/\sqrt3\approx1{,}155$ |
| нормальное $N(0,\,\sigma^2)$ | $\sigma\sqrt{2/\pi}$ | $\sigma$ | $\sqrt{\pi/2}\approx1{,}253$ |
| Лапласа с масштабом $b$ | $b$ | $\sqrt2\,b$ | $\sqrt2\approx1{,}414$ |
| все $|r_i|$ равны $c$ | $c$ | $c$ | $1$ |
| одна ошибка $E$, остальные $n-1$ нулевые | $E/n$ | $E/\sqrt n$ | $\sqrt n$ |
Откуда √(π/2) для нормальных ошибок
Для $r\sim N(0,\sigma^2)$ имеем $\mathbb E\,r^2=\sigma^2$, а среднее модуля — интеграл по положительной полуоси, умноженный на 2:
Отсюда $\sigma/\bigl(\sigma\sqrt{2/\pi}\bigr)=\sqrt{\pi/2}\approx1{,}2533$. На конечной выборке это верно приближённо: на рисунке 3 при $n=2000$ получается $1{,}248$.
Для такой смеси MSE растёт в $1+99\varepsilon$ раз ($(1-\varepsilon)\cdot1+\varepsilon\cdot100$), а MAE — лишь в $1+9\varepsilon$ раз, поэтому теоретическое отношение равно $\sqrt{1+99\varepsilon}\,/\bigl((1+9\varepsilon)\,\mathrm{MAE}_0\bigr)$, где $\mathrm{MAE}_0$ — MAE исходного распределения.
Границы: MAE ≤ RMSE ≤ √n · MAE
Левое равенство достигается, только когда все $|r_i|$ одинаковы; правое — когда вся ошибка сосредоточена в одном объекте, а остальные прогнозы идеальны. В сквозном примере отношение $1{,}190/0{,}833\approx1{,}43$ при максимуме $\sqrt3\approx1{,}73$: ошибки заметно неравномерны.
Доказательство обеих границ
Левая граница — неравенство Коши — Буняковского для векторов $(|r_1|,\dots,|r_n|)$ и $(1,\dots,1)$:
Равенство — когда векторы пропорциональны, то есть все $|r_i|$ равны. Правая граница следует из того, что сумма квадратов неотрицательных чисел не больше квадрата их суммы:
Равенство — когда все произведения $|r_i|\,|r_j|$ при $i\ne j$ равны нулю, то есть ненулевая ошибка не больше чем одна. Если общая абсолютная ошибка поровну разделена между $k$ объектами из $n$, отношение равно ровно $\sqrt{n/k}$.
$\mathrm{RMSE}\approx\mathrm{MAE}$ — ошибки примерно одного размера. $\mathrm{RMSE}/\mathrm{MAE}\approx1{,}25$ — типично для нормального шума. Заметно больше $1{,}4$ — тяжёлые хвосты или несколько крупных промахов: посмотрите на самые большие остатки, прежде чем доверять средним.
Геометрия: RMSE как расстояние
Запишем факты и прогнозы как точки $n$-мерного пространства: $y=(y_1,\dots,y_n)$ и $\hat y=(\hat y_1,\dots,\hat y_n)$. Сумма квадратов ошибок — квадрат обычного евклидова расстояния между ними, поэтому
Деление на $\sqrt n$ делает расстояние сравнимым для выборок разного размера: если каждая ошибка равна $c$, то $\|y-\hat y\|=c\sqrt n$, а RMSE равна ровно $c$. Все прогнозы с одной и той же RMSE образуют сферу радиуса $\sqrt n\,\mathrm{RMSE}$ с центром в $y$. При $n=3$ это можно нарисовать.
Лучшая константа — среднее, а её RMSE — стандартное отклонение
Какой константный прогноз $\hat y_i=c$ минимизирует RMSE? Геометрически — ортогональная проекция $y$ на диагональ, то есть $c=\bar y$. Её RMSE — стандартное отклонение целевой переменной:
Это главный ориентир при чтении RMSE: модель, у которой RMSE не меньше $\sigma_y$, ничем не лучше прогноза «всегда среднее». В примере $\sigma_y\approx2{,}055$, а модель даёт $1{,}190$. Отсюда же коэффициент детерминации:
Производная и градиент
Пусть прогнозы зависят от параметров модели $\theta$. Производная корня $\sqrt u$ равна $1/(2\sqrt u)$, поэтому по цепному правилу градиент RMSE — это градиент MSE, делённый на $2\,\mathrm{RMSE}$:
Вывод по шагам
Возьмём производную по одному прогнозу $\hat y_j$. От него зависит только слагаемое $(y_j-\hat y_j)^2$:
Цепное правило для $\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$:
Для параметра $\theta$ добавляется ещё один множитель цепного правила, $\partial\hat y_j/\partial\theta$:
Что из этого следует:
- Направление то же, длина другая. Градиенты RMSE и MSE отличаются только положительным множителем $1/(2\,\mathrm{RMSE})$. Поэтому у функций одни и те же стационарные точки и один минимум.
- Длина градиента по прогнозам постоянна: $\|\nabla_{\hat y}\mathrm{RMSE}\|=1/\sqrt n$ при любых ошибках (сумма квадратов компонент равна $\sum_j r_j^2/(n^2\,\mathrm{MSE})=1/n$). Градиент RMSE указывает только направление к $y$, а его длина не зависит от того, насколько мы далеко.
- В сквозном примере $\partial\,\mathrm{RMSE}/\partial\hat y=(-0{,}140;\;0;\;0{,}560)$, а у MSE — $(-0{,}333;\;0;\;1{,}333)$, ровно в $2\cdot1{,}190=2{,}380$ раза больше.
- В нуле производной нет. При $\hat y=y$ функция $\|y-\hat y\|/\sqrt n$ имеет излом, как $|x|$ в нуле (вершина конуса), а формула делит на $\mathrm{RMSE}=0$. В автоматическом дифференцировании это превращается в NaN (см. раздел с кодом).
Одномерный разрез: константный прогноз
Возьмём модель-константу $\hat y_i=c$ на данных примера $y=(3;\,5;\,8)$. Тогда $\mathrm{MSE}(c)=(c-\bar y)^2+\sigma_y^2$ — парабола, а RMSE — гипербола:
Возле минимума гипербола похожа на параболу (RMSE ведёт себя как MSE), вдали — на прямые $|c-\bar y|$ (как MAE). Производная плавно меняется от $-1$ до $1$ и никогда не выходит за эти пределы, а производная MSE растёт линейно и неограниченно.
Вторая производная $\mathrm{RMSE}''(c)=\sigma_y^2/\mathrm{RMSE}(c)^3>0$: функция строго выпукла, пока $\sigma_y>0$. В общем случае RMSE выпукла по прогнозам (как норма), а значит, и по параметрам линейной модели: у линейной регрессии нет локальных минимумов ни для MSE, ни для RMSE.
Ландшафт RMSE(w, b) и обучение
Линейная модель $\hat y=wx+b$ на 14 точках. Над плоскостью параметров $(w,\,b)$ RMSE образует чашу. Переключите поверхность на MSE: линии уровня останутся теми же (уровень $\mathrm{RMSE}=1{,}5$ — это уровень $\mathrm{MSE}=2{,}25$), изменится только высота: MSE растёт квадратично, а RMSE вдали от минимума — почти линейно, как конус.
Почему так. Шаг по RMSE — это шаг по MSE с переменным темпом обучения (learning rate):
Пока ошибки велики, эффективный шаг мал — поэтому спуск по RMSE устойчивее к слишком большому $\eta$. Возле минимума $\eta_{\text{эфф}}\to\eta/(2\,\mathrm{RMSE}_{\min})$; здесь $\mathrm{RMSE}_{\min}\approx0{,}904$, и шаг почти вдвое меньше, чем у MSE, — отсюда медленный финиш. Спуск по MSE устойчив лишь при $\eta<2/\lambda_{\max}\approx0{,}133$, где $\lambda_{\max}\approx15{,}0$ — наибольшее собственное значение гессиана MSE.
Корень из среднего по батчу — не корень из среднего по всей выборке: $\mathbb E\sqrt{\mathrm{MSE}_{\text{batch}}}\le\sqrt{\mathbb E\,\mathrm{MSE}_{\text{batch}}}$ (неравенство Йенсена). Средняя по батчам RMSE систематически занижена, а шаги SGD по батчевой RMSE оптимизируют именно это среднее, а не RMSE всей выборки. Обычно учат на MSE, а RMSE считают по всей валидационной выборке.
RMSE в оценке моделей
Как метрика качества RMSE отвечает на вопрос «на сколько единиц $y$ типично ошибается модель, с упором на крупные промахи». Чтобы число что-то значило, его сравнивают:
- с бейзлайном — у прогноза «всегда среднее» RMSE равна $\sigma_y$, у прогноза «как вчера» во временных рядах — своя; модель должна быть заметно лучше;
- с масштабом задачи — ошибка в 5000 рублей отлична для квартир и ужасна для чашек кофе. Безразмерный вариант — $\mathrm{NRMSE}=\mathrm{RMSE}/\sigma_y=\sqrt{1-R^2}$ (иногда делят на размах или среднее $y$);
- с MAE — по отношению $\mathrm{RMSE}/\mathrm{MAE}$ видно, есть ли крупные промахи;
- только на одних и тех же данных — RMSE на разных тестовых выборках несравнимы, если у них разный разброс $y$.
Кросс-валидация: усредняйте квадраты
При $K$ фолдах часто берут среднее RMSE по фолдам. Это не RMSE по всем объектам: среднее корней не больше корня из среднего. Общая оценка — корень из взвешенного среднего MSE:
Например, два фолда равного размера с RMSE $1$ и $3$: среднее равно $2$, а общая RMSE — $\sqrt{(1+9)/2}=\sqrt5\approx2{,}24$.
В 2006 году Netflix пообещал миллион долларов команде, которая улучшит RMSE их рекомендательной системы Cinematch на тестовых оценках на $10\%$ — с $0{,}9525$ до $0{,}8572$ по пятизвёздочной шкале. Приз в 2009 году получила команда BellKor’s Pragmatic Chaos с RMSE $0{,}8567$. Ради десятой доли «звезды» участники три года строили ансамбли из сотен моделей — хорошая иллюстрация того, что метрика определяет, что именно оптимизируют.
Варианты: RMSLE, взвешенная и нормированная RMSE
RMSLE (root mean squared logarithmic error) — RMSE в логарифмической шкале:
Логарифм превращает отношения в разности: ошибка определяется тем, во сколько раз $1+\hat y$ отличается от $1+y$, а не на сколько. Поэтому RMSLE подходит для неотрицательных целей с большим разбросом масштабов (цены, продажи, просмотры) и наказывает недобор сильнее, чем перебор на ту же абсолютную величину. В сквозном примере $\mathrm{RMSLE}\approx0{,}139$.
Ещё две полезные модификации:
- взвешенная RMSE $\sqrt{\sum_i w_i r_i^2/\sum_i w_i}$ — когда объекты неравноценны (дорогие товары, свежие наблюдения);
- NRMSE $=\mathrm{RMSE}/\sigma_y=\sqrt{1-R^2}$ — безразмерная версия для сравнения задач разного масштаба.
RMSLE равна RMSE между $\ln(1+y)$ и $\ln(1+\hat y)$. Поэтому, если метрика соревнования — RMSLE, разумно обучать модель на MSE по цели $\ln(1+y)$, а прогноз возвращать через $e^{z}-1$.
В коде
В NumPy RMSE — одна строка; ниже заодно проверяются формулы этой страницы на сквозном примере.
pythonimport numpy as np
y = np.array([3.0, 5.0, 8.0])
y_hat = np.array([2.5, 5.0, 10.0])
r = y - y_hat # остатки: [ 0.5 0. -2. ]
mse = np.mean(r ** 2) # ≈ 1.4167
rmse = np.sqrt(mse) # ≈ 1.1902
mae = np.mean(np.abs(r)) # ≈ 0.8333
# То же через евклидову норму: ‖y − ŷ‖ / √n
print(round(np.linalg.norm(r) / np.sqrt(len(r)), 4)) # 1.1902
# Разложение: RMSE² = смещение² + дисперсия остатков
print(round(r.mean() ** 2 + r.var(), 4), round(mse, 4)) # 1.4167 1.4167
# Градиент по прогнозам: ∂RMSE/∂ŷ = (ŷ − y) / (n · RMSE)
print(np.round((y_hat - y) / (len(y) * rmse), 4)) # [-0.14 0. 0.5601]
# Бейзлайн «всегда среднее»: его RMSE — стандартное отклонение y
print(round(np.std(y), 4)) # 2.0548
В scikit-learn есть готовые функции (с версии 1.4; раньше писали mean_squared_error(..., squared=False), а в 1.6 параметр squared удалён). Обратите внимание на разницу между средним RMSE фолдов и RMSE по всем объектам:
pythonfrom sklearn.metrics import root_mean_squared_error, root_mean_squared_log_error
from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import KFold, cross_val_score, cross_val_predict
# y, y_hat — из листинга выше; функции есть в scikit-learn ≥ 1.4
print(round(root_mean_squared_error(y, y_hat), 4)) # 1.1902
print(round(root_mean_squared_log_error(y, y_hat), 4)) # 0.1392 — RMSLE
X, t = make_regression(n_samples=200, n_features=5, noise=10.0, random_state=0)
cv = KFold(5, shuffle=True, random_state=0)
# scorer «чем больше, тем лучше», поэтому RMSE идёт со знаком минус
scores = cross_val_score(LinearRegression(), X, t, cv=cv,
scoring="neg_root_mean_squared_error")
print(round(-scores.mean(), 3)) # 10.56 — среднее RMSE фолдов
pred = cross_val_predict(LinearRegression(), X, t, cv=cv)
print(round(root_mean_squared_error(t, pred), 3)) # 10.614 — RMSE по всем объектам
В PyTorch RMSE как функция потерь требует осторожности в нуле:
pythonimport torch
y = torch.tensor([3.0, 5.0, 8.0])
y_hat = torch.tensor([2.5, 5.0, 10.0], requires_grad=True)
rmse = torch.sqrt(torch.mean((y_hat - y) ** 2))
rmse.backward()
print(round(rmse.item(), 4), y_hat.grad) # 1.1902 tensor([-0.1400, 0.0000, 0.5601])
# Идеальный прогноз: производная √u в нуле бесконечна → градиент NaN
p = y.clone().requires_grad_(True)
torch.sqrt(torch.mean((p - y) ** 2)).backward()
print(p.grad) # tensor([nan, nan, nan])
def rmse_loss(pred, target, eps=1e-8):
"""RMSE как функция потерь: eps под корнем убирает NaN."""
return torch.sqrt(torch.mean((pred - target) ** 2) + eps)
Для обучения нейросети обычно минимизируют MSE: минимум тот же, градиент гладкий в нуле, нет деления на RMSE. RMSE считают для отчёта — по всей валидационной выборке сразу, а не как среднее по батчам.
Частые ошибки
- Среднее RMSE по батчам или фолдам как итоговая RMSE. Корень нелинеен: усредняйте MSE, а корень берите в конце.
- Сравнение RMSE на разных данных. RMSE зависит от масштаба и разброса $y$; сравнивайте модели на одной тестовой выборке или используйте нормированную RMSE.
- «Модель ошибается в среднем на RMSE». Средняя абсолютная ошибка — это MAE; RMSE не меньше её, а на тяжёлых хвостах заметно больше.
- RMSE как потеря без защиты нуля. Производная $\sqrt u$ в нуле бесконечна: идеальный батч даёт NaN в градиентах. Добавляйте $\varepsilon$ под корень или учите на MSE.
- Игнорирование выбросов. Одна ошибка в 100 единиц среди 99 идеальных прогнозов даёт $\mathrm{RMSE}=10$ при $\mathrm{MAE}=1$. Если выбросы — шум, а не важные события, смотрите MAE, Huber или квантили ошибок.
- RMSE по логарифмам вместо исходной шкалы. Если модель учится на $\ln(1+y)$, её RMSE — это RMSLE исходной задачи, а не RMSE в рублях; переводите прогнозы обратно, прежде чем считать RMSE.
Связи с другими формулами
- MSE: $\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ — тот же минимум и тот же порядок моделей, а градиент делится на $2\,\mathrm{RMSE}$.
- MAE: $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$; лучшая константа для MAE — медиана, для RMSE — среднее.
- Huber: квадратичная возле нуля и линейная на хвостах — компромисс между MSE (а значит, RMSE) и MAE.
- MAPE: относительная ошибка вместо абсолютной; RMSLE — её квадратичный родственник в логарифмической шкале.
- SGD: спуск по RMSE — это спуск по MSE с темпом обучения $\eta/(2\,\mathrm{RMSE})$.
- Adam: делит шаг на корень из скользящего среднего квадратов градиента — та же идея «корня из среднего квадрата» (RMS), что и в RMSE.
Итоги
1) $\mathrm{RMSE}=\sqrt{\mathrm{MSE}}$ — типичный размер ошибки в единицах $y$ с упором на крупные промахи. 2) $\mathrm{MAE}\le\mathrm{RMSE}\le\sqrt n\,\mathrm{MAE}$; отношение RMSE/MAE — индикатор хвостов ($\approx1{,}25$ для нормального шума). 3) $\mathrm{RMSE}^2=\bar r^{\,2}+\sigma_r^2$ — смещение и разброс как катеты. 4) Геометрически это расстояние $\|y-\hat y\|/\sqrt n$; лучшая константа — среднее, её RMSE равна $\sigma_y$. 5) $\nabla\mathrm{RMSE}=\nabla\mathrm{MSE}/(2\,\mathrm{RMSE})$: минимум общий, шаг другой, в нуле производной нет.