カルバック・ライブラー情報量による確率分布の比較

勉強カテゴリー

最近仕事でカルバック・ライブラー情報量(Kullback-Leibler divergence)を利用して確率分布の比較を行いました。

この手法を知らなかったので、自分のためにまとめておきます。

カルバック・ライブラー情報量とは

KLダイバージェンスや情報利得とも呼ばれており、2つの確率分布の差異を計る尺度です。

真の確率分布(P)(観測や計算によって求められた確率分布)と、任意の確率分布(Q)(学習モデルによる出力など)の距離を計算することが可能です。

距離は、ある意味2つの確率分布(P)と(Q)の類似度として捉えることができます。

KL情報量は、離散分布に加えて、連続分布に対しても定義されています。

定義

離散分布

(P)と(Q)が離散分布のとき、KL情報量は下記で定義されます。

$$ latex D_{KL}(P||Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)} $$

連続分布

(P)と(Q)が連続分布のとき、KL情報量は下記で定義されます。

$$ latex D_{KL}(P||Q) = \int_{-\infty}^{\infty} P(x) \log \frac{P(x)}{Q(x)}dx $$

特徴

基本的な特徴は3つあります。

1つ目は、(P)と(Q)が同じ分布のときは(D_{KL}(P||Q)=0)になること。

これは、式を見たらわかりますね。

2つ目は、(D_{KL}>0)を満たすこと。これも式をみたらわかります。

3つ目は、対称性がないことです。

つまり、(D_{KL}(P||Q) \neq (D_{KL}(Q||P))です。

3つ目の特徴も式を見たらわかるのですが、見落としがちかなと思います。

プログラムで利用するときには注意が必要な点だと思います。

まとめ

すごい簡単にKL情報量についてまとめました。

まとめたというよりは、定義を書いたという感じですが、こういう指標があることを忘れないようにしたいと思います。