Простая функция потери перекрестной энтропии, вы действительно понимаете?

искусственный интеллект GitHub Нейронные сети WeChat

Персональный сайт Red Stone:redstonewill.com

Говоря о функции кросс-энтропийных потерь «Cross Entropy Loss», сразу приходит на ум ее формула:

L=-[ylog\ \hat y+(1-y)log\ (1-\hat y)]

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

1. Математический принцип функции потерь перекрестной энтропии

Мы знаем, что в двухклассовых моделях задач: таких как логистическая регрессия «Логистическая регрессия», нейронная сеть «Нейронная сеть» и т. д., метки реальных выборок равны [0, 1], представляющие отрицательный и положительный классы соответственно. В конце модели обычно используется сигмоидальная функция для вывода значения вероятности, которое отражает вероятность быть предсказанным как положительный класс: чем больше вероятность, тем больше вероятность.

Выражение и график сигмовидной функции следующие:

g(s)=\frac{1}{1+e^{-s}}

где s — выход предыдущего слоя модели, а сигмовидная функция имеет следующие характеристики: при s = 0 g(s) = 0,5, при s >> 0 g ≈ 1, при s

Мы сказали, что прогнозируемый вывод, вывод сигмовидной функции, представляет вероятность того, что текущая метка выборки равна 1:

\hat y=P(y=1|x)

Очевидно, что вероятность того, что текущая метка выборки равна 0, может быть выражена как:

1-\hat y=P(y=0|x)

Дело в том, что если мы объединим два вышеупомянутых случая с точки зрения максимального правдоподобия:

P(y|x)=\hat y^y\cdot (1-\hat y)^{1-y}

Не имеет значения, если вы не знаете максимальную вероятность. Мы можем посмотреть на это так:

Когда метка реальной выборки y = 0, первый член приведенной выше формулы равен 1, и уравнение вероятности преобразуется в:

P(y=0|x)=1-\hat y

Когда метка реальной выборки y = 1, второй член приведенной выше формулы равен 1, и уравнение вероятности преобразуется в:

P(y=1|x)=\hat y

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

Сосредоточьтесь на выражении вероятности после интегрирования, мы надеемся, что вероятность P(y|x) максимально велика. Во-первых, мы вводим логарифмическую функцию для P(y|x), потому что логарифмическая операция не влияет на монотонность самой функции. Тогда есть:

log\ P(y|x)=log(\hat y^y\cdot (1-\hat y)^{1-y})=ylog\ \hat y+(1-y)log(1-\hat y)

Мы хотим, чтобы log P(y|x) был как можно больше, и наоборот, пока отрицательное значение log P(y|x) - log P(y|x) как можно меньше. Тогда мы можем ввести функцию потерь, и пусть Loss = -log P(y|x). Тогда функция потерь получается как:

L=-[ylog\ \hat y+(1-y)log\ (1-\hat y)]

Очень просто, мы вывели функцию потерь одной выборки.Если мы вычислим общую функцию потерь выборок N, нам нужно только сложить потери N:

L=\sum_{i=1}^Ny^{(i)}log\hat y^{(i)}+(1-y^{(i)})log(1-\hat y^{(i)})

Таким образом, мы полностью реализовали процесс вывода кросс-энтропийной функции потерь.

2. Интуитивное понимание функции потерь перекрестной энтропии

Могут быть читатели, которые скажут, что я уже знаю процесс вывода функции кросс-энтропийных потерь. Но можем ли мы понять это выражение с более интуитивной точки зрения? Вместо того, чтобы просто запомнить формулу. хороший вопрос! Далее мы анализируем функцию кросс-энтропии с точки зрения графики, чтобы углубить ваше понимание.

Во-первых, выпишите функцию кросс-энтропийных потерь для одного образца:

L=-[ylog\ \hat y+(1-y)log\ (1-\hat y)]

Мы знаем, что при у = 1:

L=-log\ \hat y

В это время взаимосвязь между L и прогнозируемым выходом показана на следующем рисунке:

Глядя на графику L, все просто и понятно! Абсцисса — это результат прогнозирования, а ордината — функция кросс-энтропийных потерь L. Очевидно, чем ближе прогнозируемый выход к истинной метке образца 1, тем меньше функция потерь L; чем ближе прогнозируемый выход к 0, тем больше L. Таким образом, тенденция изменения функции полностью соответствует фактическим потребностям.

Когда у = 0:

L=-log\ (1-\hat y)

В это время взаимосвязь между L и прогнозируемым выходом показана на следующем рисунке:

Точно так же, чем ближе прогнозируемый результат к истинной метке образца 0, тем меньше функция потерь L; чем ближе прогнозируемая функция к 1, тем больше L. Меняющаяся тенденция функции также полностью соответствует фактическим потребностям.

Из двух приведенных выше рисунков это может помочь нам получить более интуитивное представление о функции потери перекрестной энтропии. Независимо от того, равна ли истинная метка выборки y 0 или 1, L представляет разницу между предсказанным выходом и y.

Кроме того, важно отметить, что из графика видно, что чем больше прогнозируемый результат отличается от y, тем больше значение L, то есть «штраф» для текущей модели больше. , и это нелинейный рост, уровень, напоминающий экспоненциальный рост. Это определяется характеристиками самой логарифмической функции. Преимущество этого заключается в том, что модель будет стремиться приблизить прогнозируемый результат к истинной метке выборки y.

3. Другие формы функции кросс-энтропийных потерь

Какие? Существуют ли другие формы функции кросс-энтропийных потерь? Верно! То, что я только что представил, является типичной формой. Далее я получу новую функцию кросс-энтропийных потерь под другим углом.

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

1-g(s)=g(-s)

Сначала поместим это свойство здесь, оно пригодится позже.

Ну, мы сказали ранее, что когда y = +1, выполняется следующее уравнение:

P(y=+1|x)=g(s)

Если y = -1 и введение свойства сигмовидной функции, справедливо следующее уравнение:

P(y=-1|x)=1-g(s)=g(-s)

Дело здесь в том, что, поскольку y принимает значение +1 или -1, вы можете ввести значение y и интегрировать две приведенные выше формулы вместе:

P(y|x)=g(ys)

Это легче понять.Приведенные выше две формулы можно получить, установив y = +1 и y = -1 соответственно.

Далее также вводится функция журнала для получения:

log\ P(y|x)=log\ g(ys)

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

L=-log g(ys)

Помните выражение для сигмовидной функции? Введите g(ys) в:

L=-log\frac{1}{1+e^{-ys}}=log\ (1+e^{-ys})

Что ж, L — это функция кросс-энтропийных потерь, которую я хочу вывести. Если это N выборок, его функция перекрестной энтропийной потери:

L = \sum _ { i = 1 } ^ N log ( 1 + e ^ { - y s } )

Далее мы посмотрим на это с точки зрения графической интуиции. Когда у = +1:

L=log\ (1+e^{-s})

В это время взаимосвязь между L и функцией оценки s предыдущего слоя показана на следующем рисунке:

Абсцисса s, ордината L. Очевидно, что чем ближе s к истинной метке образца 1, тем меньше функция потерь L, чем ближе s к -1, тем больше L.

С другой стороны, когда y = -1:

L=log(1+e^s)

В это время взаимосвязь между L и функцией оценки s предыдущего слоя показана на следующем рисунке:

64172ba5d3fde97?w=432&h=268&f=png&s=22929)

Точно так же, чем ближе s к истинной метке образца -1, тем меньше функция потерь L; чем ближе s к +1, тем больше L.

4. Резюме

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

这里写图片描述