Теория информации и кросс-энтропийные функции потерь

искусственный интеллект

Синхронизировать csdn-адрес:

blog.CSDN.net/линии души/ Ах…

В машинном обучении и глубоком обучении часто требуется классификация, которая включает границы решений, такие как функции активации sigmod; Но когда мы сталкиваемся с мультиклассификацией (такой как классический MNIST), нам нужно предсказать вероятность каждого типа вывода, такого как softmax, в это время нам нужно:Теория информации и перекрестная энтропиячеткое понимание тогда наша статья будетТеория информации и кросс-энтропийные функции потерьпрочитать лекцию;

1. Теория информации

2. Информация о себе

3. Энтропия Шеннона

4. Кросс-энтропия

1. Теория информации

1.1 Теория информации заимствована из физики, и мы говорим только о ее математическом смысле:

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

  • 1. Количество информации о неизбежном событии равно 0
  • 2. Чем меньше вероятность события, тем больший объем информации оно предоставляет
  • 3. Информация инкрементальна, т. е. количество информации, которая возникает один раз для одного и того же события, равноI, то количество переданной дважды информации равно2Iтогда для достижения нашей целиКоличественная оценка количества информации о вероятностных событиях

2. Информация о себе

- количественное значение количества информации единичного события

Строим такую ​​формулу:

I(x) = -log(p(x))
  • здесьP(x)просто случайные событияX = xвероятность наступления события
  • logлогарифмически возрастающая функция, то-logФункция является убывающей функцией, поэтому построенная таким образом функция достигает определенной нашей цели.По мере уменьшения вероятности количество информации увеличивается. Но самоинформация может только предсказать количество информации о событии.
  • I(x)Юнит Рыцарьnat, то есть 1natпредставлена1/eВероятность самоинформации о событии

3. Энтропия Шеннона

Часто в наших практических приложениях нам нужно использоватьЭнтропия Шеннонадля количественной оценки общего количества неопределенности во всем распределении вероятностей событий

Здесь мы можем учиться уФормула для оценки математического ожидания случайной величины X

E(X) = \sum_{k = 1}^{∞}x_kp_k

Энтропию Шеннона здесь можно рассматривать как:количество информацииI(x)Формула для оценки математического ожидания

H(X) = \sum_{k = 1}^{n}p_klog(p_k)
  • Здесь k — категория, а n — общая категория.

Ниже мы приводим пример:

  • Массив 1: 111111

  • Массив 2: 111222

  • Массив 3: 112233

Рассчитаем энтропию Шеннона для массивов 1 , 2 и 3

H(1)=-1*log(p(1)) = 1 * 0= 0

H(2)=-1/2*log(p(1)) + (-1/2*log(p(2)) =  -1/2 * In1/2 +1/2 * In1/2  ≈  0.7

H(3)=-1/3*log(p(1)) + (-1/3*log(p(2)) +  (-1/3*log(p(3))  ≈ 1

Таким образом, если энтропия Шеннона массива 1 равна 0, это неизбежное событие, массив 2 находится посередине, а массив 3 самый большой, поэтому вероятность его вероятностного распределения наименьшая.

4. Кросс-энтропия

Ранее мы упоминалиинформация о себеиЭнтропия ШеннонаИтак, как использовать это в машинном обучении и глубоком обучении, не волнуйтесь и медленно смотрите вниз Мы помним, что в модели мультиклассовой классификации мы использовалиsoftmaxОцените вероятность каждой категории, а затем примите максимальную вероятность в качестве прогнозируемого значения.И когда мы реверсируем обновлениеsoftmaxКогда это модель функции активации или нейронной сети, перекрестная энтропия используется какlossфункция регулировки градиента

Итак, давайте сосредоточимсяперекрестная энтропияПеред этим надо посмотретьKLХэш, основанный на энтропии Шеннона, используемый для измерения двух отдельных распределений для одной и той же случайной величины X.P(X)иQ(X)Способ отличия:

D_{kl}(P||Q) = E_{x-p}[log(P(x)/Q(x))] = E_{x-p}[log(P(x))-log(P(x))]

Но в глубоком обучении мы используемKLВ качествеlossфункцию, а именно:

H(P,Q) = H(P) + D_{KL}(P||Q)

в соответствии сKLХэшируем нашу команду, чтобы деформировать приведенную выше формулу:

H(P,Q) = -E_{x-p}[logP(x)] + E_{x-p}[logP(x)] - E_{x-p}[logQ(x)]

После деформации получаем:

H(P,Q) =  - E_{x-p}[logQ(x)]

Далее меняем на понятноеlossфункция

H(P,Q) =  \sum_{x}P(x)logQ(x)

Здесь мы видим знакомую нам функцию стоимости,softmaxФункция стоимости для регрессионных классификаторов

Далее мы обсудим, почему используется эта функция стоимости.

В основном мультиклассификаторы, такие как softmax, при оценке реального значения (y) и прогнозируемое значение (y^{excpt}) расстояние, это больше касается оценки расстояния между вероятностями, поэтому, используя традиционную среднеквадратичную ошибку какlossфункции бессмысленны

Давайте возьмем пример (возьмем в качестве примера MNIST: идентифицируйте изображения чисел от 0 до 9): Предположим, что выходной слойsoftmaxфункция активации:

Затем мы предполагаем два набора экземпляров с одной и той же меткойAиBанализировать Сначала нашlabelвсе равны 0, поэтому комбинация векторов реального значения равна (1,0,0,0,0,0,0,0,0,0)

  • Комбинация векторов предсказанных значений A (0,9,0,2,0,1,0,0,0,0,0,0,0)
  • Комбинация векторов предикторов B (0,8,0,0,1,0,0,5,0,0,0,0,0)

Затем вычислите перекрестную энтропию A и B (то естьlossфункция) :

H(P,Q) = -(1* log(0.9) + 0 * log(0.2) + 0 *log(0.1) + 7 * (0 * log(0)) ≈ 0.1
H(P,Q) = -(1* log(0.8) + 0 * log(0.1) + 0 *log(0.5) + 7 * (0 * log(0)) ≈ 0.2
  • P означает истинное значение
  • Q означает прогнозируемое значение так как0.1 < 0.2, поэтому очевидно, что первая группа обусловлена ​​второй группой

Еще одна вещь: перекрестная энтропияH(P,Q)не симметричен, поэтомуH(P,Q) ≠ H(Q,P)Поэтому обратите внимание на порядок P и Q. В первой версии P представляет фактическое значение, а Q представляет прогнозируемое значение.

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