Quero estimar a divergência KL entre duas distribuições contínuas feeg. No entanto, não posso anotar a densidade para f ou g. Eu posso amostrar a partir de feg através de algum método (por exemplo, cadeia de markov monte carlo).
A divergência KL de f para g é definida assim
Esta é a expectativa de em relação a f, para que você possa imaginar uma estimativa de monte carlo
Onde i indexa N amostras extraídas de f (ie para i = 1, ..., N)
No entanto, como não conheço f () e g (), não posso nem usar essa estimativa de monte carlo. Qual é a maneira padrão de estimar o KL nessa situação?
Edição: Eu não sei a densidade não normalizada para f () ou g ()
kullback-leibler
frelk
fonte
fonte
Respostas:
Aqui, suponho que você só pode provar a partir dos modelos; uma função de densidade não normalizada não está disponível.
Você escreve isso
onde defini a razão de probabilidades como . Alex Smola escreve, embora em um contexto diferente, você possa estimar essas proporções "facilmente" apenas treinando um classificador. Suponhamos que você tenha obtido um classificador p ( f | x ) , que pode lhe dizer a probabilidade de uma observação x ter sido gerada por f . Observe que p ( g | x ) = 1 - p ( f | x ) . Então:r p(f|x) x f p ( g| x)=1-p(f| x)
onde o primeiro passo é devido a Bayes e o último segue da suposição de que .p ( g) = p ( f)
Obter esse classificador pode ser bastante fácil por dois motivos.
Primeiro, você pode fazer atualizações estocásticas. Isso significa que, se você estiver usando um otimizador baseado em gradiente, como é típico para regressão logística ou redes neurais, você pode simplesmente desenhar uma amostra de cada e ge fazer uma atualização.f g
Segundo, como você tem dados virtualmente ilimitados - você pode apenas provar e g até a morte - não precisa se preocupar com o ajuste excessivo ou algo parecido.f g
fonte
Eu suponho que você pode avaliar e g até um constante de normalização. Denotam f ( x ) = f u ( x ) / C f e g ( x ) = g u ( x ) / c g .f g f( x ) = fvocê( x ) / cf g( x ) = gvocê( x ) / cg
Um estimador consistente que pode ser usado é em que R = 1 / n
Então deixou , { y i } ~ π g , e { z i } ~ π r . O numerador de (1) converge para c f . O denominador converge para c g . A proporção é consistente pelo teorema do mapeamento contínuo. O log da proporção é consistente pelo mapeamento contínuo novamente.{ xEu} ~ Πf { yEu} ~ Πg { zEu} ~ Πr cf cg
Em relação à outra parte do estimador, pela lei dos grandes números.
Minha motivação é a seguinte:
Para obter mais idéias sobre como simular a razão likelhood, encontrei um artigo com alguns: https://projecteuclid.org/download/pdf_1/euclid.aos/1031594732
fonte
Além do método classificador probabilístico mencionado por @bayerj, você também pode usar o limite inferior da divergência KL derivada em [1-2]:
Referências:
[1] Nguyen, X., Wainwright, MJ e Jordan, MI, 2010. Estimando funcionais de divergência e a razão de verossimilhança por minimização de risco convexa. IEEE Transactions on Information Theory, 56 (11), pp.5847-5861.
[2] Nowozin, S., Cseke, B. e Tomioka, R., 2016. f-gan: Treinamento de amostradores neurais generativos usando minimização de divergência variacional. In Advances in neural information processing systems (pp. 271-279).
fonte