В этой статье мы узнаем:
Что такое функция потерь?
Функции регрессионных потерь
Функции классификации потерь
Давайте начнем
Что такое функция потерь?
Всякий раз, когда мы передаем данные в нейронную сеть, она должна дать мне некоторый результат, а затем мы сравниваем этот вывод с нашим фактическим значением. Если мы получаем некоторые потери по отношению к нашему фактическому значению, мы должны уменьшить его. Так что в основном
Функция потерь отображает решение с использованием различных методов и гарантирует, что количество, которое модель должна стремиться минимизировать во время обучения.
Давайте разберемся с этим примером:
Предположим, что нам нужно спуститься с вершины холма. Так что, очевидно, мы увидим все возможные пути спуска. Мы должны убедиться, что, спускаясь вниз, мы должны выбрать плавный путь, по которому нам не придется снова подниматься вверх, потому что этот путь требует больше энергии и времени.
То же самое мы делаем с функцией потерь.
Почему функция потерь?
Функция потерь — это метод оценки того, насколько хорошо ваш алгоритм моделирует набор данных. А также вы можете использовать различные методы для решения проблемы потерь по сравнению с вашим фактическим выходом.
Разница ч/б функция потерь, функция стоимости и функция ошибки
Всякий раз, когда мы пытаемся отправить отдельные данные в нейрон и на их основе вычисляем потери, это называется функцией потерь. И когда мы отправляем несколько данных и пытаемся рассчитать совокупный или средний убыток, это называется функцией стоимости. И функция ошибки может быть потерями или затратами в зависимости от нашего состояния.
Теперь существует два типа функции потерь с соответствующими типами.
Функции регрессионных потерь
Возможно, вы знаете о линейной регрессии. В регрессии мы имеем дело с независимыми (X) и зависимыми (Y) данными. И мы используем приличный градиент, чтобы уменьшить функцию потерь.
1. Квадрат ошибки потери
Это также называется функцией среднего квадрата. Единственное отличие состоит в том, что MSE относится к суммированию всех данных, в то время как SEL рассматривает только одни данные.
Он имеет форму квадратного уравнения, которое представляет собой не что иное, как форму a(x)² +bx+c. Основным преимуществом квадратного уравнения является то, что мы получаем достойный градиент только с глобальными минимумами. Значит, мы никогда не получим локальные минимумы. Смотрите этот рисунок.
Потеря MSE наказывает модель за большие ошибки, возводя их в квадрат. Это означает, что если ошибки огромны, это сделает их еще больше, возведя их в квадрат. И это один из самых больших минусов. Кроме того, он не устойчив к выбросам, потому что, поскольку разница между фактическим и прогнозируемым значением огромна, это даст нам более огромное значение, возведя их в квадрат.
2. Абсолютная ошибка потери
Какой бы недостаток мы ни нашли в MSE, мы можем преодолеть этот недостаток с помощью этой функции потерь. Единственная разница, которую мы находим, заключается в том, что вместо того, чтобы брать квадрат разницы фактического и прогнозируемого значения, мы берем абсолютную величину этих различий.
MAE более устойчив к выбросам по сравнению с MSE. Потому что здесь мы не штрафуем модель, возводя их в квадрат, вместо этого мы находим абсолютный член, который не может увеличить его, если мы получим большое значение нашей функции потерь. Но это более затратно в вычислительном отношении из-за оператора модуля. Может иметь локальные минимумы.
3. Хубер Лосс
Потеря Хубера в основном представляет собой комбинацию функций MAE и MSE. Формула ниже:
Таким образом, в этой формуле верхнее уравнение является квадратным, а нижнее — линейным уравнением, как мы обсуждали ранее. Значение дельты похоже на настройку гиперпараметра. Если наше квадратное уравнение или MSE меньше или равно дельте, то мы можем использовать это уравнение, в противном случае мы можем использовать линейное уравнение или уравнение MAE. Таким образом, в основном мы используем преимущества как MSE, так и MAE. Этот метод очень хорошо обрабатывает выбросы.
Это график, на котором сравниваются все функции ошибок, которые мы уже обсуждали.
Функции классификации потерь
Функции классификации потерь в основном имеют дело с данными, которые помечены как набор данных и основаны на том, что у нас есть выходные данные. У нас есть либо бинарная, либо мультиклассовая классификация, и на основе этого, например, мы можем узнать, является ли почта спамом или нет, или мальчик хороший, плохой или порядочный.
1. Бинарная перекрестная потеря энтропии
Здесь мы можем найти p, используя сигмовидную функцию активации. и y является фактическим выходом, который в данном случае является двоичным. Это называется бинарной перекрестной энтропией, потому что с ее помощью мы можем решать только задачи бинарной классификации.
Здесь у нас есть два случая: один, если значение y = 0, а другой, если значение y = 1, а формула показана на рисунке, как вы можете видеть.
2. Межклассовая перекрестная потеря энтропии
Формула почти такая же для перекрестной потери энтропии для нескольких классов. Разница только в том, что в двоичном формате мы берем текущие и предыдущие выходные данные, а в этом мы будем суммировать все выходные данные.
вы можете найти шляпу через функцию активации softmax. Softmax используется для многоклассовой классификации. Вы можете прочитать мою предыдущую статью, чтобы узнать об этом. В мультиклассовой кросс-энтропии мы выполняем однократное горячее кодирование.
предположим, что качества мальчика хорошие, плохие или нейтральные. Как мы можем это представить?
Ответ очень прост: мы можем выполнить одно горячее кодирование. В одном горячем кодировании мы классифицируем их в виде 0 или 1. Если какой-либо из них встречается в нашем наборе данных, мы можем дать им 1, а другие 2 класса будут нулевыми. Также мы можем удалить один класс, чтобы уменьшить количество функций и повысить точность. Это инженерная часть.
Таким образом, в приведенной выше формуле мультиклассовой классификации Yi является одним целевым вектором горячего кодирования. i — номер строки, поэтому мы можем представить в матричном формате Yi = [Yi1, Yi2, Yi3… Yij] c — столбец.
Yij = 1, если i-й элемент в классе j, иначе Yij = 0.
Узнать больше о функциях потерь можно здесь.
Надеюсь, вам понравилась эта статья