test

ビジネスと技術やってたらロボティクスにいきついた人のブログ

カルバックライブラ距離・・・?得体が知れないので正規分布で具体例を作ってみる

カルバックライブラ距離とは

p(x),q(x)xを確率変数とする確率分布として以下の式で定義される

\int dx \ q(x) \log \frac{q(x)}{p(x)}

 

カルバックライブラ距離は常に非負で、ゼロになる時は

 p(x)=q(x)のときに限るという性質があります。

※距離の公理は満たさないので、本当は距離と呼ぶべきじゃないかもしれませんが、あえて距離と呼びます。数学的な術語としての「距離」の意味はないです。

 

ものの本によれば、

「真の分布をq(x)、推測の結果をp(x)とすると、カルバックライブラ距離が小さいようなp(x)を持ってくることで真の分布に近い推測が得られるだろう」

とのこと。

 

カルバックライブラ距離を持ってくるモチベーションが全然わからん・・・。

正規分布で具体的に計算してみれば何がやりたいかつかめないかな?

ということで計算してみる。

 

p(x)q(x)正規分布にしちゃう。

p(x) = \frac{1}{\sqrt{2\pi \sigma _1 ^2}} \exp ( -\frac{1}{2\sigma _1 ^2 } (x-m_1)^2 )

q(x) = \frac{1}{\sqrt{2\pi \sigma _2 ^2}} \exp ( -\frac{1}{2\sigma _2  ^2} (x-m_2)^2 )

 

このとき、カルバックライブラ距離は

\int dx \ q(x) \log \frac{q(x)}{p(x)}

=\int dx \ q(x)( \log \frac{\sqrt{2\pi \sigma _1 ^2}}{\sqrt{2\pi \sigma _2 ^2}} -\frac{1}{2\sigma _2  ^2} (x-m_2)^2 +\frac{1}{2\sigma _1 ^2 } (x-m_1)^2 )

 = \log \frac{\sigma _1}{\sigma _2} -\frac{1}{2\sigma _2  ^2} \int dx\ q(x)(x-m_2)^2 +\frac{1}{2\sigma _1 ^2 } \int dx \ q(x)  (x-m_1)^2

 

第1項は2つの分布の分散で決まる項

第2項はこれ、実は定数ですね。(あとで第3項の計算をしたあとで、 \sigma _1 = \sigma 2とするとわかる)

それと3つめ、相手の\sigma,\ mを使って「分散」を計算する項が出てきた。

 第3項をもう少し変形する

 

 \frac{1}{2\sigma _1 ^2 } \int dx \ q(x)  (x-m_1)^2

 =  \frac{1}{2\sigma _1 ^2 } \int dx \ q(x)  (x-m_2 +m_2 -m_1)^2

=\frac{1}{2\sigma _1 ^2 } \int dx  \ q(x) (x-m_2)^2 +\frac{2}{2\sigma _1 ^2 } \int dx  \ q(x) (x-m_2)(m_2 -m_1) + \frac{1}{2\sigma _1 ^2 } \int dx  \ q(x) (m_2 - m_1)^2

 

第1項は正規分布から分散を計算するいつものあの変換で計算できる

第2項は x \to x-m_2の変換をすると被積分関数が奇関数になるのでゼロ

第3項は \int dx  \ q(x) =1なので簡単に計算できる

結局

 

 \frac{1}{2\sigma _1 ^2 } \int dx \ q(x)  (x-m_1)^2

 =\frac{\sigma _2 ^3}{2\sigma _1 ^3}+\frac{ (m_2 - m_1)^2}{2\sigma _1 ^2 }

 

まとめると

\int dx \ q(x) \log \frac{q(x)}{p(x)}

=\log \frac{\sigma _1}{\sigma _2} - \frac{1}{2} + \frac{\sigma _2 ^3}{2\sigma _1 ^3}+\frac{ (m_2 - m_1)^2}{2\sigma _1 ^2 }

 

結論:やっぱりわからん。

計算間違った・・・?(一応q(x) = p(x)ならゼロだが・・・)