Всем привет!
Любому новичку в машинном обучении и науке о данных важно, чтобы понятия энтропия и перекрестная энтропия были ему понятны. Они появляются повсюду и служат ключевой основой для построения деревьев, причудливых уменьшений размеров и классификации изображений.
В этой статье я попытаюсь рассказать вам о концепциях энтропии через призму теории информации, которая оказалась очень полезной, когда я впервые попытался освоить эту концепцию. Посмотрим, как пойдет.
Шаг 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