перекрестная энтропия

машинное обучение

Название: перекрестная энтропия дата: 2018-06-24 23:59:54 теги:

  • Math mathjax: true

0x00 количество информации

Энтропия — очень важное понятие. Во-первых, давайте разберемся с концепцией объема информации. Количество информации может относиться к личным ощущениям.Количество информации об А в определенный момент времени обратно пропорционально вероятности его возникновения.. Это легко понять, например, «отмена вступительных экзаменов в вузы» приносит людям большое количество информации. Конечно, разные люди по-разному относятся к этому вопросу, но если количество информации и вероятность увязать, то расчет можно сделать.

Если предположить, что X — дискретная случайная величина, множество ее значений равно χ, функция распределения вероятностей p(x)=Pr(X=x), x∈χ, то количество информации, определяющее событие X = x_0, равно:

I(x_0) = -log(p(x_0))

0x01 энтропия

Предполагая, что существует n нескольких возможных ситуаций для события A, и каждая ситуация имеет вероятность, сколько информации приносит A? Выражение его в терминах математических ожиданий кажется правильным. А энтропия определяется какУказывает на ожидание всего объема информации.

H(X) = -\sum_{i=1}^{n}{p(x_i)log(p(x_i))}

Для дихотомических задач возможны только два значения, для таких задач метод расчета энтропии можно упростить в виде следующей формулы:

H(X) = -p(x_i)log(p(x_i)) - (1-p(x_i))log(1-p(x_i))

0x02 Относительная энтропия (расхождение KL)

В машинном обучении часто необходимо измерить разницу между двумя распределениями. Например, используйте P(X) для описания истинного распределения выборок и Q(X) для описания распределения предсказаний модели. ВвестиKL-расхождениеОпределение

D_{KL}(p|q) = \sum_{i=1}^{n}{p(x_i)log(\frac{p(x_i)}{q(x_i)})}

где n — все возможности события. Чем меньше значение D_KL, тем ближе два распределения.

Следует отметить, что расхождение KL не является симметричным, т.е.D_{KL}(p|q) \not ={D_{KL}(q|p)}. Но в целом, чем меньше KL-расхождение двух распределений, тем более похожими будут распределения (KL-расхождение самого себя и самого себя равно 0).

Задача расчета дивергенции KL

Хотя кажется, что KL-дивергенция — это такая простая формула, ведь любое распределениеp_iилиq_iНет никакой гарантии, что его вероятность должна быть больше 0. Когда любой из них появляется 0, возникает проблема.

  • когдаp_i = 0Время.\lim_{p\to 0}{p\log{p}} = 0
  • когдаp_i \not ={0}ноq_i = 0Время. В это время думаюD_{KL}(p|q)=\infty

p_iилиq_iПроблема взятия 0 не слишком сложна для решения при вычислении кода, если к каждому элементу можно добавить достаточно маленькое ненулевое положительное число.

0x03 перекрестная энтропия

Дальнейшая деформация упомянутой выше формулы дивергенции KL

D_{KL}(p|q) = \sum_{i=1}^{n}{p(x_i)log(p(x_i))} - \sum_{i=1}^{n}{ p(x_i)log(q(x_i)) } = -H(p(x)) - \sum_{i=1}^{n}{p(x_i)log(q(x_i))}

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

Определение формулы перекрестной энтропии

H(p,q) = -\sum_{i=1}^{n}{p(x_i)log(q(x_i))}

пример 0x04

В качестве примера классификации изображений предположим, что есть изображение, и объект, описанный на изображении, — собака.

Соответствующие метки и прогнозируемые значения выходных данных модели:

category dog cat duck
Label 1 0 0
Predicts 0.7 0.2 0.1

Предполагая, что используется натуральный логарифм, можно узнать, что перекрестная энтропия в это время равнаH(p,q) = -1*log(0.7) − 0*log(0.2) − 0*log(0.1) = 0.357

Теперь предположим, что есть картина

Итак, теперь прогнозируемое значение соответствующей метки и вывода модели (обратите внимание, что сумма вероятностей не обязательно должна быть равна 1):

category dog cat duck
Label 0 1 1
Predicts 0.2 0.8 0.5

Или используйте натуральный логарифм, вы можете знать, что перекрестная энтропия в это время равнаH(p,q) = −0*log(0.2) − 1*log(0.8) − 1*log(0.5) = 0.916

0x05

В практических приложениях кросс-энтропия иSoftmaxОн используется в сочетании, потому что проще объединить два, чтобы найти частные производные, чем не объединять их.