#この記事は?
二つの指数分布のKullback–Leibler divergence(以下、KLダイバージェンス)の導出過程を紹介します。
地味に苦労したし、簡単に調べてだけでは導出過程が見つからなかったので、誰かのためになればと思い記事にしました。
#KLダイバージェンスとは
まず式を紹介します。
連続分布の$P$と$Q$を用意します。
すると、KLダイバージェンス$D(P || Q)$は
D(P || Q) = \int_{0}^{\infty }P(x)\log \dfrac {P\left( x\right) } {Q(x)}dx
離散分布では$\int$が$\sum$に代わります。
簡単に言うと、二つの分布の類似度を表すものです。
クラスタリングをするときに距離の代わりとして使われることもあるそうですが、$D(P||Q) \neq D(Q||P)$であり厳密には距離ではないので注意。
詳しくはここを見ましょう。
#導出
一つ目の指数分布を$P(x) = \frac{1}{\mu}e^{-\frac{x}{\mu}}$、二つ目の指数分布を$P(x) = \frac{1}{\mu'}e^{-\frac{x}{\mu'}}$とします。
\int_0^\infty \frac{1}{\mu}e^{-\frac{x}{\mu}}log\frac{\frac{1}{\mu}e^{-\frac{x}{\mu}}}{\frac{1}{\mu'}e^{-\frac{x}{\mu'}}}dx = \int_0^\infty \frac{1}{\mu}e^{-\frac{x}{\mu}} \{log\frac{1}{\mu}e^{-\frac{x}{\mu}}}-log{\frac{1}{\mu'}e^{-\frac{x}{\mu'}}\}dx\\
=\int_0^\infty \frac{1}{\mu}e^{-\frac{x}{\mu}} \{log\frac{1}{\mu}+log\ e^{-\frac{x}{\mu}}-(log\frac{1}{\mu'}+log\ e^{-\frac{x}{\mu'}})\} dx\\
=\int_0^\infty \frac{1}{\mu}e^{-\frac{x}{\mu}} \{log\frac{1}{\mu}+log\ e^{-\frac{x}{\mu}}-log\frac{1}{\mu'}-log\ e^{-\frac{x}{\mu'}}\}dx\\
=\int_0^\infty \frac{1}{\mu}e^{-\frac{x}{\mu}} \{log\frac{1}{\mu}-\frac{x}{\mu}-log\frac{1}{\mu'}+\frac{x}{\mu'}\}dx
長くなってきたので$dx$は省略します。
=log\frac{1}{\mu}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
-\frac{x}{\mu}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
-log\frac{1}{\mu'}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
+\frac{x}{\mu'}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
項の順番を入れ替えます。
ついでに下の式第3項と第4項の$x$の位置を少し変えたことに注意してください。
=log\frac{1}{\mu}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
-log\frac{1}{\mu'}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
+\frac{1}{\mu'}\int_0^\infty x\frac{1}{\mu}e^{-\frac{x}{\mu}}
-\frac{1}{\mu}\int_0^\infty x\frac{1}{\mu}e^{-\frac{x}{\mu}}
上の式の第1項と第2項は$log\ a-log\ b=log\frac{a}{b}$の法則でまとめます。
=log\frac{\mu'}{\mu}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}
+\frac{1}{\mu'}\int_0^\infty x\frac{1}{\mu}e^{-\frac{x}{\mu}}
-\frac{1}{\mu}\int_0^\infty x\frac{1}{\mu}e^{-\frac{x}{\mu}}
ここで、連続分布の期待値の公式より、上の式の第2項と第3項の$\int_0^\infty x\frac{1}{\mu}e^{-\frac{x}{\mu}}$は$\mu$と変換できます。
短くなってきたので$dx$を戻します。
\begin{align*}
&=log\frac{\mu'}{\mu}\int_0^\infty\frac{1}{\mu}e^{-\frac{x}{\mu}}dx
+\frac{1}{\mu'}\mu
-\frac{1}{\mu}\mu\\
&=log\frac{\mu'}{\mu}[-e^{-\frac{x}{\mu}}]_0^\infty
+\frac{\mu}{\mu'}
-1\\
&=log\frac{\mu'}{\mu}\{-e^{-\frac{\infty}{\mu}}-(-e^{-\frac{0}{\mu}})\}
+\frac{\mu}{\mu'}
-1\\
&=log\frac{\mu'}{\mu}\{0-(-1)\}+\frac{\mu}{\mu'}-1\\
&=log\frac{\mu'}{\mu}+\frac{\mu}{\mu'}-1\\
\end{align*}
というわけで、指数分布同士のKLダイバージェンスが導出できました。
どこかに間違いがあったらご指摘ください。
数式の「=」をそろえるのってどうするんだろう
y-murata
ありがとうございます、=をそろえることができました。