Quiero estimar la divergencia KL entre dos distribuciones continuas f y g. Sin embargo, no puedo escribir la densidad para f o g. Puedo tomar muestras de f y g a través de algún método (por ejemplo, markov chain monte carlo).
La divergencia KL de f a g se define así
Esta es la expectativa de con respecto a f para que puedas imaginar alguna estimación de monte carlo
Donde i indexa N muestras extraídas de f (es decir, para i = 1, ..., N)
Sin embargo, como no sé f () yg (), ni siquiera puedo usar esta estimación de Monte Carlo. ¿Cuál es la forma estándar de estimar el KL en esta situación?
EDITAR: NO conozco la densidad no normalizada para f () o g ()
kullback-leibler
Frelk
fuente
fuente
Respuestas:
Aquí supongo que solo puede tomar muestras de los modelos; una función de densidad no normalizada no está disponible.
Tu escribes eso
donde he definido la razón de probabilidades para ser . Alex Smola escribe, aunque en un contexto diferente que puede estimar estas proporciones "fácilmente" simplemente entrenando a un clasificador. Supongamos que ha obtenido un clasificador , que puede indicarle la probabilidad de que haya generado una observación . Tenga en cuenta que . Entonces:p ( f | x ) x f p ( g | x ) = 1 - p ( f | x )r p(f|x) x f p(g|x)=1−p(f|x)
donde el primer paso se debe a Bayes y el último se deduce de la suposición de que .p(g)=p(f)
Obtener un clasificador de este tipo puede ser bastante fácil por dos razones.
Primero, puedes hacer actualizaciones estocásticas. Eso significa que si está utilizando un optimizador basado en gradiente, como es típico para la regresión logística o las redes neuronales, simplemente puede extraer muestras de cadaf y y hacer una actualización.g
En segundo lugar, dado que tiene datos prácticamente ilimitados, puede simplemente muestrear y hasta la muerte, no tiene que preocuparse por el sobreajuste o similares.f g
fuente
Supongo que puede evaluar y g hasta una constante de normalización. Denote f ( x ) = f u ( x ) / c f y g ( x ) = g u ( x ) / c gf g f(x)=fu(x)/cf sol( x ) = gtu( x ) / csol .
Un estimador consistente que puede usarse es , donde r = 1 / n
Deje que , { y i } ∼ π g , y { z i } ∼ π r . El numerador de (1) converge a c f . El denominador converge a c g{ xyo} ∼ πF { yyo} ∼ πsol { zyo} ∼ πr cf cg . La relación es consistente por el teorema de mapeo continuo. El registro de la relación es consistente mediante el mapeo continuo nuevamente.
En cuanto a la otra parte del estimador, por la ley de los grandes números.
Mi motivación es la siguiente:
Así que solo lo rompo en pedazos manejables.
Para obtener más ideas sobre cómo simular la razón de probabilidad, encontré un artículo que tiene algunas: https://projecteuclid.org/download/pdf_1/euclid.aos/1031594732
fuente
Además del método clasificador probabilístico mencionado por @bayerj, también puede usar el límite inferior de la divergencia KL derivada en [1-2]:
Referencias
[1] Nguyen, X., Wainwright, MJ y Jordan, MI, 2010. Estimación de las funciones de divergencia y la razón de probabilidad por minimización convexa del riesgo. IEEE Transactions on Information Theory, 56 (11), pp.5847-5861.
[2] Nowozin, S., Cseke, B. y Tomioka, R., 2016. f-gan: Capacitación de muestreadores neuronales generativos utilizando minimización de divergencia variacional. En Avances en sistemas de procesamiento de información neuronal (pp. 271-279).
fuente