本文へ移動

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