KL情報量を概念的に理解する
KL情報量(カルバック・ライブラー・ダイバージェンス)は、確率分布どうしの距離的な尺度で、次元削減とか機械学習とかいろんなところでとってもよく出てきます。が、使うときはその意味はあまり考慮する必要はないので、今回はあえてそこを考えます。
情報量
まず、情報量について考えます。情報量というのは、情報の価値の指標です。情報の価値は、その情報が発生する確率に依存します。起こるのが珍しいほど良い情報ということです。
例えば、「宝くじが当たった」という情報は情報量が高く、「地球がまわった」という情報は情報量が低い、というようになっています。まあ、確かにレアなものほど嬉しい気はしますよね。こういったように情報量という指標をシャノンさんが定めました。具体的には次式のように表現します。
は単調増加の関数で、確率の逆数をとっているので、はが小さいほど大きくなるような量として設計されていることがわかります。このあたりの情報理論とかにもし興味があれば、本とか読んでみてください。ファイル圧縮とか通信などに応用されています。
カルバック・ライブラー情報量
では、KL情報量の定義式を見ていきましょう。
なんとなく情報量の式に見える気がします。少し変形させてみましょう。
よくみると期待値の中身が情報量同士の差分になっていますね。これらの関係を具体的に数字を入れて、図で見ていきます。
とりあえず例として、とを正規分布とし、それぞれ平均を0, 3、分散を2.5, 2としたものを考えます。確率密度関数は以下のとおり。
ちなみに、KL情報量では向きが変わると値が変わります。つまり、となります。これを双方向で等しくしたタイプのJS情報量というものもあり、これは2つの分布の平均の分布とのKL情報量を利用しています。
まとめ
今回は、KL情報量について少しだけ考察しました。ここでは、情報量の差の期待値という視点で説明しましたが、他の情報理論に関する量をKL情報量として捉えることもできたりするようで、もしかしたらもっとわかりやすい理解もあるかもしれません。まあ、少しでも理解してもらえると嬉しいです。
また、今回の実験のコードはjupyter notebookにまとめてGitHubにあげているのでよかったらどうぞ。
Jupyter Notebook Viewer
では、