モンテカルロでカルバックライブラー(KL)の分岐を推定する


9

2つの連続分布fとgの間のKLダイバージェンスを推定したいと思います。ただし、fとgのどちらの密度も書き留めることはできません。何らかの方法でfとgの両方からサンプリングできます(たとえば、マルコフチェーンモンテカルロ)。

fからgへのKL発散は次のように定義されます

DKL(f||g)=∫−∞∞f(x)log⁡(f(x)g(x))dx

これはlog (f (x )の期待値ですfに関して、モンテカルロ推定を想像できるlog⁡(f(x)g(x))

1N∑iNlog⁡(f(xi)g(xi))

ここで、fから引き出され、私のインデックスNのサンプル(すなわち i = 1から、...、Nについて)xi∼f()

ただし、f()とg()がわからないため、このモンテカルロ推定値を使用することもできません。この状況でKLを推定する標準的な方法は何ですか?

編集:f()またはg()の非正規化密度がわかりません


ECDFの使用を検討しましたか?
— トビー2017年

これは機能しますが、fとg(近い、または近い尾)を厳しく選択すると、任意に遅くなる可能性があります。尾から離れたサンプルを無視することにした場合は、rocの上限でより多くの運が得られる可能性があります。
— enthdegree

回答:


6

ここでは、モデルからのみサンプリングできると想定しています。非正規化密度関数は利用できません。

あなたはそれを書きます

DKL(f||g)=∫−∞∞f(x)log⁡(f(x)g(x)⏟=:r)dx,

rp(f|x)xfp(g|x)=1−p(f|x)

r=p(x|f)p(x|g)=p(f|x)p(x)p(g)p(g|x)p(x)p(f)=p(f|x)p(g|x),

p(g)=p(f)

このような分類子を取得することは、2つの理由で非常に簡単です。

fg

fg


6

fgf(x)=fu(x)/cfg(x)=gu(x)/cg

DKL^(f||g)=[n−1∑jfu(xj)/πf(xj)]−11N∑iN[log⁡(fu(zi)gu(zi))fu(zi)πr(zi)]−log⁡(r^)
(1)r^=1/n1/n∑jfu(xj)/πf(xj)∑jgu(yj)/πg(yj).
cf/cgπfπgfuguπr

{xi}∼πf{yi}∼πg{zi}∼πrcfcg

1N∑iN[log⁡(fu(zi)gu(zi))fu(zi)πr(zi)]→ascfE[log⁡(fu(zi)gu(zi))]

私の動機は次のとおりです。

DKL(f||g)=∫−∞∞f(x)log⁡(f(x)g(x))dx=∫−∞∞f(x){log⁡[fu(x)gu(x)]+log⁡[cgcf]}dx=Ef[log⁡fu(x)gu(x)]+log⁡[cgcf]=cf−1Eπr[log⁡fu(x)gu(x)fu(x)πr(x)]+log⁡[cgcf].

尤度比をシミュレートする方法に関するその他のアイデアについては、いくつかの論文を見つけました:https ://projecteuclid.org/download/pdf_1/euclid.aos/1031594732


(+1)ターゲット分布の裾がサンプリング元の分布よりも太い場合、および/または次元数が大きい場合、重要度サンプリングの分散が非常に大きくなる可能性があります(無限分散であっても)。
— デビッドJ.ハリス

@ DavidJ.Harrisは非常に真実
— テイラー

0

@bayerjによって言及された確率的分類子メソッドに加えて、[1-2]で導出されたKL発散の下限を使用することもできます。

KL[f‖g]≥supT{Ex∼f[T(x)]−Ex∼g[exp⁡(T(x)−1)]},
T:X→R
T(x)=1+ln⁡[f(x)g(x)]

fgT(x)

参照:

[1] Nguyen、X.、Wainwright、MJおよびJordan、MI、2010。凸型リスク最小化による発散汎関数と尤度比の推定。IEEE Transactions on Information Theory、56(11)、pp.5847-5861。

[2] Nowozin、S.、Cseke、B.およびTomioka、R.、2016。f-gan:変分発散最小化を使用した生成神経サンプラーのトレーニング。神経情報処理システムの進歩(pp。271-279)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.