Kullback-Leibler(KL)発散の最大値は何ですか


14

私は私のpythonコードでKL発散を使用するつもりで、このチュートリアルを手に入れました。

そのチュートリアルでは、KLの発散を実装するのは非常に簡単です。

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

私が理解したように、確率分布modelとは、actual<= 1でなければなりません。

私の質問は、kの最大限界/最大可能値は何ですか?私のコードの上限については、kl距離の可能な最大値を知る必要があります。


回答:


16

または、同じサポートでも、あるディストリビューションが他のディストリビューションよりもはるかに太いテールを持つ場合。取る とき then および ような制限されたままで他の距離が存在しますP (X )= コーシー密度⏞ 1

KL(P||Q)=∫p(x)log⁡(p(x)q(x))dx
KL(P||Q)=∫1
p(x)=1π11+x2⏞Cauchy densityq(x)=12πexp⁡{−x2/2}⏞Normal density
∫ 1
KL(P||Q)=∫1π11+x2log⁡p(x)dx+∫1π11+x2[log⁡(2π)/2+x2/2]dx
∫1π11+x2x2/2dx=+∞
  • 全変動の距離に相当する距離、L¹
  • ワッサーシュタイン距離
  • ヘリンジャー距離

1
非常に良い発言@ Xi'an
— カルロスカンポス

おかげで@ Xi'anは、両方の分布のすべてのビンの合計が1であることを意味します、klの発散には上限がありませんか?最大境界/静的境界を定義した2つの確率分布の距離関数には他のオプションがありますか?
— user46543

この場合、PはQに関して完全に連続していますか?
— サンウンユン

その場合"?KLは、互いに完全に連続していない分布については、そのように定義されていません。
— 西安

12

同じサポートを持たないディストリビューションの場合、KLの発散は制限されません。定義を見てください:

KL(P||Q)=∫−∞∞p(x)ln⁡(p(x)q(バツ))dバツ

PとQが同じサポートを持たない場合、およびである点が存在し、KLが無限大になります。これは、離散分布にも当てはまります。 p (x ′)≠ 0 q (x ′)= 0バツ′p(x′)≠0q(x′)=0

編集:たぶん、確率分布間の発散を測定するためのより良い選択は、いわゆるWasserstein距離でしょう。これは、メトリックであり、KL発散よりも優れた特性を持っています。ディープラーニングへの応用により非常に人気があります(WGANネットワークを参照)


@ carlos-camposのおかげで、実際の分布とモデルの分布は、すべてのビンの合計= 1である同じ条件になります。つまり、私のKl発散にはまだ上限がありません。私はwasserteinの距離を見ていきます
— user46543

WassersteinまたはEarth moverの距離には明示的な最大境界がありますか?必要だから
— user46543

@ user46543ワッサースタインの距離はまで可能です∞
— マークL.ストーン

こんにちは@ MarkL.Stoneなので、静的な最大境界を持つ2つの確率分布間の距離を計算するための距離関数はありませんか?たとえば、2つの確率分布の合計は1であり、距離の最大境界は1になりますが、正しいですか?
— user46543

3

CarlosとXi'anによる優れた答えに追加するために、KL発散が有限になるための十分な条件は、両方のランダム変数が同じコンパクトなサポートを持ち、参照密度が制限されることであることに注意することも興味深い。この結果は、KL発散の最大値の暗黙的な境界も確立します(以下の定理と証明を参照)。


定理:密度pとqが同じコンパクトなサポートX持ち、密度pがそのサポートに制限されている(つまり、有限の上限がある)場合、KL(P||Q)<∞。

証明:qはコンパクトなサポート持っているのでX、これはいくつかの正の無限値があることを意味します。

q_≡infx∈Xq(x)>0.

同様に、pはコンパクトなサポート持っているため、これはいくつかの正の上限値があることを意味します。X

p¯≡supx∈Xp(x)>0.

0<q_⩽p¯<∞

supx∈Xln⁡(p(x)q(x))⩽ln⁡(p¯)−ln⁡(q_).

今、せる後者の上限であることを、我々は明らかに持っていようそれ:0⩽ L _ <∞L_≡ln⁡(p¯)−ln⁡(q_)0⩽L_<∞

KL(P||Q)=∫Xln⁡(p(x)q(x))p(x)dx⩽supx∈Xln⁡(p(x)q(x))∫Xp(x)dx⩽(ln⁡(p¯)−ln⁡(q_))∫Xp(x)dx=L_<∞.

これにより、必要な上限が確立され、定理が証明されます。 ◼


結果は正しいが、制約が重い:Beta密度は、場合、コンパクトなサポートを享受しません。B(α,β)max(α,β)>1
— 西安

それは本当です。結局のところ、それは十分な条件にすぎません。より弱い十分な条件は大歓迎です!
— モニカを
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.