Kullback-Leibler(KL)発散に関する直観


47

モデル分布関数がデータの理論的/真の分布とどれだけ異なるかということから、KL発散の背後にある直感について学びました。私が読んでいるソースは、これらの2つの分布間の「距離」の直感的な理解が役立つと言い続けていますが、2つの分布PQではKL発散はPQ対称ではないため、文字通り解釈すべきではありません。

私は最後の声明を理解する方法がわかりません、またはこれは「距離」の直感が壊れるところですか?

シンプルだが洞察に満ちた例に感謝します。


3
後退して、通常は真の人口分布とサンプル(または真とモデル)などの間の統計に非対称性があることを理解する必要があると思います。これはKL発散が反映するものです...一般的な確率理論にはありません'その区別は一般的ではなく、対称メトリックはより理にかなっています
-seanv507

1
どの「ソース」を読んでいたのですか?
-nbro

回答:


34

(メトリック)距離Dは対称、つまりなければなりませんD(P,Q)=D(Q,P)。しかし、定義から、KLはそうではありません。

例:Ω={A,B}P(A)=0.2,P(B)=0.8Q(A)=Q(B)=0.5

我々は持っています:

KL(P,Q)=P(A)logP(A)Q(A)+P(B)logP(B)Q(B)0.19

そして

KL(Q,P)=Q(A)logQ(A)P(A)+Q(B)logQ(B)P(B)0.22

したがって、あり、したがってK Lは(距離)距離ではありません。KL(P,Q)KL(Q,P)KL


50

他の優れた答えに加えて、さらに直感を追加できる別の視点を持つ答えが求められました。

カルバック・ライブラー情報量がある どの分布がデータ X Pおよび Qを生成しているかに関する2つの仮説がある場合、 p x

KL(P||Q)=p(x)logp(x)q(x)dx
XPQ テストのための尤度比であり、H0Qに対するH1P。上記のKullback-Leibler発散は、対立仮説の下での対数尤度比の期待値であることがわかります。したがって、KLP||Qは、Qが帰無仮説の場合、この検定問題の難易度の尺度です。したがって、非対称性KLP||QKLQ||Pp(x)q(x)H0:QH1:PKL(P||Q)QKL(P||Q)KL(Q||P) 単に、帰無仮説と対立仮説の非対称性を反映しています。

特定の例でこれを見てみましょう。ましょうであるT ν -distribution及びQ(以下数値exampeにおける標準正規分布ν = 1)。発散を定義する積分は複雑に見えるので、Rで数値積分を使用します。PtνQν=1

> lLR_1  <-  function(x) {dt(x, 1, log=TRUE)-dnorm(x, log=TRUE)}  
> integrate(function(x) dt(x, 1)*lLR_1(x), lower=-Inf, upper=Inf)
Error in integrate(function(x) dt(x, 1) * lLR_1(x), lower = -Inf, upper = Inf) : 
  the integral is probably divergent

> lLR_2  <-  function(x) {-dt(x, 1, log=TRUE)+dnorm(x, log=TRUE)}  
> integrate(function(x) dnorm(x)*lLR_2(x), lower=-Inf, upper=Inf)
0.2592445 with absolute error < 1e-07

最初のケースでは積分は、発散を示すこともある小さな、要約第二の場合に、非常に大きいまたは無限である数値発散するように思われる:

KL(P||Q)KL(Q||P)0.26

t1t1t1t1n=1t1!役割を切り替えるのではなく、違いは主に外れ値の役割から生じます。

t1t1

これはここでの私の答えに関連しています: なぜ通常のエラーの代わりにtエラーを使用する必要があるのですか?


22

D(P||Q)

SKL(P,Q)=D(P||Q)+D(Q||P)
D(P||Q)SKL(P,Q)
D(A||B)+D(B||C)D(A||C)
SKL(A,B)+SKL(B,C)SKL(A,C)
D(P||Q)=ipilog(piqi)
SKL(P,Q)=i(piqi)log(piqi)

D(A||B)=0.1log(0.10.2)+0.9log(0.90.8)0.0159
D(B||C)0.0112
D(A||C)0.0505
0.0159+0.01120.0505
SKL(A,B)0.0352
SKL(B,C)0.0234
SKL(A,C)0.1173
0.0352+0.02340.1173

この例を意図的に紹介しました。コインを100回投げていると想像してみましょう。このコインに偏りがない限り、投げる結果を0〜1ビットのシーケンス(1頭、0尾)でエンコードするだけです。頭の確率が尾の確率と同じで0.5に等しいような状況では、これは非常に効果的なエンコードです。現在、バイアスのかかったコインがいくつかあるため、ヘッドとテールのグループをマージし、kテールのシーケンスより長いコードでkヘッドのシーケンスを表すなど、より短いコードでより可能性の高い結果をエンコードします(より可能性が高い)。そして、ここでカルバック・ライブラー発散発生します。Pが結果の真の分布を表し、QがPの近似のみである場合、D(P||Q)D(P||Q) は、実際にP distribからの結果をQ向けのエンコードでエンコードするときに支払うペナルティを示します(使用する必要がある追加ビットの意味でのペナルティ)。

単にメトリックが必要な場合は、Bhattacharyya距離を使用します(もちろん、修正バージョン)1[xp(x)q(x)]


7
KLの発散に密接に関連するメトリックを実際に持つことに関心がある場合、Bhattacharyyaの代わりにJensen-Shannonの発散の平方根を考慮することができます。
枢機

5

私はここであなたの質問に純粋に直感的な答えをしたいと思います。言い換えると、KL発散は、ヒルベルト空間の2つのデータセット間の距離を計算するために、2つの分布間の距離を測定する方法ですが、注意が必要です。

どうして?KLの発散は、たとえばノルムなど、通常使用できる距離ではありません。確かに、2つの分布が等しい場合にのみ正であり、ゼロに等しくなります(距離を定義するための公理のように)。ただし、前述のとおり、対称ではありません。これを回避する方法はありますが、対称的でないことは理にかなっています。L2

確かに、KLダイバージェンスは、モデル分布間の距離を定義(あなたが実際に知っている)と、理論上1の、それは違った扱いすることは理にかなっていることなどの(「理論上」の距離する仮定をモデル)および(データ想定したからへの「経験的」距離)は、まったく異なる尺度を意味するためです。QPKL(P,Q)PQPKL(Q,P)PQQ


4

教科書の「情報理論の要素」に例を示します。

たとえば、確率変数の真の分布pがわかっている場合、平均記述長H(p)のコードを作成できます。代わりに、分布qのコードを使用した場合、ランダム変数を記述するために平均でH(p)+ D(p || q)ビットが必要になります。

上記のステートメントを言い換えると、情報分布を(qからpに)変更する場合、新しい分布をコーディングするために平均でD(p || q)余分なビットが必要であると言えます。

イラスト

これを自然言語処理での1つのアプリケーションを使用して説明します。

Bラベルされた人々の大規模なグループは、メディエーターであることを考慮して、それらのそれぞれは以下から名詞を選択するタスクを割り当てられturkeyanimalそしてbook与えるために、それらのそれぞれに電子メールを送信することが男の名前AがあるとCに送信しますそれらにいくつかのヒント。グループの誰もメールを受け取らなかった場合、眉を上げて、Cが何を必要としているかをしばらくの間ためらうかもしれません。また、各オプションが選択される確率は1/3です。全体的に均一な分布(そうでない場合、それは彼ら自身の好みに関連する可能性があり、そのような場合は無視します)。

しかし、のような動詞が与えられた場合baste、3/4が選択しturkey、3/16が選択されanimal、1/16が選択されますbook。それでは、動詞を知った後、各メディエーターが平均してどれくらいの情報をビット単位で取得しましたか?それは:

D(p(nouns|baste)||p(nouns))=x{turkey,animal,book}p(x|baste)log2p(x|baste)p(x)=34log23413+316log231613+116log211613=0.5709  bits

しかし、与えられた動詞がどうしたらread?それらのすべてがbookためらうことなく選択すると想像するかもしれません。その場合、動詞からの各メディエーターの平均情報ゲインreadは次のとおりです。

D(p(nouns|read)||p(nouns))=x{book}p(x|read)log2p(x|read)p(x)=1log2113=1.5849  bits
動詞readが調停者により多くの情報を与えることができることがわかります。そして、それが相対エントロピーが測定できるものです。

話を続けましょう。Aが調停者に間違った動詞を送ることで間違いを犯したかもしれないとAが言ったので、Cが名詞が間違っている可能性があると疑う場合。それでは、このような悪いニュースはCにどの程度の情報を与えることができますか?

1)Aで与えられる動詞であった場合baste

D(p(nouns)||p(nouns|baste))=x{turkey,animal,book}p(x)log2p(x)p(x|baste)=13log21334+13log213316+13log213116=0.69172  bits

2)しかし、もし動詞がreadどうだったとしたら?

D(p(nouns)||p(nouns|baste))=x{book,,}p(x)log2p(x)p(x|baste)=13log2131+13log2130+13log2130=  bits

Cは他の2つの名詞が何であるかを決して知らないので、語彙のどの単語も可能です。

KLの発散が非対称であることがわかります。

私が正しいことを願っています。そうでない場合は、コメントして修正してください。前もって感謝します。

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