Как читать формулы
Обе метрики отвечают на вопрос «насколько модель ошибается?». Есть $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$
Рецепт из четырёх шагов
- Выпишите пары $(y_i,\ \hat y_i)$ и посчитайте ошибки $e_i = y_i - \hat y_i$.
- Для MAE возьмите модуль каждой ошибки $|e_i|$, для MSE — квадрат $e_i^2$.
- Сложите все модули (или все квадраты).
- Разделите сумму на $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
Из всей суммы от $\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
Производная модуля $|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 |
|---|---|---|---|---|
| 1 | 3 | 2,5 | ≈ −0,33 | ≈ −0,33 |
| 2 | 5 | 5 | 0 | 0 |
| 3 | 8 | 10 | ≈ 0,33 | ≈ 1,33 |
Сделаем один шаг спуска прямо по прогнозам с $\eta = 0{,}3$ — сначала по градиенту MSE, потом по градиенту MAE:
Обе метрики уменьшились: MSE ≈ 1,42 → ≈ 0,91, MAE ≈ 0,83 → ≈ 0,77. Сильнее всего MSE сдвинула третий прогноз — тот, где ошибка больше всего.
В настоящей сети прогнозы не двигают напрямую — двигают веса. Градиент по прогнозам — это сигнал, который уходит назад к весам; как именно, показано в разделе «От прогноза к весам». В каждом примере ниже производные расписаны в блоке «Производные для обратного распространения».
Пример с доски
Начнём с примера, разобранного на уроке: три объекта, три прогноза. Каждый шаг ниже — ровно то, что написано на доске, только подробнее.
Пример с доски
$y = (3;\ 5;\ 8)$, $\hat y = (2{,}5;\ 5;\ 10)$. Найдите MAE и MSE.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 3 | 2,5 | 0,5 | 0,5 | 0,25 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 8 | 10 | −2 | 2 | 4 |
| Сумма | 2,5 | 4,25 | |||
| Среднее (÷ 3) | ≈ 0,83 | ≈ 1,42 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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 и перетягивает среднее на себя.
Разминка
Простые наборы чисел, чтобы рецепт стал привычным. Первая задача раскрыта, остальные попробуйте решить сами.
Идеальный прогноз
$y = (2;\ 4;\ 6)$, $\hat y = (2;\ 4;\ 6)$. Найдите MAE и MSE.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 2 | 2 | 0 | 0 | 0 |
| 2 | 4 | 4 | 0 | 0 | 0 |
| 3 | 6 | 6 | 0 | 0 | 0 |
| Сумма | 0 | 0 | |||
| Среднее (÷ 3) | 0 | 0 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
Все производные равны нулю: прогноз уже идеален, обратному распространению нечего исправлять.
Ответ: $\mathrm{MAE} = 0$, $\mathrm{MSE} = 0$
Все ошибки равны нулю, значит MAE = 0 и MSE = 0. Меньше нуля обе метрики не бывают: модуль и квадрат не отрицательны.
Ошибка только в одной точке
$y = (1;\ 2;\ 3;\ 4)$, $\hat y = (1;\ 2;\ 3;\ 6)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 4$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 4$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 1 | 1 | 0 | 0 | 0 |
| 2 | 2 | 2 | 0 | 0 | 0 |
| 3 | 3 | 3 | 0 | 0 | 0 |
| 4 | 4 | 6 | −2 | 2 | 4 |
| Сумма | 2 | 4 | |||
| Среднее (÷ 4) | 0,5 | 1 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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.
Одинаковая ошибка везде
$y = (5;\ 7;\ 9)$, $\hat y = (6;\ 8;\ 10)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 5 | 6 | −1 | 1 | 1 |
| 2 | 7 | 8 | −1 | 1 | 1 |
| 3 | 9 | 10 | −1 | 1 | 1 |
| Сумма | 3 | 3 | |||
| Среднее (÷ 3) | 1 | 1 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Ответ: $\mathrm{MAE} = 1$, $\mathrm{MSE} = 1$
Модель везде завышает на 1. Если все |eᵢ| одинаковы и равны a, то MAE = a, а MSE = a². Здесь a = 1, поэтому обе метрики равны 1.
Знак ошибки не важен
$y = (10;\ 20)$, $\hat y = (12;\ 18)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 2$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 2$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 10 | 12 | −2 | 2 | 4 |
| 2 | 20 | 18 | 2 | 2 | 4 |
| Сумма | 4 | 8 | |||
| Среднее (÷ 2) | 2 | 4 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,5: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Ответ: $\mathrm{MAE} = 2$, $\mathrm{MSE} = 4$
Первая ошибка −2 (модель завысила), вторая +2 (занизила). Модуль и квадрат убирают знак: обе ошибки дают 2 в MAE и 4 в MSE. Промахи вверх и вниз не гасят друг друга.
Ошибки меньше единицы
$y = (1;\ 1)$, $\hat y = (1{,}5;\ 0{,}5)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 2$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 2$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 1 | 1,5 | −0,5 | 0,5 | 0,25 |
| 2 | 1 | 0,5 | 0,5 | 0,5 | 0,25 |
| Сумма | 1 | 0,5 | |||
| Среднее (÷ 2) | 0,5 | 0,25 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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 по величине бессмысленно — у них разные единицы и разный характер.
Пять объектов — делим на 5
$y = (2;\ 4;\ 6;\ 8;\ 10)$, $\hat y = (3;\ 3;\ 7;\ 7;\ 10)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 5$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 5$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 2 | 3 | −1 | 1 | 1 |
| 2 | 4 | 3 | 1 | 1 | 1 |
| 3 | 6 | 7 | −1 | 1 | 1 |
| 4 | 8 | 7 | 1 | 1 | 1 |
| 5 | 10 | 10 | 0 | 0 | 0 |
| Сумма | 4 | 4 | |||
| Среднее (÷ 5) | 0,8 | 0,8 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,2: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Ответ: $\mathrm{MAE} = 0{,}8$, $\mathrm{MSE} = 0{,}8$
Делим всегда на число объектов n, а не на число ненулевых ошибок: ошибок четыре, но объектов пять, поэтому MAE = 4 / 5 = 0,8.
Отрицательные числа, дроби и один объект
Тот же рецепт, но числа хитрее: минусы, запятые и случай, когда объект всего один.
Отрицательные числа: температура
$y = (-2;\ 0;\ 3)$, $\hat y = (1;\ -1;\ 3)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | −2 | 1 | −3 | 3 | 9 |
| 2 | 0 | −1 | 1 | 1 | 1 |
| 3 | 3 | 3 | 0 | 0 | 0 |
| Сумма | 4 | 10 | |||
| Среднее (÷ 3) | ≈ 1,33 | ≈ 3,33 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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. Модуль и квадрат всегда дают неотрицательный результат.
Десятичные дроби
$y = (1{,}2;\ 2{,}5;\ 3{,}1)$, $\hat y = (1;\ 2{,}9;\ 3{,}1)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 1,2 | 1 | 0,2 | 0,2 | 0,04 |
| 2 | 2,5 | 2,9 | −0,4 | 0,4 | 0,16 |
| 3 | 3,1 | 3,1 | 0 | 0 | 0 |
| Сумма | 0,6 | 0,2 | |||
| Среднее (÷ 3) | 0,2 | ≈ 0,0667 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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.
Один объект, n = 1
$y = (7)$, $\hat y = (4)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 1$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 1$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 7 | 4 | 3 | 3 | 9 |
| Сумма | 3 | 9 | |||
| Среднее (÷ 1) | 3 | 9 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±1: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Ответ: $\mathrm{MAE} = 3$, $\mathrm{MSE} = 9$
При n = 1 делить не на что: MAE — это просто модуль ошибки (3), а MSE — её квадрат (9).
Чем MAE отличается от MSE
Здесь примеры подобраны так, чтобы метрики «спорили»: одинаковая MAE и разная MSE, выброс, удвоение ошибок, среднее против медианы.
Одинаковая 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$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 4$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 4$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 3 | 4 | −1 | 1 | 1 |
| 2 | 5 | 6 | −1 | 1 | 1 |
| 3 | 7 | 6 | 1 | 1 | 1 |
| 4 | 9 | 8 | 1 | 1 | 1 |
| Сумма | 4 | 4 | |||
| Среднее (÷ 4) | 1 | 1 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Модель B
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 4$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 4$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 3 | 3 | 0 | 0 | 0 |
| 2 | 5 | 5 | 0 | 0 | 0 |
| 3 | 7 | 7 | 0 | 0 | 0 |
| 4 | 9 | 5 | 4 | 4 | 16 |
| Сумма | 4 | 16 | |||
| Среднее (÷ 4) | 1 | 4 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Градиенты MSE показывают ту же разницу: у модели A все четыре сигнала по 0,5, у модели B весь сигнал −2 приходится на одну точку. У MAE сигнал этой точки всего −0,25 — как у любой другой ошибки.
Сравнение
| MAE | MSE | |
|---|---|---|
| Модель A | 1 | 1 |
| Модель B | 1 | 4 |
Ответ: Модель A: $\mathrm{MAE} = 1$, $\mathrm{MSE} = 1$; Модель B: $\mathrm{MAE} = 1$, $\mathrm{MSE} = 4$
У обеих моделей MAE = 1. Но A ошибается понемногу везде, а B точна в трёх точках и сильно промахивается в одной. MSE это различает: 1 у A против 4 у B. MSE «наказывает» крупные промахи.
Выброс
$y = (2;\ 3;\ 4;\ 20)$, $\hat y = (3;\ 3;\ 3;\ 4)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 4$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 4$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 2 | 3 | −1 | 1 | 1 |
| 2 | 3 | 3 | 0 | 0 | 0 |
| 3 | 4 | 3 | 1 | 1 | 1 |
| 4 | 20 | 4 | 16 | 16 | 256 |
| Сумма | 18 | 258 | |||
| Среднее (÷ 4) | 4,5 | 64,5 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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 — заметно спокойнее.
Ошибки вдвое больше
$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$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 1 | 2 | −1 | 1 | 1 |
| 2 | 2 | 3 | −1 | 1 | 1 |
| 3 | 3 | 4 | −1 | 1 | 1 |
| Сумма | 3 | 3 | |||
| Среднее (÷ 3) | 1 | 1 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Модель B
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 1 | 3 | −2 | 2 | 4 |
| 2 | 2 | 4 | −2 | 2 | 4 |
| 3 | 3 | 5 | −2 | 2 | 4 |
| Сумма | 6 | 12 | |||
| Среднее (÷ 3) | 2 | 4 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Удвоение ошибок удваивает и градиент MSE (0,67 → 1,33), а градиент MAE не меняется (0,33): он зависит только от знака ошибки.
Сравнение
| MAE | MSE | |
|---|---|---|
| Модель A | 1 | 1 |
| Модель B | 2 | 4 |
Ответ: Модель 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 раза больше.
Одно число на всех: среднее или медиана?
$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$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 2 | 5 | −3 | 3 | 9 |
| 2 | 4 | 5 | −1 | 1 | 1 |
| 3 | 9 | 5 | 4 | 4 | 16 |
| Сумма | 8 | 26 | |||
| Среднее (÷ 3) | ≈ 2,67 | ≈ 8,67 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 2,67 по модулю — у него самая большая ошибка (4).
Модель B
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 2 | 4 | −2 | 2 | 4 |
| 2 | 4 | 4 | 0 | 0 | 0 |
| 3 | 9 | 4 | 5 | 5 | 25 |
| Сумма | 7 | 29 | |||
| Среднее (÷ 3) | ≈ 2,33 | ≈ 9,67 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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$. Ноль производной — это минимум: вот почему лучшие константы — среднее и медиана.
Сравнение
| MAE | MSE | |
|---|---|---|
| Модель 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 — среднее.
Средняя ошибка со знаком обманывает
$y = (10;\ 10;\ 10;\ 10)$, $\hat y = (15;\ 5;\ 15;\ 5)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 4$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 4$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 10 | 15 | −5 | 5 | 25 |
| 2 | 10 | 5 | 5 | 5 | 25 |
| 3 | 10 | 15 | −5 | 5 | 25 |
| 4 | 10 | 5 | 5 | 5 | 25 |
| Сумма | 20 | 100 | |||
| Среднее (÷ 4) | 5 | 25 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,25: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Ответ: $\mathrm{MAE} = 5$, $\mathrm{MSE} = 25$
Ошибки −5, +5, −5, +5 в сумме дают 0 — «в среднем модель не ошибается»? Нет: каждый прогноз мимо на 5. Поэтому в метриках берут модуль или квадрат: MAE = 5, MSE = 25.
Как в жизни
Единицы измерения, оценки, время доставки, задача «наоборот» и главный практический вопрос — какую модель выбрать.
Цены в тысячах: единицы измерения
$y = (100;\ 150;\ 200)$, $\hat y = (110;\ 140;\ 230)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 100 | 110 | −10 | 10 | 100 |
| 2 | 150 | 140 | 10 | 10 | 100 |
| 3 | 200 | 230 | −30 | 30 | 900 |
| Сумма | 50 | 1100 | |||
| Среднее (÷ 3) | ≈ 16,67 | ≈ 366,67 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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 тыс.
Оценки шести учеников
$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$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 6$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 6$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 5 | 4 | 1 | 1 | 1 |
| 2 | 4 | 4 | 0 | 0 | 0 |
| 3 | 3 | 4 | −1 | 1 | 1 |
| 4 | 5 | 4 | 1 | 1 | 1 |
| 5 | 4 | 4 | 0 | 0 | 0 |
| 6 | 2 | 4 | −2 | 2 | 4 |
| Сумма | 5 | 7 | |||
| Среднее (÷ 6) | ≈ 0,83 | ≈ 1,17 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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.
Время доставки в минутах
$y = (30;\ 45;\ 60)$, $\hat y = (35;\ 45;\ 50)$. Найдите MAE и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 30 | 35 | −5 | 5 | 25 |
| 2 | 45 | 45 | 0 | 0 | 0 |
| 3 | 60 | 50 | 10 | 10 | 100 |
| Сумма | 15 | 125 | |||
| Среднее (÷ 3) | 5 | ≈ 41,67 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
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 «минут в квадрате» удобна для обучения модели, но не для объяснения.
Задача наоборот: найдите прогноз
Известно: $y = (4;\ 6)$, первый прогноз $\hat y_1 = 5$, а $\mathrm{MAE} = 1$. Найдите второй прогноз $\hat y_2$ и MSE.
Попробуйте сначала решить сами — потом откройте разбор.
Разбор и ответ
1. Запишем MAE для $n = 2$ и подставим известное:
2. Умножаем обе части на 2 и переносим известный модуль:
3. Модуль равен 1, значит выражение под ним равно $1$ или $-1$:
4. Проверим MSE для обоих ответов — она одна и та же:
Ответ: $\hat y_2 = 5$ или $\hat y_2 = 7$; MSE = 1.
Задачу «наоборот» решают тем же рецептом: записать формулу, подставить известное и найти неизвестное. Модуль даёт два ответа — прогноз мог ошибиться вверх или вниз.
Какая модель лучше?
$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$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 10 | 12 | −2 | 2 | 4 |
| 2 | 20 | 18 | 2 | 2 | 4 |
| 3 | 30 | 33 | −3 | 3 | 9 |
| Сумма | 7 | 17 | |||
| Среднее (÷ 3) | ≈ 2,33 | ≈ 5,67 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. MSE сильнее всего тянет объект 3: его сигнал 2 по модулю — у него самая большая ошибка (3).
Модель B
1. Ошибка каждого объекта $e_i = y_i - \hat y_i$ и её модуль:
2. Сумма модулей:
3. MAE — делим сумму на $n = 3$:
4. Квадрат каждой ошибки:
5. Сумма квадратов:
6. MSE — делим сумму на $n = 3$:
| $i$ | $y_i$ | $\hat y_i$ | $e_i$ | $|e_i|$ | $e_i^2$ |
|---|---|---|---|---|---|
| 1 | 10 | 10 | 0 | 0 | 0 |
| 2 | 20 | 20 | 0 | 0 | 0 |
| 3 | 30 | 36 | −6 | 6 | 36 |
| Сумма | 6 | 36 | |||
| Среднее (÷ 3) | 2 | 12 | |||
Производные для обратного распространения
7. Производная MAE по каждому прогнозу: $g_i = \frac{1}{n}\operatorname{sign}(\hat y_i - y_i)$:
8. Производная MSE по каждому прогнозу: $g_i = \frac{2}{n}(\hat y_i - y_i)$:
Векторы градиентов по прогнозам ($\nabla = \nabla_{\hat y}$):
MAE даёт каждому промаху сигнал одной силы $\pm\tfrac{1}{n}$ = ±0,33: важно только направление ошибки. У MSE все ненулевые сигналы одинаковы по модулю: ошибки одного размера.
Сравнение
| MAE | MSE | |
|---|---|---|
| Модель A | ≈ 2,33 | ≈ 5,67 |
| Модель B | 2 | 12 |
Ответ: Модель 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$. По цепному правилу:
По MSE
Градиент по прогнозам:
Градиент по весам:
Шаг спуска с $\eta = 0{,}1$:
Потеря после шага: MSE 2 → 0,08.
По MAE
Градиент по прогнозам:
Градиент по весам:
Шаг спуска с $\eta = 0{,}1$:
Потеря после шага: 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.
Итоги
| MAE | MSE | |
|---|---|---|
| Формула | $\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 шпаргалки.