Каково максимальное значение дивергенции Кульбака-Лейблера (КЛ)

14

Я собираюсь использовать дивергенцию KL в своем коде Python, и я получил это руководство .

На этом уроке реализовать дивергенцию KL довольно просто.

kl = (model * np.log(model/actual)).sum()

Как я понимаю, распределение вероятностей modelи actualдолжно быть <= 1.

Мой вопрос: какова максимальная граница / максимально возможное значение k ?. Мне нужно знать максимально возможное значение расстояния кл, как для максимальной границы в моем коде.

user46543
источник
Это дубликат stats.stackexchange.com/q/333877/103153
Лернер Чжан,

Ответы:

17

Или даже с той же поддержкой, когда у одного распределения гораздо более толстый хвост, чем у другого. Возьмем

KL(P||Q)=p(x)log(p(x)q(x))dx
когда
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
, то
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
и
1π11+x2x2/2dx=+
Существуют другие расстояния, которые остаются ограниченными, такие как
  • L¹ расстояние, что эквивалентно общему расстоянию вариации,
  • Вассерштейнские расстояния
  • расстояние Хеллингера
Сиань
источник
1
Очень хорошее замечание @ Сиань
Карлос Кампос
Благодаря @ Xi'an это означает, что даже сумма всех бинов для обоих распределений равна = 1, дивергенция kl не имеет максимальной границы? У вас есть другие функции расстояния для двух вероятностных распределений, которые определили максимальную / статическую границу?
user46543
Является ли P абсолютно непрерывным относительно Q в этом случае?
Sangwoong Yoon
В таком случае"? Я считаю, что KL не определен как таковой для распределений, которые не являются абсолютно непрерывными относительно друг друга.
Сиань
12

Для распределений, которые не имеют такой же поддержки, дивергенция KL не ограничена. Посмотрите на определение:

KL(P||Q)=p(x)ln(p(x)q(x))dx

если P и Q не имеют одинаковой опоры, существует некоторая точка где p ( x ) 0 и q ( x ) = 0 , заставляя KL уходить в бесконечность. Это также применимо для дискретных распределений, что является вашим случаем.xp(x)0q(x)=0

Редактировать: Возможно, лучшим выбором для измерения расхождения между распределениями вероятности будет так называемое расстояние Вассерштейна, которое является метрикой и имеет лучшие свойства, чем расхождение KL. Он стал довольно популярным благодаря своим приложениям для глубокого обучения (см. Сети WGAN).

Карлос Кампос
источник
Благодаря @ carlos-campos, мое распределение как для фактического, так и для модели имеет одинаковое условие, которое является суммой всех бинов = 1. Это означает, что моя дивергенция Kl все еще не имеет максимальной границы? Я посмотрю на расстояние
Вассертейна
Разве расстояние Вассерштейна или движителя Земли имеет явную максимальную границу? потому что мне это нужно.
user46543
@ user46543 Расстояние Вассерштейна может достигать
Марк Л. Стоун
Привет @ MarkL.Stone, так что нет функции расстояния для расчета расстояния между двумя распределениями вероятностей, которая имеет статическую максимальную границу? например, в то время как два распределения вероятностей имеют сумму 1, а максимальная граница расстояния будет 1. Я прав?
user46543
3

Чтобы добавить к превосходным ответам Карлоса и Сианя , также интересно отметить, что достаточное условие конечности расходимости KL состоит в том, что обе случайные величины имеют одинаковый компактный носитель, а опорная плотность ограничена , Этот результат также устанавливает неявную оценку максимума расходимости KL (см. Теорему и доказательство ниже).


Теорема: если плотности и q имеют один и тот же компактный носитель X и плотность p ограничена на этом носителе (т. Е. Имеет конечную верхнюю границу), то K L ( P | | Q ) < .pqXpKL(P||Q)<

Доказательство: поскольку имеет компактную поддержку X, это означает, что существует некоторое положительное минимальное значение:qX

q_infxXq(x)>0.

pX

p¯supxXp(x)>0.

0<q_p¯<

supxXln(p(x)q(x))ln(p¯)ln(q_).

L_ln(p¯)ln(q_)0L_<

KL(P||Q)=Xln(p(x)q(x))p(x)dxsupxXln(p(x)q(x))Xp(x)dx(ln(p¯)ln(q_))Xp(x)dx=L_<.

Восстановить Монику
источник
B(α,β)max(α,β)>1
Это правда: это всего лишь достаточное условие. Более слабые условия приветствуются!
Восстановить Монику