G検定(ジェネラリスト検定)
かるばっくらいぶらーじょうほうりょう
カルバック・ライブラー情報量
KL
Kullback-Leibler Divergence
カルバック・ライブラー情報量(KLダイバージェンス)は、同じ確率変数についての2つの確率分布PとQがどれだけ違うかを測る量です。常に0以上で、PとQが同じ分布のときだけ0になりますが、PとQを入れ替えると値が変わることがあるため、本当の意味での距離ではありません。
詳しい説明
2つの確率分布の違いを測る量
同じ確率変数xについて、2つの確率分布P(x)とQ(x)があるとき、両者がどれだけ違うかを測る量がカルバック・ライブラー情報量(KLダイバージェンス、略してKL)です。式は次のとおりです。
D_KL(P||Q) = E_{x~P}[log P(x) - log Q(x)]
xをPに従って取り出したときの、log P(x)とlog Q(x)の差の期待値を表します。G検定シラバス2024のキーワードに含まれる語です。
情報理論から見た意味
離散変数の場合、KLダイバージェンスは、分布Qから引いたメッセージを最も短く送れるように設計した符号を使って、分布Pから引いた記号のメッセージを送るときに、余分に必要となる情報量を表します。対数の底を2にすればビットで測れますが、機械学習では自然対数を使い、単位をナットとするのが一般的です。
非負であること、対称でないこと
KLダイバージェンスは常に0以上です。0になるのは、離散変数ではPとQが同じ分布のとき、連続変数ではPとQがほとんど至るところで等しいときに限られます。
非負で分布の違いを測るので、2つの分布の間の距離のように考えられることがよくあります。しかし、PとQによってはD_KL(P||Q) ≠ D_KL(Q||P)となり、対称ではありません。そのため本当の意味での距離ではなく、ダイバージェンス(乖離)と呼ばれます。
どちらの向きを最小化するかで結果が変わる
分布p(x)を別の分布q(x)で近似したいとき、D_KL(p||q)とD_KL(q||p)のどちらを最小化するかを選ぶことになり、どちらがよいかは問題によって決まります。pが複数の山(モード)を持つ場合、D_KL(p||q)を最小化すると、qはすべての山に高い確率を置こうとして、山々をぼかしてまとめた形になります。D_KL(q||p)を最小化すると、pの山と山の間にある確率の低い領域に確率を置かないように、qは1つの山だけを選びます。
交差エントロピーとの関係
KLダイバージェンスと密接に関係する量が交差エントロピーH(P,Q)で、次の関係があります。
H(P,Q) = H(P) + D_KL(P||Q)
H(P)はPだけで決まり、Qを含みません。そのため、Qについて交差エントロピーを最小化することは、KLダイバージェンスを最小化することと同じになります。
試験で問われること
G検定
- KLダイバージェンスは、同じ確率変数についての2つの確率分布PとQの違いを測る量で、D_KL(P||Q) = E_x~P[log P(x) - log Q(x)]と表す。
- 値は常に0以上で、PとQが同じ分布のとき(連続変数ではほとんど至るところで等しいとき)に限って0になる。
- D_KL(P||Q)とD_KL(Q||P)は一般に等しくない。対称でないため、本当の意味での距離ではない。
- 複数の山を持つpをqで近似するとき、D_KL(p||q)を最小化するとqは山々をぼかしてまとめ、D_KL(q||p)を最小化するとqは1つの山を選ぶ。
- H(P,Q) = H(P) + D_KL(P||Q)が成り立つ。H(P)はQを含まないので、Qについて交差エントロピーを最小化することはKLダイバージェンスを最小化することと同じになる。
最終更新日: 2026/09/23