Шаг за шагом внедряем градиенты

В этом посте мы поговорим о средней абсолютной ошибке и градиентах. Это также используется в регрессионных потерях.

Вы можете скачать Jupyter Notebook здесь.

Вернуться к предыдущему сообщению

Вернуться к первому сообщению

4.2 Что такое средняя абсолютная ошибка и как вычислить ее градиенты?

Предположим, у нас есть истинные значения,

и прогнозируемые значения,

Затем средняя абсолютная ошибка рассчитывается следующим образом:

Мы можем легко вычислить среднюю абсолютную ошибку в Python следующим образом.

import numpy as np                           # importing NumPy
np.random.seed(42)
def mae(y_true, y_pred):                     # MAE
    return np.mean(abs(y_true - y_pred))

Теперь мы знаем, что

Итак, как и для MSE, у нас есть якобиан для MAE.

Мы можем легко найти каждый член в этом якобиане.

Примечание. Здесь 3 представляет N, т. е. записи в y_true и y_pred

Мы можем легко определить якобиан MAE в Python следующим образом.

def mae_grad(y_true, y_pred):                # MAE Jacobian
    
    N = y_true.shape[0]
    
    return -((y_true - y_pred) / (abs(y_true - y_pred) +
                                              10**-100))/N

Примечание. 10**-100 для стабильности.

Давайте посмотрим на пример.

y_true = np.array([[1.5], [0.2], [3.9], [6.2], [5.2]])
y_true
y_pred = np.array([[1.2], [0.5], [3.2], [4.2], [3.2]])
y_pred

mae(y_true, y_pred)
mae_grad(y_true, y_pred)

Надеюсь, теперь вы понимаете, как реализовать среднюю абсолютную ошибку.

Смотрите видео на youtube и подписывайтесь на канал, чтобы получать такие видео и посты.
Каждый слайд длится 3 секунды и без звука. Вы можете поставить видео на паузу, когда захотите.
Вы также можете включить музыку, если хотите.

В видео в принципе все что есть в посте только в слайдах.

Большое спасибо за вашу поддержку и отзывы.

Если вам понравился этот курс, вы можете поддержать меня на

Это много значило бы для меня.

Перейти к следующему сообщению — 4.3 Категориальная кросс-энтропийная потеря и ее производная.