Qual é o valor máximo da divergência Kullback-Leibler (KL)

14

Vou usar a divergência KL no meu código python e recebi este tutorial .

Nesse tutorial, implementar a divergência de KL é bastante simples.

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

Pelo que entendi, a distribuição de probabilidade de modele actualdeve ser <= 1.

Minha pergunta é: qual é o limite máximo / valor máximo possível de k ?. Eu preciso saber o valor máximo possível de kl distance quanto ao limite máximo no meu código.

user46543
fonte
Isso é duplicado do stats.stackexchange.com/q/333877/103153 #
Lerner Zhang

Respostas:

16

Ou mesmo com o mesmo suporte, quando uma distribuição tem uma cauda muito mais gorda que a outra. Tome quando depois e Existem outras distâncias que permanecem limitadas, comop ( x ) = densidade de Cauchy 1

KL(P||Q)=p(x)log(p(x)q(x))dx
KG(P||Q)=1
p(x)=1π11+x2Cauchy densityq(x)=12πexp{x2/2}Normal density
1
KL(P||Q)=1π11+x2logp(x)dx+1π11+x2[log(2π)/2+x2/2]dx
1π11+x2x2/2dx=+
  • a distância , equivalente à distância total da variação,L¹
  • as distâncias de Wasserstein
  • a distância Hellinger
Xi'an
fonte
1
Muito boa observação @ Xi'an
Carlos Campos
Obrigado @ Xi'an, isso significa que até a soma de todos os compartimentos para ambas as distribuições é = 1, a divergência kl não tem um limite máximo? você tem outras opções de função de distância para duas distribuições de probabilidade que definiram limite máximo / limite estático?
user46543
P é absolutamente contínuo em relação a Q neste caso?
Sangwoong Yoon 5/04/19
Em qual "caso"? O KL não é definido como tal para distribuições que não são absolutamente contínuas entre si, acredito.
Xian
12

Para distribuições que não têm o mesmo suporte, a divergência de KL não é limitada. Veja a definição:

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

se P e Q não têm o mesmo suporte, existe algum ponto que e , fazendo com que KL vá para o infinito. Isso também é aplicável a distribuições discretas, que é o seu caso. p ( x ) 0 q ( x ) = 0xp(x)0q(x)=0

Edit: Talvez uma melhor escolha para medir a divergência entre distribuições de probabilidade seja a distância de Wasserstein, que é uma métrica e tem melhores propriedades do que a divergência KL. Tornou-se bastante popular devido a suas aplicações em aprendizado profundo (consulte redes WGAN)

Carlos Campos
fonte
Obrigado @ carlos-campos minha distribuição, tanto a atual quanto a modelo, têm a mesma condição que é a soma de todas as posições = 1. Isso significa que minha divergência de Kl ainda não tem um limite máximo? Vou olhar à distância wassertein
user46543
a distância de Wasserstein ou do motor da Terra tem um limite máximo explícito? porque eu preciso disso.
user46543
@ user46543 Wasserstein distância pode ser tão alta quanto
Mark L. Stone
Oi @ MarkL.Stone, para que não haja função de distância para calcular a distância entre duas distribuições de probabilidade que tem o limite máximo estático? por exemplo, enquanto duas distribuições de probabilidade têm soma de 1 e o limite máximo da distância será 1. Estou correto?
user46543
3

Para adicionar as excelentes respostas de Carlos e Xi'an , também é interessante notar que uma condição suficiente para que a divergência de KL seja finita é que ambas as variáveis ​​aleatórias tenham o mesmo suporte compacto e que a densidade de referência seja limitada . Esse resultado também estabelece um limite implícito para o máximo da divergência de KL (consulte o teorema e a prova abaixo).


Teorema: Se as densidades e q têm o mesmo suporte compacto X e a densidade p é delimitada nesse suporte (ou seja, possui um limite superior finito), então K L ( P | | Q ) < .pqXpKL(P||Q)<

Prova: Como possui suporte compacto X, isso significa que há algum valor positivo positivo:qX

q_infxXq(x)>0.

Da mesma forma, como possui suporte compacto X, isso significa que há algum valor supremo positivo:pX

p¯supxXp(x)>0.

Além disso, como essas duas densidades estão no mesmo suporte e o último é limitado, temos . Isso significa que:0<q_p¯<

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

Agora, deixando ser o último limite superior, que têm claramente assim naquela:0 L _ <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_<.

Isso estabelece o limite superior necessário, o que prova o teorema.

Restabelecer Monica
fonte
O resultado está correto, mas a restrição é pesada: uma densidade Beta não possui suporte compacto quando . B(α,β)max(α,β)>1
Xi'an
Isso é verdade: afinal, é apenas uma condição suficiente. Condições suficientes mais fracas são bem-vindas!
Reintegrar Monica