多次元正規分布間のKLダイバージェンス

多次元正規分布間のKLダイバージェンスは,

 D_{KL} (\mathcal{N}({\bf \mu_0}, \Sigma_0)||\mathcal{N}({\bf \mu_1}, \Sigma_1))

 =\frac{1}{2}(\log(\frac{\det \Sigma_1}{\det \Sigma_0})+{\rm Tr}(\Sigma_1^{-1}\Sigma_0) +({\bf \mu_1} - {\bf \mu_0})^{\rm T} \Sigma_1^{-1}({\bf \mu_1} - {\bf \mu_0}) -d)

となっているのだけど,自分にはいきなりこうなることが分からなかったので丁寧に導出してみる.

 

まず,多(d)次元正規分布

 \mathcal{N}({\bf \mu}, \Sigma)=\frac{1}{(2\pi)^{\frac{d}{2}} \det(\Sigma)^{\frac{1}{2}}} \exp(-\frac{1}{2}({\bf x} - {\bf \mu})^{\rm T} \Sigma_1^{-1}({\bf x} - {\bf \mu}))

次に,KLダイバージェンス

 D_{KL}(p(x)||q(x))

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

 = \int p(x) \log p(x) dx - \int p(x) \log q(x)} dx

と表される.このふたつの項を順に追ってみる.まず,

 \int\int ...\int p({\bf x}) \log p({\bf x}) d{\bf x}

 =\int\int ...\int p({\bf x})\log\left{\frac{1}{(2\pi)^{\frac{d}{2}} \det(\Sigma_0)^{\frac{1}{2}}} \exp(-\frac{1}{2}({\bf x} - {\bf \mu_0})^{\rm T} \Sigma_0^{-1}({\bf x}- {\bf \mu_0}))\right}d{\bf x}

 =\log\left{\frac{1}{(2\pi)^{\frac{d}{2}} \det(\Sigma_0)^{\frac{1}{2}}}\right}\int\int ...\int p({\bf x}) d{\bf x}-\frac{1}{2}\sum_{i,j}E[(x_i-\mu_{0i})(x_j-\mu_{0j})]\Sigma_{0ij}^{-1}

(分散共分散行列は対角成分以外の要素が0なので,\sum_{i,j}\sum_{i}と置き換えている?)

 =-\frac{1}{2}\log \left(\left(2\pi\right)^d \det \Sigma_0\right)-\frac{1}{2}\sum_{i}\Sigma_{0ii}\Sigma_{0ii}^{-1}

  =-\frac{1}{2}\left{\log \left(\left(2\pi\right)^d \det \Sigma_0\right) + d\right}

 

つぎに,

\int\int ...\int p({\bf x}) \log q({\bf x}) d{\bf x}

=\int\int ...\int p({\bf x})\log\left{\frac{1}{(2\pi)^{\frac{d}{2}} \det(\Sigma_1)^{\frac{1}{2}}} \exp(-\frac{1}{2}({\bf x} - {\bf \mu_1})^{\rm T} \Sigma_1^{-1}({\bf x} - {\bf \mu_1}))\right}d{\bf x}

=\int\int ...\int p({\bf x})\log\left{\frac{1}{(2\pi)^{\frac{d}{2}}\det(\Sigma_1)^{\frac{1}{2}}}\right}d{\bf x}

+\int\int ...\int p({\bf x})\left{-\frac{1}{2}({\bf x}-{\bf \mu_1})^{\rm T}\Sigma_1^{-1}({\bf x}-{\bf \mu_1})\right}d{\bf x}

初項は -\frac{1}{2}\log \left(\left(2\pi\right)^d\det\Sigma_{1}\right)

第二項は

\int\int ...\int p({\bf x})\left{-\frac{1}{2}({\bf x} - {\bf \mu_1})^{\rm T} \Sigma_1^{-1}({\bf x} - {\bf \mu_1})\right}d{\bf x}

=-\frac{1}{2}\sum_{i,j}\left{E[(x_i - \mu_{1i})(x_j-\mu_{1j})]\Sigma_{1ij}^{-1}\right}

(分散共分散行列は対角成分以外の要素が0なので,\sum_{i,j}\sum_{i}と置き換えている?)

=-\frac{1}{2}\sum_{i}\left{\left(E[x_i^2] - 2\mu_{1i}E[x_i]+\mu_{1i}^2\right) \Sigma_{1ii}^{-1}\right}

ここで, \sigma = E[x^2] - E[x}]^2=E[x^2]-\mu^2より

=-\frac{1}{2}\sum_{i}\left{\left(\Sigma_{0ii} + \left(\mu_{01} - \mu_{1i}\right)^2\right)\Sigma_{1ii}^{-1}\right}

=-\frac{1}{2}\left({\rm Tr}\left(\Sigma_1^{-1}\Sigma_0\right)+({\bf \mu_0}-{\bf \mu_1})^{\rm T}\Sigma_1^{-1}({\bf \mu_0}-{\bf \mu_1})\right)
よって
\int\int ...\int p({\bf x}) \log q({\bf x}) d{\bf x}
=\frac{1}{2}\log \left(\left(2\pi\right)^d\det\Sigma_1\right)-\frac{1}{2}\left({\rm Tr}\left(\Sigma_1^{-1}\Sigma_0\right)+({\bf \mu_0}-{\bf \mu_1})^{\rm T}\Sigma_1^{-1}({\bf \mu_0}-{\bf \mu_1})\right)
 
こういう導出を経て
 D_{KL}\left(p\left(x\right)||q\left(x\right)\right)