Всем привет!

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

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

Шаг 1. Что такое -log(p)?

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

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

Теперь, с точки зрения наблюдателя событий, мы замечаем, что -log(p) по существу является «сюрпризом» наблюдения за событием. Например, если p(орел) = 0,99 и p(решка) = 0,01 для подбрасывания монеты, можно было бы гораздо больше удивиться, если бы подбрасывается решка. Обратите внимание, что -log(p(хвост)) = 6,644, что намного больше, чем -log(p(голова)) = 0,014.

Вы понимаете, что интуитивно означает -log(p)?

Шаг 2. Энтропия, ожидаемый сюрприз

Следуя этому обсуждению, мы можем определить ожидаемую неожиданность события с распределением вероятностей p(x), которое мы называем энтропией. Более формально это количественная оценка уровня неопределенности, присущей возможному исходу события. Таким образом, для непрерывной переменной x энтропия может быть записана как

Вернемся к теории информации, с точки зрения кодера и передатчика, это количественно определяет количество битов, необходимых для представления случайно выбранного события, которое соответствует распределению вероятностей p(x). Представьте себе коробку, содержащую круги и треугольники, и вспомните понятие/ощущение энтропии из вашего урока химии! Асимметричное распределение (много кругов и мало треугольников) будет означать низкую энтропию, потому что уровень вашей неопределенности низок, а это означает, что вы уверены, что тот, который вы выбрали, будет кругом.

Шаг 3. Кросс-энтропия для машинного обучения

Теперь переключаем передачи. Давайте помнить, что основная цель машинного обучения — найти и объявить распределение вероятностей, которое лучше всего имитирует (аппроксимирует) истинное распределение данных. Cross-Entropy предлагает способ количественной оценки среднего количества битов, необходимых для кодирования данных после распределения P, с использованием распределения Q.

Стоит отметить, что это количество может быть получено из энтропии по следующему соотношению, где используется понятие: (исходные биты) + (дополнительные биты) = (всего битов). Часть (дополнительные биты) — это так называемая KL-дивергенция, обычно используемая в статистике для измерения расстояния между двумя распределениями, которая также известна как относительная энтропия.

При классификации изображений вы часто будете сталкиваться с кросс-энтропийными потерями, выраженными, как показано ниже, для N классов, где y_{i} и \hat{y_{i}} – это фактическая метка и прогноз соответственно. . Представьте N = 2, тогда вы поймете, как кросс-энтропийные потери просто становятся логистическими потерями, используемыми в логистической регрессии.

Поздравляю! Вы прошли долгий путь.

В итоге,

  • -log(p) — это просто причудливый способ выразить, насколько вы удивлены тем, что наблюдали событие с вероятностью p. Редкие события (низкий p) приводят к высокому удивлению.
  • Если вы интегрируете свои сюрпризы для всех событий, вы получите ожидаемый сюрприз, который мы называем энтропией. Если у вас высокая энтропия, это означает, что уровень неопределенности, присущей возможному исходу события, высок.
  • Cross Entropy учитывает распределение Q, приближенное к истинному распределению P, и измеряет количество битов, необходимых для представления данных, следующих за распределением P, с использованием распределения Q.
  • Перекрестная потеря энтропии — отличный способ количественно оценить, насколько хорошо (или насколько плохо) наша модель машинного обучения приближается (Q) к истинному распределению (P) данных. Обратите внимание, что логистические потери — это просто бинарные потери перекрестной энтропии.

Теперь у вас есть хорошее представление о том, что такое Entropy и как она связана с Cross Entropy для машинного обучения. Надеюсь, это поможет вам взлететь легче, чем раньше.

Не стесняйтесь оставлять свои мысли! Ваши отзывы и комментарии помогают обогатить наше сообщество. Рад слышать. Спасибо за прочтение :-)

~ DK