Вы подписаны на Машинное обучение доступно
Отлично! завершите оплату для полного доступа к Машинное обучение доступно
Снова приветствуем Вас! Вы успешно авторизовались
Успех! Аккаунт активирован, и Вы имеете полный доступ к контенту.
Кросс-энтропия (Cross-Entropy)

Кросс-энтропия (Cross-Entropy)

in

Кросс-энтропия (Перекрестная энтропия) – это Функция потерь (Loss Function), которую можно использовать для количественной оценки разницы между двумя Распределениями вероятностей (Probability Distribution).

Лучше всего это можно объяснить на примере. Предположим, у нас есть две модели, A и B, и мы хотели выяснить, какая из них лучше:

Примечание. Цифры рядом с точками данных представляют вероятность того, что Наблюдение (Observation) принадлежит к соответствующему классу – цветовой зоне. Например, вероятность того, что красная точка в левой верхней части графика модели A принадлежит "красному" классу, равна 0,8.
Интуитивно мы знаем, что модель B лучше, поскольку красные точки находятся на красном распределении, а синие точки – в синем. Но как мы передадим модели эти знания?

Один из способов – взять вероятности каждой точки в модели A и перемножить их. Это даст полную вероятность модели, как мы знаем из общего правила умножения вероятностей. Мы можем сделать то же самое для модели B:

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

С этой последовательностью, однако, есть некоторые проблемы. Как вы, возможно, догадались, чем больше наблюдений, тем меньше результирующая вероятность. Кроме того, если бы мы изменили одну точку данных, результирующая вероятность резко изменилась бы вслед.
Одним словом, использование прозведений – не лучшая идея. Как мы можем это исправить? Один из способов – использовать вместо этого суммы. Если мы вспомним логарифмы, есть способ связать произведение вероятностей с их суммой:

$$ \log_{a × b} = \log_{a} + \log_{b}, где$$

Давайте применим это правило к нашим вероятностям:

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

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

Когда мы вычисляем логарифм для каждой точки данных, мы фактически получаем функцию ошибок для нее. Например, функция ошибок для точки 0,2 в модели A равна -ln (0,2), что равно 1,61. Обратите внимание, что неправильно классифицированные точки имеют большие значения, следовательно, имеют большие ошибки.

Итак, давайте еще немного разберемся с перекрестной энтропией. На самом деле она говорит о том, что если у нас есть события и вероятности, насколько вероятно, что события произойдут на основе вероятностей? Если это очень вероятно, у нас малая кросс-энтропия, а если маловероятно, у нас высокая кросс-энтропия. Мы увидим это подробнее на примере.

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

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

Предположим, мы возьмем первый случай, когда за дверью № 1 подарок с вероятностью 0,8; за дверью № 2 – 0,7, № 3 – 0,1:

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

$$ -Σp(x) logqx + (1 - p(x)) log (1 - q(x))$$
$$p(x)\space{требуемая}\space{вероятность,}$$
$$q(x)\space{фактическая}\space{вероятность,}$$

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

Фото: @hardsurface

Автор оригинальной статьи: Anjali Bhardwaj