Материалы · Практикум · ML / AI

MAE и MSE на простых примерах

20 задач с подробным разбором — от примера с доски до выбросов и выбора модели. Каждый шаг расписан так же, как на уроке: пары $y_i$ и $\hat y_i$, ошибки, модули и квадраты, сумма, деление на $n$. Числа простые: всё считается в уме или на бумаге. А для обратного распространения ошибки — производные обеих метрик по каждому прогнозу, шаг градиентного спуска и цепное правило до весов нейрона.

Javharbek Abdulatipov · 50 мин чтения
20 примеров8 ★☆☆9 ★★☆3 ★★★
$$\begin{gathered}\mathrm{MAE}=\frac{1}{n}\sum_{i=1}^{n}\bigl|y_i-\hat{y}_i\bigr|\\[6pt]\mathrm{MSE}=\frac{1}{n}\sum_{i=1}^{n}\bigl(y_i-\hat{y}_i\bigr)^2\end{gathered}$$

Как читать формулы

Обе метрики отвечают на вопрос «насколько модель ошибается?». Есть $n$ объектов; для каждого известен правильный ответ $y_i$ и прогноз модели $\hat y_i$ (читается «игрек с крышкой»). Разница $e_i = y_i - \hat y_i$ — ошибка на объекте $i$.

$y_i$
правильный ответ (истина) для объекта $i$
$\hat y_i$
прогноз модели для объекта $i$
$e_i = y_i - \hat y_i$
ошибка: плюс — модель занизила, минус — завысила
$n$
число объектов
$\sum_{i=1}^{n}$
сумма по всем объектам от $1$ до $n$

Рецепт из четырёх шагов

  1. Выпишите пары $(y_i,\ \hat y_i)$ и посчитайте ошибки $e_i = y_i - \hat y_i$.
  2. Для MAE возьмите модуль каждой ошибки $|e_i|$, для MSE — квадрат $e_i^2$.
  3. Сложите все модули (или все квадраты).
  4. Разделите сумму на $n$ — это и есть MAE (или MSE).
Как читать ответ

MAE — средний размер промаха в тех же единицах, что и $y$: «в среднем ошибаемся на 0,83». MSE — средний квадрат промаха, в единицах «в квадрате»; она сильнее реагирует на большие ошибки. Обе метрики: чем меньше, тем лучше, ноль — идеал.

Производные для обратного распространения

Нейросеть учится так: считает потерю (например, MSE), а затем идёт назад — от потери к весам — и в каждом слое перемножает производные по цепному правилу. Этот проход называется обратным распространением ошибки (backpropagation). Самое первое звено цепочки — производная потери по прогнозу $\hat y_i$: она говорит, в какую сторону и насколько сильно сдвинуть каждый прогноз. Если вы только знакомитесь с MAE и MSE, этот раздел можно пропустить и вернуться к нему позже.

$g_i$
производная потери по прогнозу $\hat y_i$, компонента градиента $\nabla_{\hat y} L = (g_1, \dots, g_n)$

Производная MSE

$$\begin{aligned}\frac{\partial\,\mathrm{MSE}}{\partial \hat y_i} &= \frac{1}{n}\cdot 2\,(y_i-\hat y_i)\cdot(-1)\\ &= \frac{2}{n}\,(\hat y_i - y_i)\end{aligned}$$

Из всей суммы от $\hat y_i$ зависит только одно слагаемое $(y_i - \hat y_i)^2$. Производная квадрата — «два на выражение», а производная выражения $y_i - \hat y_i$ по $\hat y_i$ равна $-1$ (цепное правило). Отсюда знак: $(\hat y_i - y_i)$, а не $(y_i - \hat y_i)$.

Производная MAE

$$\frac{\partial\,\mathrm{MAE}}{\partial \hat y_i} = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$$
$$\operatorname{sign}(x)=\begin{cases}\phantom{-}1, & x>0\\\phantom{-}0, & x=0\\-1, & x<0\end{cases}$$

Производная модуля $|x|$ равна $1$ справа от нуля и $-1$ слева. В самой точке $x = 0$ у модуля излом, и производной нет; на практике берут $0$ — это одно из допустимых значений (субградиент), так делают PyTorch и NumPy.

Как читать знак

Плюс — прогноз завышен, и спуск его уменьшит; минус — занижен, и спуск его увеличит; ноль — объект на месте. Шаг градиентного спуска: $\hat y_i \leftarrow \hat y_i - \eta\, g_i$, где $\eta$ — темп обучения (learning rate). Главное различие метрик: у MSE сила сигнала пропорциональна ошибке, у MAE она всегда $\tfrac{1}{n}$.

Пример с доски: градиент и один шаг спуска

Для $y = (3;\ 5;\ 8)$ и $\hat y = (2{,}5;\ 5;\ 10)$ производные по каждому прогнозу такие:

$i$$y_i$$\hat y_i$$g_i$ для MAE$g_i$ для MSE
132,5≈ −0,33≈ −0,33
25500
3810≈ 0,33≈ 1,33

Сделаем один шаг спуска прямо по прогнозам с $\eta = 0{,}3$ — сначала по градиенту MSE, потом по градиенту MAE:

$$\text{MSE:}\quad \begin{aligned}\hat y_{1} &\leftarrow 2{,}5 - 0{,}3\cdot (-\tfrac{1}{3}) = 2{,}6\\\hat y_{2} &\leftarrow 5 - 0{,}3\cdot 0 = 5\\\hat y_{3} &\leftarrow 10 - 0{,}3\cdot (\tfrac{4}{3}) = 9{,}6\end{aligned}$$
$$\text{MAE:}\quad \begin{aligned}\hat y_{1} &\leftarrow 2{,}5 - 0{,}3\cdot (-\tfrac{1}{3}) = 2{,}6\\\hat y_{2} &\leftarrow 5 - 0{,}3\cdot 0 = 5\\\hat y_{3} &\leftarrow 10 - 0{,}3\cdot (\tfrac{1}{3}) = 9{,}9\end{aligned}$$

Обе метрики уменьшились: MSE ≈ 1,42 → ≈ 0,91, MAE ≈ 0,83 → ≈ 0,77. Сильнее всего MSE сдвинула третий прогноз — тот, где ошибка больше всего.

В настоящей сети прогнозы не двигают напрямую — двигают веса. Градиент по прогнозам — это сигнал, который уходит назад к весам; как именно, показано в разделе «От прогноза к весам». В каждом примере ниже производные расписаны в блоке «Производные для обратного распространения».

Пример с доски

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

Пример 1★☆☆

Пример с доски

$y = (3;\ 5;\ 8)$,   $\hat y = (2{,}5;\ 5;\ 10)$. Найдите MAE и MSE.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 3-2{,}5\rvert = \lvert 0{,}5\rvert = 0{,}5\\\lvert e_{2}\rvert &= \lvert 5-5\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 8-10\rvert = \lvert -2\rvert = 2\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 0{,}5 + 0 + 2 = 2{,}5$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 2{,}5 = \frac{2{,}5}{3} \approx 0{,}83$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (3-2{,}5)^2 = 0{,}5^2 = 0{,}25\\e_{2}^2 &= (5-5)^2 = 0^2 = 0\\e_{3}^2 &= (8-10)^2 = (-2)^2 = 4\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 0{,}25 + 0 + 4 = 4{,}25$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 4{,}25 = \frac{4{,}25}{3} \approx 1{,}42$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
132,50,50,50,25
255000
3810−224
Сумма2,54,25
Среднее (÷ 3)≈ 0,83≈ 1,42
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(2{,}5-3)}{3} \approx -0{,}33\\g_{2} &= \frac{\operatorname{sign}(5-5)}{3} = 0\\g_{3} &= \frac{\operatorname{sign}(10-8)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(2{,}5-3)}{3} \approx -0{,}33\\g_{2} &= \frac{2\cdot(5-5)}{3} = 0\\g_{3} &= \frac{2\cdot(10-8)}{3} \approx 1{,}33\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (-0{,}33;\ 0;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (-0{,}33;\ 0;\ 1{,}33)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 1,33 по модулю — у него самая большая ошибка (2).

Что говорят производные

Объект 3 (ошибка 2) получает от MSE сигнал 1,33 — в четыре раза сильнее, чем объект 1 (0,33) с ошибкой 0,5. У MAE оба сигнала одинаковы по модулю — 0,33: модуль не различает «чуть-чуть» и «сильно».

Ответ: $\mathrm{MAE} \approx 0{,}83$,   $\mathrm{MSE} \approx 1{,}42$

Что видно из примера

Две из трёх ошибок небольшие, а одна равна 2. MAE ≈ 0,83 — «в среднем ошибаемся меньше чем на единицу». MSE ≈ 1,42 больше MAE: квадрат ошибки 2 равен 4 и перетягивает среднее на себя.

Разминка

Простые наборы чисел, чтобы рецепт стал привычным. Первая задача раскрыта, остальные попробуйте решить сами.

Пример 2★☆☆

Идеальный прогноз

$y = (2;\ 4;\ 6)$,   $\hat y = (2;\ 4;\ 6)$. Найдите MAE и MSE.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 2-2\rvert = \lvert 0\rvert = 0\\\lvert e_{2}\rvert &= \lvert 4-4\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 6-6\rvert = \lvert 0\rvert = 0\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 0 + 0 + 0 = 0$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 0 = \frac{0}{3} = 0$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (2-2)^2 = 0^2 = 0\\e_{2}^2 &= (4-4)^2 = 0^2 = 0\\e_{3}^2 &= (6-6)^2 = 0^2 = 0\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 0 + 0 + 0 = 0$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 0 = \frac{0}{3} = 0$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
122000
244000
366000
Сумма00
Среднее (÷ 3)00
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(2-2)}{3} = 0\\g_{2} &= \frac{\operatorname{sign}(4-4)}{3} = 0\\g_{3} &= \frac{\operatorname{sign}(6-6)}{3} = 0\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(2-2)}{3} = 0\\g_{2} &= \frac{2\cdot(4-4)}{3} = 0\\g_{3} &= \frac{2\cdot(6-6)}{3} = 0\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = (0;\ 0;\ 0)\\[4pt]\nabla\mathrm{MSE} = (0;\ 0;\ 0)\end{gathered}$$

Все производные равны нулю: прогноз уже идеален, обратному распространению нечего исправлять.

Ответ: $\mathrm{MAE} = 0$,   $\mathrm{MSE} = 0$

Что видно из примера

Все ошибки равны нулю, значит MAE = 0 и MSE = 0. Меньше нуля обе метрики не бывают: модуль и квадрат не отрицательны.

Пример 3★☆☆

Ошибка только в одной точке

$y = (1;\ 2;\ 3;\ 4)$,   $\hat y = (1;\ 2;\ 3;\ 6)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 1-1\rvert = \lvert 0\rvert = 0\\\lvert e_{2}\rvert &= \lvert 2-2\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 3-3\rvert = \lvert 0\rvert = 0\\\lvert e_{4}\rvert &= \lvert 4-6\rvert = \lvert -2\rvert = 2\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{4}\lvert e_i\rvert = 0 + 0 + 0 + 2 = 2$$

3. MAE — делим сумму на $n = 4$:

$$\mathrm{MAE} = \frac{1}{4}\cdot 2 = \frac{2}{4} = 0{,}5$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (1-1)^2 = 0^2 = 0\\e_{2}^2 &= (2-2)^2 = 0^2 = 0\\e_{3}^2 &= (3-3)^2 = 0^2 = 0\\e_{4}^2 &= (4-6)^2 = (-2)^2 = 4\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{4}e_i^2 = 0 + 0 + 0 + 4 = 4$$

6. MSE — делим сумму на $n = 4$:

$$\mathrm{MSE} = \frac{1}{4}\cdot 4 = \frac{4}{4} = 1$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
111000
222000
333000
446−224
Сумма24
Среднее (÷ 4)0,51
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(1-1)}{4} = 0\\g_{2} &= \frac{\operatorname{sign}(2-2)}{4} = 0\\g_{3} &= \frac{\operatorname{sign}(3-3)}{4} = 0\\g_{4} &= \frac{\operatorname{sign}(6-4)}{4} = 0{,}25\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(1-1)}{4} = 0\\g_{2} &= \frac{2\cdot(2-2)}{4} = 0\\g_{3} &= \frac{2\cdot(3-3)}{4} = 0\\g_{4} &= \frac{2\cdot(6-4)}{4} = 1\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0\\0\\0\\0{,}25\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}0\\0\\0\\1\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 0{,}5$,   $\mathrm{MSE} = 1$

Что видно из примера

Ошибка 2 одна на четыре объекта: MAE = 2 / 4 = 0,5. А в MSE она входит как 2² = 4, поэтому MSE = 1 — вдвое больше MAE.

Пример 4★☆☆

Одинаковая ошибка везде

$y = (5;\ 7;\ 9)$,   $\hat y = (6;\ 8;\ 10)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 5-6\rvert = \lvert -1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 7-8\rvert = \lvert -1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 9-10\rvert = \lvert -1\rvert = 1\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 1 + 1 + 1 = 3$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 3 = \frac{3}{3} = 1$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (5-6)^2 = (-1)^2 = 1\\e_{2}^2 &= (7-8)^2 = (-1)^2 = 1\\e_{3}^2 &= (9-10)^2 = (-1)^2 = 1\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 1 + 1 + 1 = 3$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 3 = \frac{3}{3} = 1$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
156−111
278−111
3910−111
Сумма33
Среднее (÷ 3)11
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(6-5)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(8-7)}{3} \approx 0{,}33\\g_{3} &= \frac{\operatorname{sign}(10-9)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(6-5)}{3} \approx 0{,}67\\g_{2} &= \frac{2\cdot(8-7)}{3} \approx 0{,}67\\g_{3} &= \frac{2\cdot(10-9)}{3} \approx 0{,}67\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0{,}33;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (0{,}67;\ 0{,}67;\ 0{,}67)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 1$,   $\mathrm{MSE} = 1$

Что видно из примера

Модель везде завышает на 1. Если все |eᵢ| одинаковы и равны a, то MAE = a, а MSE = a². Здесь a = 1, поэтому обе метрики равны 1.

Пример 5★☆☆

Знак ошибки не важен

$y = (10;\ 20)$,   $\hat y = (12;\ 18)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 10-12\rvert = \lvert -2\rvert = 2\\\lvert e_{2}\rvert &= \lvert 20-18\rvert = \lvert 2\rvert = 2\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{2}\lvert e_i\rvert = 2 + 2 = 4$$

3. MAE — делим сумму на $n = 2$:

$$\mathrm{MAE} = \frac{1}{2}\cdot 4 = \frac{4}{2} = 2$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (10-12)^2 = (-2)^2 = 4\\e_{2}^2 &= (20-18)^2 = 2^2 = 4\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{2}e_i^2 = 4 + 4 = 8$$

6. MSE — делим сумму на $n = 2$:

$$\mathrm{MSE} = \frac{1}{2}\cdot 8 = \frac{8}{2} = 4$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
11012−224
22018224
Сумма48
Среднее (÷ 2)24
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(12-10)}{2} = 0{,}5\\g_{2} &= \frac{\operatorname{sign}(18-20)}{2} = -0{,}5\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(12-10)}{2} = 2\\g_{2} &= \frac{2\cdot(18-20)}{2} = -2\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = (0{,}5;\ -0{,}5)\\[4pt]\nabla\mathrm{MSE} = (2;\ -2)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,5: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 2$,   $\mathrm{MSE} = 4$

Что видно из примера

Первая ошибка −2 (модель завысила), вторая +2 (занизила). Модуль и квадрат убирают знак: обе ошибки дают 2 в MAE и 4 в MSE. Промахи вверх и вниз не гасят друг друга.

Пример 6★☆☆

Ошибки меньше единицы

$y = (1;\ 1)$,   $\hat y = (1{,}5;\ 0{,}5)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 1-1{,}5\rvert = \lvert -0{,}5\rvert = 0{,}5\\\lvert e_{2}\rvert &= \lvert 1-0{,}5\rvert = \lvert 0{,}5\rvert = 0{,}5\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{2}\lvert e_i\rvert = 0{,}5 + 0{,}5 = 1$$

3. MAE — делим сумму на $n = 2$:

$$\mathrm{MAE} = \frac{1}{2}\cdot 1 = \frac{1}{2} = 0{,}5$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (1-1{,}5)^2 = (-0{,}5)^2 = 0{,}25\\e_{2}^2 &= (1-0{,}5)^2 = 0{,}5^2 = 0{,}25\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{2}e_i^2 = 0{,}25 + 0{,}25 = 0{,}5$$

6. MSE — делим сумму на $n = 2$:

$$\mathrm{MSE} = \frac{1}{2}\cdot 0{,}5 = \frac{0{,}5}{2} = 0{,}25$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
111,5−0,50,50,25
210,50,50,50,25
Сумма10,5
Среднее (÷ 2)0,50,25
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(1{,}5-1)}{2} = 0{,}5\\g_{2} &= \frac{\operatorname{sign}(0{,}5-1)}{2} = -0{,}5\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(1{,}5-1)}{2} = 0{,}5\\g_{2} &= \frac{2\cdot(0{,}5-1)}{2} = -0{,}5\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = (0{,}5;\ -0{,}5)\\[4pt]\nabla\mathrm{MSE} = (0{,}5;\ -0{,}5)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,5: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 0{,}5$,   $\mathrm{MSE} = 0{,}25$

Что видно из примера

Здесь MSE = 0,25 меньше MAE = 0,5: квадрат числа меньше 1 становится ещё меньше (0,5² = 0,25). Поэтому сравнивать MAE и MSE по величине бессмысленно — у них разные единицы и разный характер.

Пример 7★☆☆

Пять объектов — делим на 5

$y = (2;\ 4;\ 6;\ 8;\ 10)$,   $\hat y = (3;\ 3;\ 7;\ 7;\ 10)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 2-3\rvert = \lvert -1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 4-3\rvert = \lvert 1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 6-7\rvert = \lvert -1\rvert = 1\\\lvert e_{4}\rvert &= \lvert 8-7\rvert = \lvert 1\rvert = 1\\\lvert e_{5}\rvert &= \lvert 10-10\rvert = \lvert 0\rvert = 0\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{5}\lvert e_i\rvert = 1 + 1 + 1 + 1 + 0 = 4$$

3. MAE — делим сумму на $n = 5$:

$$\mathrm{MAE} = \frac{1}{5}\cdot 4 = \frac{4}{5} = 0{,}8$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (2-3)^2 = (-1)^2 = 1\\e_{2}^2 &= (4-3)^2 = 1^2 = 1\\e_{3}^2 &= (6-7)^2 = (-1)^2 = 1\\e_{4}^2 &= (8-7)^2 = 1^2 = 1\\e_{5}^2 &= (10-10)^2 = 0^2 = 0\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{5}e_i^2 = 1 + 1 + 1 + 1 + 0 = 4$$

6. MSE — делим сумму на $n = 5$:

$$\mathrm{MSE} = \frac{1}{5}\cdot 4 = \frac{4}{5} = 0{,}8$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
123−111
243111
367−111
487111
51010000
Сумма44
Среднее (÷ 5)0,80,8
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(3-2)}{5} = 0{,}2\\g_{2} &= \frac{\operatorname{sign}(3-4)}{5} = -0{,}2\\g_{3} &= \frac{\operatorname{sign}(7-6)}{5} = 0{,}2\\g_{4} &= \frac{\operatorname{sign}(7-8)}{5} = -0{,}2\\g_{5} &= \frac{\operatorname{sign}(10-10)}{5} = 0\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(3-2)}{5} = 0{,}4\\g_{2} &= \frac{2\cdot(3-4)}{5} = -0{,}4\\g_{3} &= \frac{2\cdot(7-6)}{5} = 0{,}4\\g_{4} &= \frac{2\cdot(7-8)}{5} = -0{,}4\\g_{5} &= \frac{2\cdot(10-10)}{5} = 0\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0{,}2\\-0{,}2\\0{,}2\\-0{,}2\\0\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}0{,}4\\-0{,}4\\0{,}4\\-0{,}4\\0\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,2: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 0{,}8$,   $\mathrm{MSE} = 0{,}8$

Что видно из примера

Делим всегда на число объектов n, а не на число ненулевых ошибок: ошибок четыре, но объектов пять, поэтому MAE = 4 / 5 = 0,8.

Отрицательные числа, дроби и один объект

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

Пример 8★★☆

Отрицательные числа: температура

$y = (-2;\ 0;\ 3)$,   $\hat y = (1;\ -1;\ 3)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert -2-1\rvert = \lvert -3\rvert = 3\\\lvert e_{2}\rvert &= \lvert 0-(-1)\rvert = \lvert 1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 3-3\rvert = \lvert 0\rvert = 0\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 3 + 1 + 0 = 4$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 4 = \frac{4}{3} \approx 1{,}33$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (-2-1)^2 = (-3)^2 = 9\\e_{2}^2 &= (0-(-1))^2 = 1^2 = 1\\e_{3}^2 &= (3-3)^2 = 0^2 = 0\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 9 + 1 + 0 = 10$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 10 = \frac{10}{3} \approx 3{,}33$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
1−21−339
20−1111
333000
Сумма410
Среднее (÷ 3)≈ 1,33≈ 3,33
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(1-(-2))}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(-1-0)}{3} \approx -0{,}33\\g_{3} &= \frac{\operatorname{sign}(3-3)}{3} = 0\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(1-(-2))}{3} = 2\\g_{2} &= \frac{2\cdot(-1-0)}{3} \approx -0{,}67\\g_{3} &= \frac{2\cdot(3-3)}{3} = 0\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ -0{,}33;\ 0)\\[4pt]\nabla\mathrm{MSE} \approx (2;\ -0{,}67;\ 0)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 1: его сигнал 2 по модулю — у него самая большая ошибка (3).

Ответ: $\mathrm{MAE} \approx 1{,}33$,   $\mathrm{MSE} \approx 3{,}33$

Что видно из примера

Главное — аккуратно вычитать: 0 − (−1) = 0 + 1 = 1, а (−3)² = 9, не −9. Модуль и квадрат всегда дают неотрицательный результат.

Пример 9★★☆

Десятичные дроби

$y = (1{,}2;\ 2{,}5;\ 3{,}1)$,   $\hat y = (1;\ 2{,}9;\ 3{,}1)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 1{,}2-1\rvert = \lvert 0{,}2\rvert = 0{,}2\\\lvert e_{2}\rvert &= \lvert 2{,}5-2{,}9\rvert = \lvert -0{,}4\rvert = 0{,}4\\\lvert e_{3}\rvert &= \lvert 3{,}1-3{,}1\rvert = \lvert 0\rvert = 0\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 0{,}2 + 0{,}4 + 0 = 0{,}6$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 0{,}6 = \frac{0{,}6}{3} = 0{,}2$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (1{,}2-1)^2 = 0{,}2^2 = 0{,}04\\e_{2}^2 &= (2{,}5-2{,}9)^2 = (-0{,}4)^2 = 0{,}16\\e_{3}^2 &= (3{,}1-3{,}1)^2 = 0^2 = 0\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 0{,}04 + 0{,}16 + 0 = 0{,}2$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 0{,}2 = \frac{0{,}2}{3} \approx 0{,}0667$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
11,210,20,20,04
22,52,9−0,40,40,16
33,13,1000
Сумма0,60,2
Среднее (÷ 3)0,2≈ 0,0667
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(1-1{,}2)}{3} \approx -0{,}33\\g_{2} &= \frac{\operatorname{sign}(2{,}9-2{,}5)}{3} \approx 0{,}33\\g_{3} &= \frac{\operatorname{sign}(3{,}1-3{,}1)}{3} = 0\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(1-1{,}2)}{3} \approx -0{,}13\\g_{2} &= \frac{2\cdot(2{,}9-2{,}5)}{3} \approx 0{,}27\\g_{3} &= \frac{2\cdot(3{,}1-3{,}1)}{3} = 0\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (-0{,}33;\ 0{,}33;\ 0)\\[4pt]\nabla\mathrm{MSE} \approx (-0{,}13;\ 0{,}27;\ 0)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 2: его сигнал 0,27 по модулю — у него самая большая ошибка (0,4).

Ответ: $\mathrm{MAE} = 0{,}2$,   $\mathrm{MSE} \approx 0{,}0667$

Что видно из примера

С дробями всё то же самое, только аккуратнее с квадратами: 0,2² = 0,04 и 0,4² = 0,16. MSE ≈ 0,0667 намного меньше MAE = 0,2 — все ошибки меньше 1.

Пример 10★☆☆

Один объект, n = 1

$y = (7)$,   $\hat y = (4)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 7-4\rvert = \lvert 3\rvert = 3\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{1}\lvert e_i\rvert = 3$$

3. MAE — делим сумму на $n = 1$:

$$\mathrm{MAE} = \frac{1}{1}\cdot 3 = 3$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (7-4)^2 = 3^2 = 9\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{1}e_i^2 = 9$$

6. MSE — делим сумму на $n = 1$:

$$\mathrm{MSE} = \frac{1}{1}\cdot 9 = 9$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
174339
Сумма39
Среднее (÷ 1)39
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(4-7)}{1} = -1\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(4-7)}{1} = -6\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = (-1)\\[4pt]\nabla\mathrm{MSE} = (-6)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±1: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 3$,   $\mathrm{MSE} = 9$

Что видно из примера

При n = 1 делить не на что: MAE — это просто модуль ошибки (3), а MSE — её квадрат (9).

Чем MAE отличается от MSE

Здесь примеры подобраны так, чтобы метрики «спорили»: одинаковая MAE и разная MSE, выброс, удвоение ошибок, среднее против медианы.

Пример 11★★☆

Одинаковая MAE — разная MSE

$y = (3;\ 5;\ 7;\ 9)$. Модель A: $\hat y = (4;\ 6;\ 6;\ 8)$; Модель B: $\hat y = (3;\ 5;\ 7;\ 5)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

Модель A

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 3-4\rvert = \lvert -1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 5-6\rvert = \lvert -1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 7-6\rvert = \lvert 1\rvert = 1\\\lvert e_{4}\rvert &= \lvert 9-8\rvert = \lvert 1\rvert = 1\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{4}\lvert e_i\rvert = 1 + 1 + 1 + 1 = 4$$

3. MAE — делим сумму на $n = 4$:

$$\mathrm{MAE} = \frac{1}{4}\cdot 4 = \frac{4}{4} = 1$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (3-4)^2 = (-1)^2 = 1\\e_{2}^2 &= (5-6)^2 = (-1)^2 = 1\\e_{3}^2 &= (7-6)^2 = 1^2 = 1\\e_{4}^2 &= (9-8)^2 = 1^2 = 1\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{4}e_i^2 = 1 + 1 + 1 + 1 = 4$$

6. MSE — делим сумму на $n = 4$:

$$\mathrm{MSE} = \frac{1}{4}\cdot 4 = \frac{4}{4} = 1$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
134−111
256−111
376111
498111
Сумма44
Среднее (÷ 4)11
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(4-3)}{4} = 0{,}25\\g_{2} &= \frac{\operatorname{sign}(6-5)}{4} = 0{,}25\\g_{3} &= \frac{\operatorname{sign}(6-7)}{4} = -0{,}25\\g_{4} &= \frac{\operatorname{sign}(8-9)}{4} = -0{,}25\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(4-3)}{4} = 0{,}5\\g_{2} &= \frac{2\cdot(6-5)}{4} = 0{,}5\\g_{3} &= \frac{2\cdot(6-7)}{4} = -0{,}5\\g_{4} &= \frac{2\cdot(8-9)}{4} = -0{,}5\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0{,}25\\0{,}25\\-0{,}25\\-0{,}25\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}0{,}5\\0{,}5\\-0{,}5\\-0{,}5\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Модель B

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 3-3\rvert = \lvert 0\rvert = 0\\\lvert e_{2}\rvert &= \lvert 5-5\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 7-7\rvert = \lvert 0\rvert = 0\\\lvert e_{4}\rvert &= \lvert 9-5\rvert = \lvert 4\rvert = 4\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{4}\lvert e_i\rvert = 0 + 0 + 0 + 4 = 4$$

3. MAE — делим сумму на $n = 4$:

$$\mathrm{MAE} = \frac{1}{4}\cdot 4 = \frac{4}{4} = 1$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (3-3)^2 = 0^2 = 0\\e_{2}^2 &= (5-5)^2 = 0^2 = 0\\e_{3}^2 &= (7-7)^2 = 0^2 = 0\\e_{4}^2 &= (9-5)^2 = 4^2 = 16\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{4}e_i^2 = 0 + 0 + 0 + 16 = 16$$

6. MSE — делим сумму на $n = 4$:

$$\mathrm{MSE} = \frac{1}{4}\cdot 16 = \frac{16}{4} = 4$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
133000
255000
377000
4954416
Сумма416
Среднее (÷ 4)14
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(3-3)}{4} = 0\\g_{2} &= \frac{\operatorname{sign}(5-5)}{4} = 0\\g_{3} &= \frac{\operatorname{sign}(7-7)}{4} = 0\\g_{4} &= \frac{\operatorname{sign}(5-9)}{4} = -0{,}25\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(3-3)}{4} = 0\\g_{2} &= \frac{2\cdot(5-5)}{4} = 0\\g_{3} &= \frac{2\cdot(7-7)}{4} = 0\\g_{4} &= \frac{2\cdot(5-9)}{4} = -2\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0\\0\\0\\-0{,}25\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}0\\0\\0\\-2\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Что говорят производные

Градиенты MSE показывают ту же разницу: у модели A все четыре сигнала по 0,5, у модели B весь сигнал −2 приходится на одну точку. У MAE сигнал этой точки всего −0,25 — как у любой другой ошибки.

Сравнение

MAEMSE
Модель A11
Модель B14

Ответ: Модель A: $\mathrm{MAE} = 1$,   $\mathrm{MSE} = 1$; Модель B: $\mathrm{MAE} = 1$,   $\mathrm{MSE} = 4$

Что видно из примера

У обеих моделей MAE = 1. Но A ошибается понемногу везде, а B точна в трёх точках и сильно промахивается в одной. MSE это различает: 1 у A против 4 у B. MSE «наказывает» крупные промахи.

Пример 12★★☆

Выброс

$y = (2;\ 3;\ 4;\ 20)$,   $\hat y = (3;\ 3;\ 3;\ 4)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 2-3\rvert = \lvert -1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 3-3\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 4-3\rvert = \lvert 1\rvert = 1\\\lvert e_{4}\rvert &= \lvert 20-4\rvert = \lvert 16\rvert = 16\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{4}\lvert e_i\rvert = 1 + 0 + 1 + 16 = 18$$

3. MAE — делим сумму на $n = 4$:

$$\mathrm{MAE} = \frac{1}{4}\cdot 18 = \frac{18}{4} = 4{,}5$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (2-3)^2 = (-1)^2 = 1\\e_{2}^2 &= (3-3)^2 = 0^2 = 0\\e_{3}^2 &= (4-3)^2 = 1^2 = 1\\e_{4}^2 &= (20-4)^2 = 16^2 = 256\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{4}e_i^2 = 1 + 0 + 1 + 256 = 258$$

6. MSE — делим сумму на $n = 4$:

$$\mathrm{MSE} = \frac{1}{4}\cdot 258 = \frac{258}{4} = 64{,}5$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
123−111
233000
343111
42041616256
Сумма18258
Среднее (÷ 4)4,564,5
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(3-2)}{4} = 0{,}25\\g_{2} &= \frac{\operatorname{sign}(3-3)}{4} = 0\\g_{3} &= \frac{\operatorname{sign}(3-4)}{4} = -0{,}25\\g_{4} &= \frac{\operatorname{sign}(4-20)}{4} = -0{,}25\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(3-2)}{4} = 0{,}5\\g_{2} &= \frac{2\cdot(3-3)}{4} = 0\\g_{3} &= \frac{2\cdot(3-4)}{4} = -0{,}5\\g_{4} &= \frac{2\cdot(4-20)}{4} = -8\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0{,}25\\0\\-0{,}25\\-0{,}25\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}0{,}5\\0\\-0{,}5\\-8\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. MSE сильнее всего тянет объект 4: его сигнал 8 по модулю — у него самая большая ошибка (16).

Что говорят производные

При обучении по MSE выброс получает сигнал −8 — в 16 раз сильнее, чем остальные точки (±0,5), и тянет модель на себя. По MAE его сигнал −0,25 — такой же, как у обычной ошибки. Поэтому при выбросах в данных обучают по MAE или по её гладкому родственнику — Huber.

Ответ: $\mathrm{MAE} = 4{,}5$,   $\mathrm{MSE} = 64{,}5$

Что видно из примера

Одна точка (y = 20) ушла далеко. В MAE её ошибка 16 даёт 16 из 18 в сумме, а в MSE — 256 из 258: почти вся метрика из одной точки. MSE очень чувствительна к выбросам, MAE — заметно спокойнее.

Пример 13★★☆

Ошибки вдвое больше

$y = (1;\ 2;\ 3)$. Модель A: $\hat y = (2;\ 3;\ 4)$; Модель B: $\hat y = (3;\ 4;\ 5)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

Модель A

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 1-2\rvert = \lvert -1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 2-3\rvert = \lvert -1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 3-4\rvert = \lvert -1\rvert = 1\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 1 + 1 + 1 = 3$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 3 = \frac{3}{3} = 1$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (1-2)^2 = (-1)^2 = 1\\e_{2}^2 &= (2-3)^2 = (-1)^2 = 1\\e_{3}^2 &= (3-4)^2 = (-1)^2 = 1\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 1 + 1 + 1 = 3$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 3 = \frac{3}{3} = 1$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
112−111
223−111
334−111
Сумма33
Среднее (÷ 3)11
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(2-1)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(3-2)}{3} \approx 0{,}33\\g_{3} &= \frac{\operatorname{sign}(4-3)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(2-1)}{3} \approx 0{,}67\\g_{2} &= \frac{2\cdot(3-2)}{3} \approx 0{,}67\\g_{3} &= \frac{2\cdot(4-3)}{3} \approx 0{,}67\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0{,}33;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (0{,}67;\ 0{,}67;\ 0{,}67)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Модель B

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 1-3\rvert = \lvert -2\rvert = 2\\\lvert e_{2}\rvert &= \lvert 2-4\rvert = \lvert -2\rvert = 2\\\lvert e_{3}\rvert &= \lvert 3-5\rvert = \lvert -2\rvert = 2\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 2 + 2 + 2 = 6$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 6 = \frac{6}{3} = 2$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (1-3)^2 = (-2)^2 = 4\\e_{2}^2 &= (2-4)^2 = (-2)^2 = 4\\e_{3}^2 &= (3-5)^2 = (-2)^2 = 4\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 4 + 4 + 4 = 12$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 12 = \frac{12}{3} = 4$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
113−224
224−224
335−224
Сумма612
Среднее (÷ 3)24
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(3-1)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(4-2)}{3} \approx 0{,}33\\g_{3} &= \frac{\operatorname{sign}(5-3)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(3-1)}{3} \approx 1{,}33\\g_{2} &= \frac{2\cdot(4-2)}{3} \approx 1{,}33\\g_{3} &= \frac{2\cdot(5-3)}{3} \approx 1{,}33\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0{,}33;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (1{,}33;\ 1{,}33;\ 1{,}33)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Что говорят производные

Удвоение ошибок удваивает и градиент MSE (0,67 → 1,33), а градиент MAE не меняется (0,33): он зависит только от знака ошибки.

Сравнение

MAEMSE
Модель A11
Модель B24

Ответ: Модель A: $\mathrm{MAE} = 1$,   $\mathrm{MSE} = 1$; Модель B: $\mathrm{MAE} = 2$,   $\mathrm{MSE} = 4$

Что видно из примера

Модель B ошибается вдвое сильнее A (на 2 вместо 1). MAE тоже растёт вдвое (1 → 2), а MSE — вчетверо (1 → 4): квадрат удвоенного числа в 4 раза больше.

Пример 14★★★

Одно число на всех: среднее или медиана?

$y = (2;\ 4;\ 9)$. Модель A: $\hat y = (5;\ 5;\ 5)$; Модель B: $\hat y = (4;\ 4;\ 4)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

Модель A

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 2-5\rvert = \lvert -3\rvert = 3\\\lvert e_{2}\rvert &= \lvert 4-5\rvert = \lvert -1\rvert = 1\\\lvert e_{3}\rvert &= \lvert 9-5\rvert = \lvert 4\rvert = 4\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 3 + 1 + 4 = 8$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 8 = \frac{8}{3} \approx 2{,}67$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (2-5)^2 = (-3)^2 = 9\\e_{2}^2 &= (4-5)^2 = (-1)^2 = 1\\e_{3}^2 &= (9-5)^2 = 4^2 = 16\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 9 + 1 + 16 = 26$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 26 = \frac{26}{3} \approx 8{,}67$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
125−339
245−111
3954416
Сумма826
Среднее (÷ 3)≈ 2,67≈ 8,67
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(5-2)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(5-4)}{3} \approx 0{,}33\\g_{3} &= \frac{\operatorname{sign}(5-9)}{3} \approx -0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(5-2)}{3} = 2\\g_{2} &= \frac{2\cdot(5-4)}{3} \approx 0{,}67\\g_{3} &= \frac{2\cdot(5-9)}{3} \approx -2{,}67\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0{,}33;\ -0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (2;\ 0{,}67;\ -2{,}67)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 2,67 по модулю — у него самая большая ошибка (4).

Модель B

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 2-4\rvert = \lvert -2\rvert = 2\\\lvert e_{2}\rvert &= \lvert 4-4\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 9-4\rvert = \lvert 5\rvert = 5\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 2 + 0 + 5 = 7$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 7 = \frac{7}{3} \approx 2{,}33$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (2-4)^2 = (-2)^2 = 4\\e_{2}^2 &= (4-4)^2 = 0^2 = 0\\e_{3}^2 &= (9-4)^2 = 5^2 = 25\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 4 + 0 + 25 = 29$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 29 = \frac{29}{3} \approx 9{,}67$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
124−224
244000
3945525
Сумма729
Среднее (÷ 3)≈ 2,33≈ 9,67
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(4-2)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(4-4)}{3} = 0\\g_{3} &= \frac{\operatorname{sign}(4-9)}{3} \approx -0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(4-2)}{3} \approx 1{,}33\\g_{2} &= \frac{2\cdot(4-4)}{3} = 0\\g_{3} &= \frac{2\cdot(4-9)}{3} \approx -3{,}33\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0;\ -0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (1{,}33;\ 0;\ -3{,}33)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 3,33 по модулю — у него самая большая ошибка (5).

Что говорят производные

Если модель — одно число $c$, производная по нему равна сумме компонент градиента. У MSE она равна нулю при $c = 5$ (среднее): $2 + 0{,}67 - 2{,}67 = 0$; у MAE — при $c = 4$ (медиана): $0{,}33 + 0 - 0{,}33 = 0$. Ноль производной — это минимум: вот почему лучшие константы — среднее и медиана.

Сравнение

MAEMSE
Модель A≈ 2,67≈ 8,67
Модель B≈ 2,33≈ 9,67

Ответ: Модель A: $\mathrm{MAE} \approx 2{,}67$,   $\mathrm{MSE} \approx 8{,}67$; Модель B: $\mathrm{MAE} \approx 2{,}33$,   $\mathrm{MSE} \approx 9{,}67$

Что видно из примера

Модель A всегда отвечает средним (2 + 4 + 9) / 3 = 5, модель B — медианой 4. По MAE лучше медиана (≈ 2,33 против ≈ 2,67), по MSE — среднее (≈ 8,67 против ≈ 9,67). Это общее правило: из всех констант MAE минимизирует медиана, а MSE — среднее.

Пример 15★★☆

Средняя ошибка со знаком обманывает

$y = (10;\ 10;\ 10;\ 10)$,   $\hat y = (15;\ 5;\ 15;\ 5)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 10-15\rvert = \lvert -5\rvert = 5\\\lvert e_{2}\rvert &= \lvert 10-5\rvert = \lvert 5\rvert = 5\\\lvert e_{3}\rvert &= \lvert 10-15\rvert = \lvert -5\rvert = 5\\\lvert e_{4}\rvert &= \lvert 10-5\rvert = \lvert 5\rvert = 5\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{4}\lvert e_i\rvert = 5 + 5 + 5 + 5 = 20$$

3. MAE — делим сумму на $n = 4$:

$$\mathrm{MAE} = \frac{1}{4}\cdot 20 = \frac{20}{4} = 5$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (10-15)^2 = (-5)^2 = 25\\e_{2}^2 &= (10-5)^2 = 5^2 = 25\\e_{3}^2 &= (10-15)^2 = (-5)^2 = 25\\e_{4}^2 &= (10-5)^2 = 5^2 = 25\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{4}e_i^2 = 25 + 25 + 25 + 25 = 100$$

6. MSE — делим сумму на $n = 4$:

$$\mathrm{MSE} = \frac{1}{4}\cdot 100 = \frac{100}{4} = 25$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
11015−5525
21055525
31015−5525
41055525
Сумма20100
Среднее (÷ 4)525
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(15-10)}{4} = 0{,}25\\g_{2} &= \frac{\operatorname{sign}(5-10)}{4} = -0{,}25\\g_{3} &= \frac{\operatorname{sign}(15-10)}{4} = 0{,}25\\g_{4} &= \frac{\operatorname{sign}(5-10)}{4} = -0{,}25\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(15-10)}{4} = 2{,}5\\g_{2} &= \frac{2\cdot(5-10)}{4} = -2{,}5\\g_{3} &= \frac{2\cdot(15-10)}{4} = 2{,}5\\g_{4} &= \frac{2\cdot(5-10)}{4} = -2{,}5\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} = \begin{pmatrix}0{,}25\\-0{,}25\\0{,}25\\-0{,}25\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} = \begin{pmatrix}2{,}5\\-2{,}5\\2{,}5\\-2{,}5\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Ответ: $\mathrm{MAE} = 5$,   $\mathrm{MSE} = 25$

Что видно из примера

Ошибки −5, +5, −5, +5 в сумме дают 0 — «в среднем модель не ошибается»? Нет: каждый прогноз мимо на 5. Поэтому в метриках берут модуль или квадрат: MAE = 5, MSE = 25.

Как в жизни

Единицы измерения, оценки, время доставки, задача «наоборот» и главный практический вопрос — какую модель выбрать.

Пример 16★★☆

Цены в тысячах: единицы измерения

$y = (100;\ 150;\ 200)$,   $\hat y = (110;\ 140;\ 230)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 100-110\rvert = \lvert -10\rvert = 10\\\lvert e_{2}\rvert &= \lvert 150-140\rvert = \lvert 10\rvert = 10\\\lvert e_{3}\rvert &= \lvert 200-230\rvert = \lvert -30\rvert = 30\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 10 + 10 + 30 = 50$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 50 = \frac{50}{3} \approx 16{,}67$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (100-110)^2 = (-10)^2 = 100\\e_{2}^2 &= (150-140)^2 = 10^2 = 100\\e_{3}^2 &= (200-230)^2 = (-30)^2 = 900\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 100 + 100 + 900 = 1100$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 1100 = \frac{1100}{3} \approx 366{,}67$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
1100110−1010100
21501401010100
3200230−3030900
Сумма501100
Среднее (÷ 3)≈ 16,67≈ 366,67
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(110-100)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(140-150)}{3} \approx -0{,}33\\g_{3} &= \frac{\operatorname{sign}(230-200)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(110-100)}{3} \approx 6{,}67\\g_{2} &= \frac{2\cdot(140-150)}{3} \approx -6{,}67\\g_{3} &= \frac{2\cdot(230-200)}{3} = 20\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ -0{,}33;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (6{,}67;\ -6{,}67;\ 20)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 20 по модулю — у него самая большая ошибка (30).

Ответ: $\mathrm{MAE} \approx 16{,}67$,   $\mathrm{MSE} \approx 366{,}67$

Что видно из примера

Цены в тысячах долларов. MAE ≈ 16,67 — тоже в тысячах: «в среднем ошибаемся на 16,7 тыс.». MSE ≈ 366,67 измеряется в «тысячах в квадрате» — такую величину трудно объяснить заказчику. Поэтому рядом часто считают RMSE = √MSE ≈ 19,15 тыс.

Пример 17★★☆

Оценки шести учеников

$y = (5;\ 4;\ 3;\ 5;\ 4;\ 2)$,   $\hat y = (4;\ 4;\ 4;\ 4;\ 4;\ 4)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 5-4\rvert = \lvert 1\rvert = 1\\\lvert e_{2}\rvert &= \lvert 4-4\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 3-4\rvert = \lvert -1\rvert = 1\\\lvert e_{4}\rvert &= \lvert 5-4\rvert = \lvert 1\rvert = 1\\\lvert e_{5}\rvert &= \lvert 4-4\rvert = \lvert 0\rvert = 0\\\lvert e_{6}\rvert &= \lvert 2-4\rvert = \lvert -2\rvert = 2\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{6}\lvert e_i\rvert = 1 + 0 + 1 + 1 + 0 + 2 = 5$$

3. MAE — делим сумму на $n = 6$:

$$\mathrm{MAE} = \frac{1}{6}\cdot 5 = \frac{5}{6} \approx 0{,}83$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (5-4)^2 = 1^2 = 1\\e_{2}^2 &= (4-4)^2 = 0^2 = 0\\e_{3}^2 &= (3-4)^2 = (-1)^2 = 1\\e_{4}^2 &= (5-4)^2 = 1^2 = 1\\e_{5}^2 &= (4-4)^2 = 0^2 = 0\\e_{6}^2 &= (2-4)^2 = (-2)^2 = 4\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{6}e_i^2 = 1 + 0 + 1 + 1 + 0 + 4 = 7$$

6. MSE — делим сумму на $n = 6$:

$$\mathrm{MSE} = \frac{1}{6}\cdot 7 = \frac{7}{6} \approx 1{,}17$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
154111
244000
334−111
454111
544000
624−224
Сумма57
Среднее (÷ 6)≈ 0,83≈ 1,17
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(4-5)}{6} \approx -0{,}17\\g_{2} &= \frac{\operatorname{sign}(4-4)}{6} = 0\\g_{3} &= \frac{\operatorname{sign}(4-3)}{6} \approx 0{,}17\\g_{4} &= \frac{\operatorname{sign}(4-5)}{6} \approx -0{,}17\\g_{5} &= \frac{\operatorname{sign}(4-4)}{6} = 0\\g_{6} &= \frac{\operatorname{sign}(4-2)}{6} \approx 0{,}17\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(4-5)}{6} \approx -0{,}33\\g_{2} &= \frac{2\cdot(4-4)}{6} = 0\\g_{3} &= \frac{2\cdot(4-3)}{6} \approx 0{,}33\\g_{4} &= \frac{2\cdot(4-5)}{6} \approx -0{,}33\\g_{5} &= \frac{2\cdot(4-4)}{6} = 0\\g_{6} &= \frac{2\cdot(4-2)}{6} \approx 0{,}67\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx \begin{pmatrix}-0{,}17\\0\\0{,}17\\-0{,}17\\0\\0{,}17\end{pmatrix}\\[8pt]\nabla\mathrm{MSE} \approx \begin{pmatrix}-0{,}33\\0\\0{,}33\\-0{,}33\\0\\0{,}67\end{pmatrix}\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,17: важно только направление ошибки. MSE сильнее всего тянет объект 6: его сигнал 0,67 по модулю — у него самая большая ошибка (2).

Ответ: $\mathrm{MAE} \approx 0{,}83$,   $\mathrm{MSE} \approx 1{,}17$

Что видно из примера

Модель всем ставит «4». Ошибается на 1 у троих и на 2 у одного: MAE = 5 / 6 ≈ 0,83 балла. В MSE ошибка 2 даёт 4 из 7, поэтому MSE ≈ 1,17 заметно больше MAE.

Пример 18★★☆

Время доставки в минутах

$y = (30;\ 45;\ 60)$,   $\hat y = (35;\ 45;\ 50)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 30-35\rvert = \lvert -5\rvert = 5\\\lvert e_{2}\rvert &= \lvert 45-45\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 60-50\rvert = \lvert 10\rvert = 10\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 5 + 0 + 10 = 15$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 15 = \frac{15}{3} = 5$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (30-35)^2 = (-5)^2 = 25\\e_{2}^2 &= (45-45)^2 = 0^2 = 0\\e_{3}^2 &= (60-50)^2 = 10^2 = 100\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 25 + 0 + 100 = 125$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 125 = \frac{125}{3} \approx 41{,}67$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
13035−5525
24545000
360501010100
Сумма15125
Среднее (÷ 3)5≈ 41,67
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(35-30)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(45-45)}{3} = 0\\g_{3} &= \frac{\operatorname{sign}(50-60)}{3} \approx -0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(35-30)}{3} \approx 3{,}33\\g_{2} &= \frac{2\cdot(45-45)}{3} = 0\\g_{3} &= \frac{2\cdot(50-60)}{3} \approx -6{,}67\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ 0;\ -0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (3{,}33;\ 0;\ -6{,}67)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 6,67 по модулю — у него самая большая ошибка (10).

Ответ: $\mathrm{MAE} = 5$,   $\mathrm{MSE} \approx 41{,}67$

Что видно из примера

MAE = 5 минут — понятный ответ для клиента: «в среднем курьер опаздывает или приезжает раньше на 5 минут». MSE ≈ 41,67 «минут в квадрате» удобна для обучения модели, но не для объяснения.

Пример 19★★★

Задача наоборот: найдите прогноз

Известно: $y = (4;\ 6)$, первый прогноз $\hat y_1 = 5$, а $\mathrm{MAE} = 1$. Найдите второй прогноз $\hat y_2$ и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

1. Запишем MAE для $n = 2$ и подставим известное:

$$\frac{1}{2}\bigl(|4-5| + |6-\hat y_2|\bigr) = 1$$

2. Умножаем обе части на 2 и переносим известный модуль:

$$\begin{aligned}1 + |6-\hat y_2| &= 2\\|6-\hat y_2| &= 1\end{aligned}$$

3. Модуль равен 1, значит выражение под ним равно $1$ или $-1$:

$$\begin{aligned}6-\hat y_2 = 1 &\Rightarrow \hat y_2 = 5\\6-\hat y_2 = -1 &\Rightarrow \hat y_2 = 7\end{aligned}$$

4. Проверим MSE для обоих ответов — она одна и та же:

$$\begin{aligned}\hat y_2 = 5:\quad \mathrm{MSE} = \frac{1 + 1}{2} = 1\\\hat y_2 = 7:\quad \mathrm{MSE} = \frac{1 + 1}{2} = 1\end{aligned}$$

Ответ: $\hat y_2 = 5$ или $\hat y_2 = 7$; MSE = 1.

Что видно из примера

Задачу «наоборот» решают тем же рецептом: записать формулу, подставить известное и найти неизвестное. Модуль даёт два ответа — прогноз мог ошибиться вверх или вниз.

Пример 20★★★

Какая модель лучше?

$y = (10;\ 20;\ 30)$. Модель A: $\hat y = (12;\ 18;\ 33)$; Модель B: $\hat y = (10;\ 20;\ 36)$. Найдите MAE и MSE.

Попробуйте сначала решить сами — потом откройте разбор.

Разбор и ответ

Модель A

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 10-12\rvert = \lvert -2\rvert = 2\\\lvert e_{2}\rvert &= \lvert 20-18\rvert = \lvert 2\rvert = 2\\\lvert e_{3}\rvert &= \lvert 30-33\rvert = \lvert -3\rvert = 3\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 2 + 2 + 3 = 7$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 7 = \frac{7}{3} \approx 2{,}33$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (10-12)^2 = (-2)^2 = 4\\e_{2}^2 &= (20-18)^2 = 2^2 = 4\\e_{3}^2 &= (30-33)^2 = (-3)^2 = 9\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 4 + 4 + 9 = 17$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 17 = \frac{17}{3} \approx 5{,}67$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
11012−224
22018224
33033−339
Сумма717
Среднее (÷ 3)≈ 2,33≈ 5,67
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(12-10)}{3} \approx 0{,}33\\g_{2} &= \frac{\operatorname{sign}(18-20)}{3} \approx -0{,}33\\g_{3} &= \frac{\operatorname{sign}(33-30)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(12-10)}{3} \approx 1{,}33\\g_{2} &= \frac{2\cdot(18-20)}{3} \approx -1{,}33\\g_{3} &= \frac{2\cdot(33-30)}{3} = 2\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0{,}33;\ -0{,}33;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} \approx (1{,}33;\ -1{,}33;\ 2)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 2 по модулю — у него самая большая ошибка (3).

Модель B

1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:

$$\begin{aligned}\lvert e_{1}\rvert &= \lvert 10-10\rvert = \lvert 0\rvert = 0\\\lvert e_{2}\rvert &= \lvert 20-20\rvert = \lvert 0\rvert = 0\\\lvert e_{3}\rvert &= \lvert 30-36\rvert = \lvert -6\rvert = 6\end{aligned}$$

2. Сумма модулей:

$$\sum_{i=1}^{3}\lvert e_i\rvert = 0 + 0 + 6 = 6$$

3. MAE — делим сумму на $n = 3$:

$$\mathrm{MAE} = \frac{1}{3}\cdot 6 = \frac{6}{3} = 2$$

4. Квадрат каждой ошибки:

$$\begin{aligned}e_{1}^2 &= (10-10)^2 = 0^2 = 0\\e_{2}^2 &= (20-20)^2 = 0^2 = 0\\e_{3}^2 &= (30-36)^2 = (-6)^2 = 36\end{aligned}$$

5. Сумма квадратов:

$$\sum_{i=1}^{3}e_i^2 = 0 + 0 + 36 = 36$$

6. MSE — делим сумму на $n = 3$:

$$\mathrm{MSE} = \frac{1}{3}\cdot 36 = \frac{36}{3} = 12$$
$i$$y_i$$\hat y_i$$e_i$$|e_i|$$e_i^2$
11010000
22020000
33036−6636
Сумма636
Среднее (÷ 3)212
Производные для обратного распространения

7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{\operatorname{sign}(10-10)}{3} = 0\\g_{2} &= \frac{\operatorname{sign}(20-20)}{3} = 0\\g_{3} &= \frac{\operatorname{sign}(36-30)}{3} \approx 0{,}33\end{aligned}$$

8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:

$$\begin{aligned}g_{1} &= \frac{2\cdot(10-10)}{3} = 0\\g_{2} &= \frac{2\cdot(20-20)}{3} = 0\\g_{3} &= \frac{2\cdot(36-30)}{3} = 4\end{aligned}$$

Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):

$$\begin{gathered}\nabla\mathrm{MAE} \approx (0;\ 0;\ 0{,}33)\\[4pt]\nabla\mathrm{MSE} = (0;\ 0;\ 4)\end{gathered}$$

MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.

Сравнение

MAEMSE
Модель A≈ 2,33≈ 5,67
Модель B212

Ответ: Модель A: $\mathrm{MAE} \approx 2{,}33$,   $\mathrm{MSE} \approx 5{,}67$; Модель B: $\mathrm{MAE} = 2$,   $\mathrm{MSE} = 12$

Что видно из примера

По MAE лучше B (2 против ≈ 2,33): она точна в двух точках из трёх. По MSE лучше A (≈ 5,67 против 12): у неё нет крупного промаха. Ответ зависит от задачи: если редкие большие ошибки опасны (например, прогноз нагрузки на мост), выбирайте по MSE; если важна типичная ошибка — по MAE.

От прогноза к весам: цепное правило

Возьмём самый простой нейрон без функции активации: $\hat y_i = w\,x_i + b$. Входы $x = (1;\ 2;\ 3)$, правильные ответы $y = (3;\ 5;\ 8)$, текущие веса $w = 2$, $b = 0$ — значит, прогнозы $\hat y = (2;\ 4;\ 6)$. Как градиент по прогнозам превращается в градиент по весам?

Каждый прогноз зависит от $w$ через множитель $x_i$, а от $b$ — с множителем $1$: $\frac{\partial \hat y_i}{\partial w} = x_i$, $\frac{\partial \hat y_i}{\partial b} = 1$. По цепному правилу:

$$\begin{aligned}\frac{\partial L}{\partial w} &= \sum_{i=1}^{n} \frac{\partial L}{\partial \hat y_i}\cdot\frac{\partial \hat y_i}{\partial w} = \sum_{i=1}^{n} g_i\,x_i\\ \frac{\partial L}{\partial b} &= \sum_{i=1}^{n} g_i\end{aligned}$$

По MSE

Градиент по прогнозам:

$$\nabla_{\hat y}\mathrm{MSE} \approx (-0{,}67;\ -0{,}67;\ -1{,}33)$$

Градиент по весам:

$$\begin{aligned}\frac{\partial\,\mathrm{MSE}}{\partial w} &= (-\tfrac{2}{3})\cdot 1 + (-\tfrac{2}{3})\cdot 2\\ &\quad + (-\tfrac{4}{3})\cdot 3 = -6\\[6pt]\frac{\partial\,\mathrm{MSE}}{\partial b} &= (-\tfrac{2}{3}) + (-\tfrac{2}{3}) + (-\tfrac{4}{3})\\ &= -\frac{8}{3} \approx -2{,}67\end{aligned}$$

Шаг спуска с $\eta = 0{,}1$:

$$\begin{aligned}w &\leftarrow 2 - 0{,}1\cdot (-6) = 2{,}6\\b &\leftarrow 0 - 0{,}1\cdot (-\tfrac{8}{3}) = \tfrac{4}{15} \approx 0{,}27\end{aligned}$$

Потеря после шага: MSE 2 → 0,08.

По MAE

Градиент по прогнозам:

$$\nabla_{\hat y}\mathrm{MAE} \approx (-0{,}33;\ -0{,}33;\ -0{,}33)$$

Градиент по весам:

$$\begin{aligned}\frac{\partial\,\mathrm{MAE}}{\partial w} &= (-\tfrac{1}{3})\cdot 1 + (-\tfrac{1}{3})\cdot 2\\ &\quad + (-\tfrac{1}{3})\cdot 3 = -2\\[6pt]\frac{\partial\,\mathrm{MAE}}{\partial b} &= (-\tfrac{1}{3}) + (-\tfrac{1}{3}) + (-\tfrac{1}{3})\\ &= -1\end{aligned}$$

Шаг спуска с $\eta = 0{,}1$:

$$\begin{aligned}w &\leftarrow 2 - 0{,}1\cdot (-2) = 2{,}2\\b &\leftarrow 0 - 0{,}1\cdot (-1) = 0{,}1\end{aligned}$$

Потеря после шага: MAE ≈ 1,33 → ≈ 0,83.

У MSE производная по $w$ равна −6, у MAE — −2: третий объект ошибается на 2, и MSE «кричит» громче — шаг получается больше. Так один и тот же сигнал ошибки от потери уходит назад к весам; в глубокой сети цепочка просто длиннее: сигнал умножается на производные каждого слоя.

Посчитайте свой пример

Введите правильные ответы $y$ и прогнозы $\hat y$ — калькулятор распишет решение по тем же шагам — вместе с производными для обратного распространения. Числа разделяйте точкой с запятой или пробелом; дробную часть — запятой или точкой.

Подставить:

Частые ошибки

  • Забыли модуль. Ошибки −2 и +2 «сократились» в ноль — а модель ошибалась оба раза (примеры 5 и 15).
  • Возвели в квадрат минус неправильно. $(-3)^2 = 9$, а не $-9$: квадрат любого числа не отрицателен (пример 8).
  • Разделили не на то $n$. Делим на число объектов, а не на число ненулевых ошибок (пример 7).
  • Усреднили, а потом возвели в квадрат. MSE — среднее квадратов, а не квадрат среднего: для ошибок −5 и +5 MSE = 25, а «квадрат средней ошибки» был бы 0.
  • Сравнили MAE с MSE «по величине». У них разные единицы: при ошибках меньше 1 MSE меньше MAE, при больших — больше (примеры 6 и 3).
  • Перепутали порядок вычитания. Не страшно: $|y - \hat y| = |\hat y - y|$ и $(y - \hat y)^2 = (\hat y - y)^2$. Но ошибку со знаком принято считать как $y_i - \hat y_i$.
  • Перепутали знак производной. $\frac{\partial}{\partial \hat y_i}(y_i - \hat y_i)^2 = 2(y_i - \hat y_i)\cdot(-1) = 2(\hat y_i - y_i)$: внутренняя производная даёт минус. С неверным знаком спуск пойдёт вверх, и потеря будет расти.
  • Забыли множитель $\tfrac{2}{n}$ или $\tfrac{1}{n}$. Направление от этого не меняется, но шаг выйдет в $n$ (или $2n$) раз больше — а с ним меняется и подходящий темп обучения.
  • Ищут производную MAE в нуле. Её там нет: у модуля излом. Берут субградиент — обычно $0$, как в PyTorch.

Итоги

MAEMSE
Формула$\tfrac{1}{n}\sum |e_i|$$\tfrac{1}{n}\sum e_i^2$
Единицыте же, что у $y$единицы $y$ в квадрате
Большие ошибкиучитывает как естьусиливает: ошибка ×2 → вклад ×4
Выбросыустойчивачувствительна
Лучшая константамедианасреднее
Когда выбиратьважна типичная ошибка, есть выбросыкрупные промахи особенно опасны
Производная по $\hat y_i$$-\tfrac{1}{n}\operatorname{sign} e_i$$-\tfrac{2}{n}\,e_i$
Сила сигналаодинакова: $\pm\tfrac{1}{n}$растёт вместе с ошибкой
  • Рецепт один: ошибки → модули или квадраты → сумма → деление на $n$.
  • Модуль и квадрат убирают знак, поэтому промахи вверх и вниз не гасят друг друга.
  • MSE «наказывает» большие ошибки, MAE — нет; одна и та же модель может быть лучше по одной метрике и хуже по другой.
  • Для обратного распространения нужна производная потери по прогнозу: у MSE $\tfrac{2}{n}(\hat y_i - y_i)$, у MAE $\tfrac{1}{n}\operatorname{sign}(\hat y_i - y_i)$. Дальше её умножают на производные слоёв по цепному правилу.
  • Подробная теория — на страницах MAE, MSE и RMSE шпаргалки.

Проверь себя

1. $y = (2;\ 4)$, $\hat y = (3;\ 1)$. Чему равна MAE?
2. Для тех же чисел чему равна MSE?
3. Все ошибки увеличили втрое. Во сколько раз вырастет MSE?
4. Какое одно число $c$ минимизирует MAE для данных $(1;\ 2;\ 10)$?
5. Ошибки модели: $0{,}1;\ 0{,}2;\ 0{,}3$. Что больше?
6. $y = (2;\ 4)$, $\hat y = (3;\ 1)$. Чему равен градиент MSE по прогнозам?
7. Для тех же чисел чему равен градиент MAE?
8. Ошибка одного объекта выросла с 1 до 10. Как изменится его компонента градиента MAE?

← Материалы