Всеобъемлющее руководство по функциям потерь - Часть 1: Регрессия

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



Искусственные нейронные сети: объяснение
Обычно, когда мы говорим« Нейронная сеть
, мы имеем в виду искусственные нейронные сети (ИНС). И хотя они могут звучать… medium.com »



В этой статье я объясню различные функции потерь для регрессии, их преимущества и недостатки, с помощью которых вы сможете выбрать наиболее подходящую для своего проекта.

Давайте начнем, ладно?

Функции потерь фундаментально зависят от природы наших зависимых переменных, поэтому, чтобы выбрать функцию потерь, мы должны проверить, являются ли наши зависимые переменные числовыми (в задаче регрессии) или вероятностными (в задаче классификации).

Функции потерь для регрессии:

Когда мы имеем дело с числовыми переменными, мы должны измерять потери численно, то есть просто знать, неверно ли прогнозируемое значение, недостаточно, мы должны рассчитать величину отклонения нашего прогноза от фактического значения, чтобы мы могли обучать наша сеть соответственно.

Для этого доступны следующие функции потерь:

  • Средняя абсолютная ошибка (MAE).
  • Средняя абсолютная процентная ошибка (MAPE).
  • Среднеквадратичная ошибка (MSE).
  • Среднеквадратичная ошибка (RMSE).
  • Хубер Лосс.
  • Log-Cosh Loss.

Средняя абсолютная ошибка (MAE):

MAE - это простейшая функция ошибок, она буквально просто вычисляет абсолютную разницу (отбрасывает знак) между фактическим и прогнозируемым значениями и берет ее за среднее значение.

Математическое уравнение:

График:

На следующем рисунке показано, что MAE линейно увеличивается с увеличением ошибки.

Преимущества:

  1. MAE - самый простой метод расчета убытков.
  2. Благодаря своей простоте он не требует больших вычислительных затрат.

Недостатки:

  1. MAE рассчитывает убыток, рассматривая все ошибки по одной шкале. Например, если один из выходных данных имеет шкалу сотен, а другой - шкалу тысяч, наша сеть не сможет различать их только на основе MAE, и поэтому трудно изменить веса во время обратного распространения ошибки.
  2. MAE - это линейный метод оценки, то есть все ошибки одинаково взвешиваются при вычислении среднего значения. Это означает, что при обратном распространении мы можем просто перепрыгнуть через минимумы из-за крутого характера MAE.

Средняя абсолютная процентная ошибка (MAPE):

MAPE похож на MAE, с одним ключевым отличием: ошибка вычисляется в виде процентов, а не необработанных значений. Благодаря этому MAPE не зависит от масштаба наших переменных.

Математическое уравнение:

График:

На следующем рисунке показано, что MAPE также линейно увеличивается с увеличением ошибки.

Преимущества:

  1. Убыток рассчитывается путем нормализации всех ошибок по единой шкале (из сотен).

Недостатки:

  1. Уравнение MAPE имеет ожидаемый результат в знаменателе, который может быть равен нулю. По ним невозможно рассчитать убыток, так как деление на ноль не определено.
  2. Опять же, операция деления означает, что даже для одной и той же ошибки величина фактического значения может вызвать разницу в потерях. Например, если прогнозируемое значение равно 70, а фактическое значение равно 100, потеря будет 0,3 (30%), а для фактического значения 40 потеря будет 0,75 (75%), даже если ошибка в обоих случаев то же самое, т.е. 30.

Среднеквадратичная ошибка (MSE):

В MSE мы вычисляем квадрат нашей ошибки, а затем принимаем его среднее значение. Это метод квадратичной оценки, то есть штраф пропорционален не ошибке (как в MAE), а квадрату ошибки, что дает относительно больший вес. (штраф) к большим ошибкам / выбросам, сглаживая градиент для меньших ошибок.

Математическое уравнение:

График:

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

Преимущество:

  1. Для небольших ошибок MSE помогает эффективно сходиться к минимуму, поскольку градиент постепенно уменьшается.

Недостаток:

  1. Возведение значений в квадрат увеличивает скорость обучения, но в то же время чрезвычайно большая потеря может привести к резкому скачку во время обратного распространения ошибки, что нежелательно.
  2. MSE также чувствительна к выбросам, то есть выбросы в данных могут больше повлиять на нашу сеть, поскольку потери от них будут значительно выше.

Среднеквадратичная ошибка (RMSE):

RMSE - это просто квадратный корень из MSE, что означает, что это снова линейный метод оценки, но все же лучше, чем MAE, поскольку он дает сравнительно больший вес более крупным ошибкам.

Математическое уравнение:

График:

Преимущества:

  1. Меньшие экстремальные потери даже для больших значений.
  2. Более чувствителен к выбросам, чем MAE.

Недостаток:

  1. RMSE по-прежнему является линейной оценочной функцией, поэтому, опять же, вблизи минимумов градиент является внезапным.

MAE vs MSE vs RMSE vs MAPE:

Хубер Лосс:

Потеря Хубера - это превосходное сочетание линейного и квадратичного методов оценки. У него есть дополнительный гиперпараметр дельта (δ). Потери линейны для значений выше дельты и квадратичны ниже дельты. Этот параметр настраивается в соответствии с вашими данными, что делает потерю Хубера особенной.

Математическое уравнение:

График:

На следующем рисунке показано изменение потерь Хьюбера для различных значений δ в зависимости от ошибки.

Преимущества:

  1. Изменяемый гиперпараметр delta (δ).
  2. Линейность выше дельты обеспечивает справедливый вес для выбросов (не так сильно, как в MSE).
  3. Изогнутая форма ниже дельты обеспечивает правильную длину шагов во время обратного распространения ошибки.

Недостатки:

  1. Из-за дополнительных условных обозначений и сравнений потеря Huber является сравнительно дорогостоящей с точки зрения вычислений, особенно если ваш набор данных большой.
  2. Чтобы получить наилучшие результаты, необходимо также оптимизировать δ, что увеличивает требования к обучению.

Логарифмические потери:

Графически Log-cosh очень похож на потерю Хубера, поскольку он также представляет собой комбинацию линейной и квадратичной оценки. Одно отличие, которое отличает это от других, заключается в том, что он дважды дифференцируемый. Некоторые алгоритмы оптимизации, такие как XGBoost, предпочитают такие функции функции Huber, которая дифференцируется только один раз. Log-cosh вычисляет логарифм гиперболического косинуса ошибки.

Математическое уравнение:

Где p = прогнозируемое значение и t = истинное значение.

График:

Преимущества :

  1. Двойная дифференциация.
  2. Требуется сравнительно меньше вычислений (чем у Хубера).

Недостатки:

  1. Менее адаптивен, чем Huber, поскольку следует фиксированной шкале (без δ).

MSE vs Huber vs Log-Cosh:

Мега сравнение функций потерь:

Это наиболее распространенные функции потерь, используемые для регрессии. Существуют и другие функции потерь, такие как квантильные потери и потери Пуассона, но, на мой взгляд, их должно быть достаточно для начала. Можно также разработать и реализовать свои собственные пользовательские функции потерь, специфичные для конкретного случая использования. Иногда также используется комбинация этих функций потерь.

В следующей статье я расскажу о функциях потерь для алгоритмов классификации.

Спасибо за чтение. Любые отзывы / предложения приветствуются.

Читайте также:



Больше обо мне:

GitHub: https://github.com/Rohan-Hirekerur

LinkedIn: www.linkedin.com/in/rohan-hirekerur

Twitter: https://twitter.com/Youthful96