В теория информации, то кросс-энтропия между двумя распределения вероятностей
и
по одному и тому же базовому набору событий измеряет среднее количество биты необходимо для идентификации события, взятого из набора, если схема кодирования, используемая для набора, оптимизирована для оцененного распределения вероятностей
, а не истинное распределение
.
Определение
Кросс-энтропия распределения
относительно распределения
над заданным набором определяется следующим образом:
,
куда
- оператор математического ожидания относительно распределения
. Определение может быть сформулировано с использованием Дивергенция Кульбака – Лейблера
из
из
(также известный как относительная энтропия из
относительно
).
,
куда
это энтропия из
.
За дискретный распределения вероятностей
и
с тем же поддерживать
это означает
![{ Displaystyle Н (п, д) = - сумма _ {х в { mathcal {X}}} р (х) , журнал д (х)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c6b895514e10a3ce88773852cba1cb1e248ed763) | | (Уравнение 1) |
Ситуация для непрерывный распределение аналогично. Мы должны предположить, что
и
находятся абсолютно непрерывный относительно некоторой ссылки мера
(обычно
это Мера Лебега на Борель σ-алгебра ). Позволять
и
- функции плотности вероятности
и
относительно
. потом
![{ displaystyle - int _ { mathcal {X}} P (x) , log Q (x) , dr (x) = operatorname {E} _ {p} [- log Q]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5f76631e4d31793fd2d2b3bb42796166b04fa4b2)
и поэтому
![{ Displaystyle Н (п, q) = - int _ { mathcal {X}} P (x) , log Q (x) , dr (x)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c96018b6306901426015782f04705e4549590c55) | | (Уравнение 2) |
NB: Обозначения
также используется для другой концепции, совместная энтропия из
и
.
Мотивация
В теория информации, то Теорема Крафт – Макмиллана устанавливает, что любая непосредственно декодируемая схема кодирования для кодирования сообщения для идентификации одного значения
из множества возможностей
можно рассматривать как представление неявного распределения вероятностей
над
, куда
длина кода для
в битах. Следовательно, кросс-энтропия может быть интерпретирована как ожидаемая длина сообщения для данных при неправильном распределении
предполагается, в то время как данные фактически соответствуют распределению
. Вот почему математическое ожидание берется из истинного распределения вероятностей.
и нет
. Действительно, ожидаемая длина сообщения при истинном распределении
является,
![{ displaystyle operatorname {E} _ {p} [l] = - operatorname {E} _ {p} left [{ frac { ln {q (x)}} { ln (2)}} right] = - operatorname {E} _ {p} left [ log _ {2} {q (x)} right] = - sum _ {x_ {i}} p (x_ {i}) , log _ {2} {q (x_ {i})} = - sum _ {x} p (x) , log _ {2} q (x) = H (p, q)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c05adf7a909e1eb469224b9b21e01b8a0d9b2605)
Оценка
Есть много ситуаций, когда необходимо измерить кросс-энтропию, но распределение
неизвестно. Примером является языковое моделирование, где модель создается на основе обучающей выборки
, а затем его перекрестная энтропия измеряется на тестовом наборе, чтобы оценить, насколько точна модель в прогнозировании тестовых данных. В этом примере
истинное распределение слов в любом корпусе, и
- это распределение слов, предсказанное моделью. Поскольку истинное распределение неизвестно, кросс-энтропию нельзя вычислить напрямую. В этих случаях оценка кросс-энтропии рассчитывается по следующей формуле:
![H (T, q) = - sum _ {{i = 1}} ^ {N} { frac {1} {N}} log _ {2} q (x_ {i})](https://wikimedia.org/api/rest_v1/media/math/render/svg/bb11eae1b2b1120c2bcccf741a51c2511c0cbffe)
куда
- размер тестового набора, а
вероятность события
оценивается из обучающей выборки. Сумма рассчитывается по
. Это Оценка Монте-Карло истинной кросс-энтропии, где набор тестов рассматривается как образцы из
[нужна цитата ].
Отношение к логарифмической вероятности
В задачах классификации мы хотим оценить вероятность различных исходов. Если предполагаемая вероятность исхода
является
, а частота (эмпирическая вероятность) исхода
в обучающем наборе есть
, а есть N условно независимый образцов в обучающем наборе, то вероятность обучающего набора равна
![{ displaystyle prod _ {i} ({ mbox {вероятность}} i) ^ {{ mbox {количество вхождений}} i} = prod _ {i} q_ {i} ^ {Np_ {i }}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9442a365da4ec4d38677475d37ca05bd223b20cb)
поэтому логарифмическая вероятность, деленная на
является
![{ displaystyle { frac {1} {N}} log prod _ {i} q_ {i} ^ {Np_ {i}} = sum _ {i} p_ {i} log q_ {i} = -H (p, q)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/22a49f4a7c3ab94525dc2b972bcb853f6b617823)
так что максимизация вероятности - это то же самое, что минимизация перекрестной энтропии.
Минимизация кросс-энтропии
Минимизация кросс-энтропии часто используется при оптимизации и оценке вероятности редких событий. При сравнении раздачи
против фиксированного распределения ссылок
, кросс-энтропия и KL дивергенция идентичны с точностью до аддитивной константы (поскольку
фиксировано): оба принимают свои минимальные значения, когда
, который
для расхождения KL, и
для кросс-энтропии.[1] В инженерной литературе принцип минимизации расхождения KL (Кульбака ")Принцип минимальной дискриминации в отношении информации ") часто называют Принцип минимальной кросс-энтропии (MCE) или Minxent.
Однако, как уже говорилось в статье Дивергенция Кульбака – Лейблера, иногда раздача
- фиксированное априорное эталонное распределение, а распределение
оптимизирован, чтобы быть как можно ближе к
по возможности, с некоторыми ограничениями. В этом случае две минимизации нет эквивалент. Это привело к некоторой двусмысленности в литературе, и некоторые авторы пытались разрешить несогласованность, переопределив кросс-энтропию как
, скорее, чем
.
Функция кроссэнтропийных потерь и логистическая регрессия
Кросс-энтропия может использоваться для определения функции потерь в машинное обучение и оптимизация. Истинная вероятность
истинная метка, и данное распределение
- прогнозируемое значение текущей модели.
В частности, рассмотрим логистическая регрессия, который (среди прочего) может использоваться для классификации наблюдений на два возможных класса (часто просто помечаются
и
). Выход модели для данного наблюдения с учетом вектора входных характеристик
, можно интерпретировать как вероятность, которая служит основанием для классификации наблюдения. Вероятность моделируется с помощью логистическая функция
куда
некоторая функция входного вектора
, обычно просто линейная функция. Вероятность выхода
дан кем-то
![{ Displaystyle q_ {Y = 1} = { hat {y}} Equiv g ( mathbf {w} cdot mathbf {x}) = 1 / (1 + e ^ {- mathbf {w} cdot mathbf {x}}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/13533a4487f3fc3b5ea96542467b338371c9eedc)
где вектор весов
оптимизируется с помощью некоторого подходящего алгоритма, такого как градиентный спуск. Точно так же дополнительная вероятность нахождения выхода
просто дается
![q _ {{y = 0}} = 1 - { hat {y}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2c30e8f9223b676407bc6b431d3ef55b46d2de4a)
Установив наши обозначения,
и
, мы можем использовать кросс-энтропию, чтобы измерить различие между
и
:
![H (p, q) = - sum _ {i} p_ {i} log q_ {i} = -y log { hat {y}} - (1-y) log (1 - { hat {y}})](https://wikimedia.org/api/rest_v1/media/math/render/svg/1f3f3acfb5549feb520216532a40082193c05ccc)
Логистическая регрессия обычно оптимизирует потери журнала для всех наблюдений, на которых она обучается, что аналогично оптимизации средней перекрестной энтропии в выборке. Например, предположим, что у нас есть
образцы, каждый из которых проиндексирован
. В средний функции потерь тогда определяется как:
![{ displaystyle { begin {align} J ( mathbf {w}) & = { frac {1} {N}} sum _ {n = 1} ^ {N} H (p_ {n}, q_ {n}) = - { frac {1} {N}} sum _ {n = 1} ^ {N} { bigg [} y_ {n} log { hat {y}} _ {n} + (1-y_ {n}) log (1 - { hat {y}} _ {n}) { bigg]} ,, end {align}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/80f87a71d3a616a0939f5360cec24d702d2593a2)
куда
, с
логистическая функция по-прежнему.
Логистические потери иногда называют кросс-энтропийными потерями. Это также известно как потеря журнала (в этом случае двоичная метка часто обозначается {-1, + 1}).[2]
Замечание: Градиент потери кросс-энтропии для логистической регрессии такой же, как градиент квадрата потери ошибки для Линейная регрессия. То есть определить
![{ displaystyle X ^ {T} = { begin {pmatrix} 1 & x_ {11} & dots & x_ {1p} 1 & x_ {21} & dots & x_ {2p} && dots 1 & x_ {n1} & точки & x_ {np} конец {pmatrix}} in mathbb {R} ^ {n times (p + 1)}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f5749ac7e8134605c3545e9e42c16f9c3896ad67)
![{ displaystyle { hat {y_ {i}}} = { hat {f}} (x_ {i1}, dots, x_ {ip}) = { frac {1} {1 + exp (- beta _ {0} - beta _ {1} x_ {i1} - dots - beta _ {p} x_ {ip})}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c8feef5b3c20cae56e7917218a6f4ca23d2cccd5)
![{ displaystyle L ({ overrightarrow { beta}}) = - sum _ {i = 1} ^ {N} [y ^ {i} log { hat {y}} ^ {i} + (1 -y ^ {i}) log (1 - { hat {y}} ^ {i})]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/596a23552927b2ee6c05bfdd176e474834b0c1b1)
Тогда у нас есть результат
![{ displaystyle { frac { partial} { partial { overrightarrow { beta}}}} L ({ overrightarrow { beta}}) = X ({ hat {Y}} - Y)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6d79d85bc7232de2b309fec41b792e5ab0db91c0)
Доказательство таково. Для любого
, у нас есть
![{ displaystyle { frac { partial} { partial beta _ {0}}} ln { frac {1} {1 + e ^ {- beta _ {0} + k_ {0}}}} = { frac {e ^ {- beta _ {0} + k_ {0}}} {1 + e ^ {- beta _ {0} + k_ {0}}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d97553e3d273415fcd9629e2057f3f2030b2d301)
![{ displaystyle { frac { partial} { partial beta _ {0}}} ln left (1 - { frac {1} {1 + e ^ {- beta _ {0} + k_ { 0}}}} right) = { frac {-1} {1 + e ^ {- beta _ {0} + k_ {0}}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/caa173d300d2f202b787c964ec7ef9ff149bcf90)
![{ Displaystyle { begin {align} { frac { partial} { partial beta _ {0}}} L ({ overrightarrow { beta}}) & = - sum _ {i = 1} ^ {N} left [{ frac {y ^ {i} cdot e ^ {- beta _ {0} + k_ {0}}} {1 + e ^ {- beta _ {0} + k_ { 0}}}} - (1-y ^ {i}) { frac {1} {1 + e ^ {- beta _ {0} + k_ {0}}}} right] & = - sum _ {i = 1} ^ {N} [y ^ {i} - { hat {y}} ^ {i}] = sum _ {i = 1} ^ {N} ({ hat {y }} ^ {я} -у ^ {я}) конец {выровнено}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1c02e7f3551dd635964e2089931a939e1b1ba2a5)
![{ displaystyle { frac { partial} { partial beta _ {1}}} ln { frac {1} {1 + e ^ {- beta _ {1} x_ {i1} + k_ {1 }}}} = { frac {x_ {i1} e ^ {k_ {1}}} {e ^ { beta _ {1} x_ {i1}} + e ^ {k_ {1}}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3704a36e32d60f7236d7947f18e2ef635b9f9481)
![{ Displaystyle { frac { partial} { partial beta _ {1}}} ln left [1 - { frac {1} {1 + e ^ {- beta _ {1} x_ {i1 } + k_ {1}}}} right] = { frac {-x_ {i1} e ^ { beta _ {1} x_ {i1}}} {e ^ { beta _ {1} x_ {i1 }} + e ^ {k_ {1}}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0b33c567b55bc690ac5dd5b5c2e2d8b9d870c05c)
![{ displaystyle { frac { partial} { partial beta _ {1}}} L ({ overrightarrow { beta}}) = - sum _ {i = 1} ^ {N} x_ {i1} (y ^ {i} - { hat {y}} ^ {i}) = sum _ {i = 1} ^ {N} x_ {i1} ({ hat {y}} ^ {i} -y ^ {i})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5bd40cc4d7176b2b421f2257d3d02e03fff6f952)
Подобным образом в итоге получаем желаемый результат.
Смотрите также
Рекомендации
- ^ Ян Гудфеллоу, Йошуа Бенжио и Аарон Курвиль (2016). Глубокое обучение. MIT Press. В сети
- ^ Мерфи, Кевин (2012). Машинное обучение: вероятностная перспектива. Массачусетский технологический институт. ISBN 978-0262018029.
внешняя ссылка