モンテカルロでカルバックライブラー(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))

1NiNlog(f(xi)g(xi))

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

ただし、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)=1p(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)=[n1jfu(xj)/πf(xj)]11NiN[log(fu(zi)gu(zi))fu(zi)πr(zi)]log(r^)
(1)r^=1/n1/njfu(xj)/πf(xj)jgu(yj)/πg(yj).
cf/cgπfπgfuguπr

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

1NiN[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[logfu(x)gu(x)]+log[cgcf]=cf1Eπr[logfu(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[fg]supT{Exf[T(x)]Exg[exp(T(x)1)]},
T:XR
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.