Что это? Есть ли какое-то отношение к концепции энтропии? Почему это используется для потери классификации? А как насчет бинарной кросс-энтропии?

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

В слове «кросс-энтропия» есть «крест» и «энтропия», и это помогает понять часть «энтропия», чтобы понять часть «креста».

Итак, давайте рассмотрим формулу энтропии.

Обзор формулы энтропии

Есть статья Демистификация энтропии, которая должна помочь в понимании концепции энтропии, если вы еще не знакомы с ней.

Клод Шеннон (https://en.wikipedia.org/wiki/Claude_Shannon) определил энтропию для вычисления минимального размера кодировки, поскольку он искал способ эффективно отправлять сообщения без потери информации.

Как мы увидим ниже, есть разные способы выражения энтропии.

Энтропия вероятностного распределения выглядит следующим образом:

Мы предполагаем, что нам известна вероятность P для каждого i. Термин i указывает на дискретное событие, которое может означать разные вещи в зависимости от сценария, с которым вы имеете дело.

Для непрерывных переменных это можно записать в интегральной форме:

Здесь x - непрерывная переменная, а P (x) - функция плотности вероятности.

Как для дискретных, так и для непрерывных переменных мы вычисляем математическое ожидание (среднее значение) отрицательной логарифмической вероятности, которая является теоретическим минимальным размером кодирования информации из события x.

Итак, приведенную выше формулу можно переписать в форме ожидания следующим образом:

x ~ P означает, что мы вычисляем математическое ожидание с распределением вероятностей P.

Энтропия также записывается через H следующим образом:

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

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

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

Если мы не знаем распределения вероятностей, мы не сможем вычислить энтропию. Итак, нам нужно будет оценить распределение вероятностей.

Однако что значит оценивать энтропию?

Кроме того, насколько это точно?

Ответ на эти вопросы естественно уступает место кросс-энтропии.

Оценка энтропии

Предположим, мы передаем в Нью-Йорк прогноз погоды в Токио и хотим закодировать сообщение до минимально возможного размера. Мы не знаем распределения погоды до того, как это произойдет. Для обсуждения предположим, что мы можем узнать это, понаблюдав за погодой в Токио в течение некоторого времени.

Поскольку нам изначально неизвестно распределение вероятностей погоды в Токио, мы оцениваем его как Q для расчета размера кодировки для передачи нашего прогноза погоды из Токио в Нью-Йорк.

Используя оценочное распределение вероятностей Q, оценочная энтропия будет:

Если Q близко к реальному распределению вероятностей, приведенная выше оценка говорит нам, каков наименьший средний размер кодирования.

Однако в формуле оценки присутствуют два вида неопределенности.

Как указано x ~ Q, мы используем оценочное распределение вероятностей Q для вычисления математического ожидания, которое будет отличаться от фактического распределения вероятностей P .

Кроме того, мы оцениваем минимальный размер кодирования как -log Q, который мы вычисляем на основе предполагаемого распределения вероятностей Q. Следовательно, это не будет 100% точным.

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

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

Таким образом, сравнение оценочной энтропии с реальной энтропией может ничего не значить.

Как и Клод Шеннон, наша главная забота - как уменьшить размер кодировки. Итак, мы хотим сравнить наш размер кодирования с теоретическим минимальным размером кодирования на основе энтропии.

Если у нас есть реальное распределение P после наблюдения за погодой в Токио в течение некоторого периода, мы можем вычислить реализованный средний размер кодирования, используя распределение вероятностей P и фактический размер кодирования ( на основе Q), используемого во время сводок погоды.

Это называется кросс-энтропией между P и Q, которую мы можем сравнить с энтропией.

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

Короче говоря, мы перекрестно проверяем размер кодирования, что означает «перекрестие» в перекрестной энтропии.

Кросс-энтропия ≥ энтропия

Обычно кросс-энтропия выражается через H следующим образом:

H (P, Q) означает, что мы вычисляем ожидание с помощью P, а размер кодирования - с помощью Q. Таким образом, H (P, Q) и H (Q, P) не обязательно одинаковы, за исключением случаев, когда Q = P, в котором case H (P, Q) = H (P, P) = H (P), и он становится самой энтропией.

Это тонкий, но важный момент. Для математического ожидания мы должны использовать истинную вероятность P, поскольку она говорит о распределении событий. Для размера кодировки мы должны использовать Q, поскольку он используется для кодирования сообщений.

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

Другими словами, если наша оценка точна, Q = P и, следовательно, H (P, Q) = H (P). В противном случае H (P, Q) ›H (P).

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

Кросс-энтропия как функция потерь

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

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

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

Распределение вероятности того, что на первом изображении изображена собака, составляет 1,0 (= 100%).

Для второго изображения этикетка говорит нам, что это лиса со 100% уверенностью.

…и так далее.

Таким образом, энтропия каждого изображения равна нулю.

Другими словами, ярлыки с горячим кодированием сообщают нам, какое животное имеет каждое изображение со 100% уверенностью. Это не похоже на то, что первое изображение может быть собакой на 90% и кошкой на 10%. Это всегда собака, и это не удивительно.

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

Модель говорит, что первое изображение составляет 40% для собаки, 30% для лисы, 5% для лошади, 5% для орла и 20% для белки. Эта оценка не очень точна и не дает уверенности в том, какое животное изображено на первом изображении.

Напротив, этикетка дает нам точное распределение класса животных на первом изображении. Он говорит нам, что это собака со 100% уверенностью.

Итак, насколько хорошо было предсказание модели? Мы можем вычислить кросс-энтропию следующим образом:

Это выше, чем нулевая энтропия метки, но у нас нет интуитивного понимания того, что означает это значение. Итак, давайте посмотрим для сравнения еще одно значение кросс-энтропии.

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

Как показано ниже, кросс-энтропия намного ниже, чем раньше.

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

Заметки о натс против битов

В машинном обучении мы используем основание e вместо 2 по нескольким причинам (одна из них - простота вычисления производной).

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

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

В качестве примечания: информационная единица с логарифмом по основанию e - nats, тогда как информационная единица с логарифмом с основанием 2 называется биты. Количество информации в 1 физ поступает от события, которое происходит с вероятностью 1 / e.

Логарифмы с основанием e менее интуитивно понятны, чем логарифмы с основанием 2. Количество информации в 1 бите происходит от события, которое происходит с вероятностью 1/2. Если мы можем закодировать часть информации в 1 бит, одно такое сообщение может снизить неопределенность на 50%. Ту же аналогию нелегко провести с основанием e, поэтому логарифм с основанием 2 часто используется для объяснения концепции информационной энтропии. Однако приложение машинного обучения использует логарифм по основанию e для удобства реализации.

Двоичная кросс-энтропия

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

Для бинарных классификаций формула кросс-энтропии содержит только две вероятности:

Используя следующие отношения

, мы можем записать кросс-энтропию следующим образом:

Мы можем еще больше упростить его, немного изменив символы:

Тогда бинарная формула кросс-энтропии принимает следующий вид:

, который может показаться некоторым из нас более знакомым.

Короче говоря, бинарная кросс-энтропия - это кросс-энтропия с двумя классами. В остальном это одна и та же концепция.

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

Статьи по Теме

Демистификация энтропии



Демистификация расхождения KL



Ссылки

Информационная энтропия (Википедия)

Https://en.wikipedia.org/wiki/Entropy_(information_theory)

Кросс-энтропия (Википедия)

Https://en.wikipedia.org/wiki/Cross_entropy

Краткое введение в энтропию, кросс-энтропию и KL-дивергенцию

Орельен Жерон

Https://www.youtube.com/watch?v=ErfnhcEV1O8