logo

二つの正規分布間の相対エントロピー(カルバック・ライブラー発散) 📂確率分布論

二つの正規分布間の相対エントロピー(カルバック・ライブラー発散)

公式

二つの正規分布 N(μ,σ2)N(\mu, \sigma^{2})N(μ1,σ12)N(\mu_{1}, \sigma_{1}^{2})間の相対エントロピー(KLD) は次の通りだ。

DKL(N(μ,σ2)N(μ1,σ12))=log(σ1σ)+σ2+(μμ1)22σ1212 D_{\text{KL}}\big( N(\mu, \sigma^{2}) \| N(\mu_{1}, \sigma_{1}^{2}) \big) = \log \left( \dfrac{\sigma_{1}}{\sigma} \right) + \dfrac{\sigma^{2} + (\mu - \mu_{1})^{2}}{2\sigma_{1}^{2}} - \dfrac{1}{2}

二つの多変量正規分布 N(μ,Σ)N(\boldsymbol{\mu}, \Sigma)N(μ1,Σ1)N(\boldsymbol{\mu_{1}}, \Sigma_{1})間の相対エントロピーは次の通りだ。

DKL(N(μ,Σ)N(μ1,Σ1))=12[log(ΣΣ1)+Tr(Σ11Σ)+(μμ1)TΣ11(μμ1)k] \begin{array}{l} D_{\text{KL}}\big( N(\boldsymbol{\mu}, \Sigma) \| N(\boldsymbol{\mu_{1}}, \Sigma_{1}) \big) \\[1em] = \dfrac{1}{2} \left[ \log \left( \dfrac{|\Sigma|}{|\Sigma_{1}|} \right) + \Tr(\Sigma_{1}^{-1}\Sigma) + (\boldsymbol{\mu} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\boldsymbol{\mu} - \boldsymbol{\mu_{1}}) - k \right] \end{array}

説明

二つの正規分布間の相対エントロピーは上記の公式通りに閉じた形式で得ることができる。これはコンピュータシミュレーションで相対エントロピーを計算するためにサンプリングをする必要がないという意味なので非常に有用だ。特に機械学習ディープラーニングなどの学習において大きな利点がある。サンプリングにより計算された値と比較して安定的で正確な値を提供し、計算時間やメモリに関しても効率的だ。

証明

一変量

正規分布: 平均がμR\mu \in \mathbb{R}、分散がσ2>0\sigma^{2} \gt 0の正規分布 N(μ,σ2)N(\mu, \sigma^{2})に従う確率密度関数は次の通りだ。 p(x)=12πσ2exp((xμ)22σ2) p(x) = \frac{1}{\sqrt{2 \pi \sigma^{2}}} \exp \left(-\frac{(x - \mu)^{2}}{2\sigma^{2}}\right)

pN(μ,σ2)p \sim N(\mu, \sigma^{2})qN(μ1,σ12)q \sim N(\mu_{1}, \sigma_{1}^{2})としよう。ログ確率密度関数は次の通りだ。

logp=12log(2πσ2)(xμ)22σ2 \log p = -\frac{1}{2} \log(2 \pi \sigma^{2}) - \frac{(x - \mu)^{2}}{2\sigma^{2}}

したがって、KLDは次のように計算される。

DKL(pq)=Ep[12log(2πσ2)(xμ)22σ2+12log(2πσ12)+(xμ1)22σ12]=12log(2πσ122πσ2)+Ep[(xμ)22σ2+(xμ1)22σ12]=log(σ1σ)12σ2Ep[(xμ)2]+12σ12Ep[(xμ1)2] \begin{align*} D_{\text{KL}}(p \| q) &= \mathbb{E}_{p} \left[ -\frac{1}{2} \log(2 \pi \sigma^{2}) - \frac{(x - \mu)^{2}}{2\sigma^{2}} + \frac{1}{2} \log(2 \pi \sigma_{1}^{2}) + \frac{(x - \mu_{1})^{2}}{2\sigma_{1}^{2}} \right] \\ &= \dfrac{1}{2}\log \left( \dfrac{2 \pi \sigma_{1}^{2}}{2 \pi \sigma^{2}} \right) + \mathbb{E}_{p} \left[ -\frac{(x - \mu)^{2}}{2\sigma^{2}} + \frac{(x - \mu_{1})^{2}}{2\sigma_{1}^{2}} \right] \\ &= \log \left( \dfrac{\sigma_{1}}{\sigma} \right) - \dfrac{1}{2\sigma^{2}}\mathbb{E}_{p} \left[ (x - \mu)^{2} \right] + \dfrac{1}{2\sigma_{1}^{2}}\mathbb{E}_{p} \left[ (x - \mu_{1})^{2} \right] \\ \end{align*}

ここで、第二項の期待値は分散の定義であるため、Ep[(xμ)2]=σ2\mathbb{E}_{p}[(x - \mu)^{2}] = \sigma^{2}である。第三項は次のように計算される。

Ep[(xμ1)2]=Ep[((xμ)+(μμ1))2]=Ep[(xμ)2+2(μμ1)(xμ)+(μμ1)2]=Ep[(xμ)2]+2(μμ1)Ep[xμ]+(μμ1)2=σ2+0+(μμ1)2 \begin{align*} \mathbb{E}_{p}[(x - \mu_{1})^{2}] &= \mathbb{E}_{p}[((x - \mu) + (\mu - \mu_{1}))^{2}] \\ &= \mathbb{E}_{p}[(x - \mu)^{2} + 2(\mu - \mu_{1})(x - \mu) + (\mu - \mu_{1})^{2}] \\ &= \mathbb{E}_{p}[(x - \mu)^{2}] + 2(\mu - \mu_{1})\mathbb{E}_{p}[x - \mu] + (\mu - \mu_{1})^{2} \\ &= \sigma^{2} + 0 + (\mu - \mu_{1})^{2} \end{align*}

したがって、次のようになる。

DKL(pq)=log(σ1σ)12σ2σ2+12σ12(σ2+(μμ1)2)=log(σ1σ)+σ2+(μμ1)22σ1212 \begin{align*} D_{\text{KL}}(p \| q) &= \log \left( \dfrac{\sigma_{1}}{\sigma} \right) -\dfrac{1}{2\sigma^{2}} \sigma^{2} + \dfrac{1}{2\sigma_{1}^{2}} \left( \sigma^{2} + (\mu - \mu_{1})^{2} \right) \\ &= \log \left( \dfrac{\sigma_{1}}{\sigma} \right) + \dfrac{\sigma^{2} + (\mu - \mu_{1})^{2}}{2\sigma_{1}^{2}} - \dfrac{1}{2} \\ \end{align*}

多変量

多変量正規分布: 平均ベクトルがμRk\boldsymbol{\mu} \in \mathbb{R}^{k}、共分散行列がΣRk×k\Sigma \in \mathbb{R}^{k \times k}の多変量正規分布 N(μ,Σ)N(\boldsymbol{\mu}, \Sigma)に従う確率密度関数は次の通りだ。 p(x)=1(2π)kΣexp(12(xμ)TΣ1(xμ)) p(\mathbf{x}) = \frac{1}{\sqrt{(2 \pi)^{k} |\Sigma|}} \exp \left(-\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}} \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})\right)

pN(μ,Σ)p \sim N(\boldsymbol{\mu}, \Sigma)qN(μ1,Σ1)q \sim N(\boldsymbol{\mu_{1}}, \Sigma_{1})としよう。ログ確率密度関数は次の通りだ。

logp=12log((2π)kΣ)12(xμ)TΣ1(xμ) \log p = -\frac{1}{2} \log((2 \pi)^{k} |\Sigma|) - \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}} \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})

したがって、KLDは次のように計算される。

DKL(pq)=Ep[12log((2π)kΣ)12(xμ)TΣ1(xμ)+12log((2π)kΣ1)+12(xμ1)TΣ11(xμ1)]=12log(Σ1Σ)+Ep[12(xμ)TΣ1(xμ)+12(xμ1)TΣ11(xμ1)]=12log(Σ1Σ)12Ep[(xμ)TΣ1(xμ)]+12Ep[(xμ1)TΣ11(xμ1)] \begin{align*} D_{\text{KL}}(p \| q) &= \mathbb{E}_{p} \left[ -\frac{1}{2} \log((2 \pi)^{k} |\Sigma|) - \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}} \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right. \\ &\qquad\qquad + \left. \frac{1}{2} \log((2 \pi)^{k} |\Sigma_{1}|) + \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\mathbf{x} - \boldsymbol{\mu_{1}}) \right] \\ &= \dfrac{1}{2} \log \left( \dfrac{|\Sigma_{1}|}{|\Sigma|} \right) + \mathbb{E}_{p} \left[ -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}} \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) + \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\mathbf{x} - \boldsymbol{\mu_{1}}) \right] \\ &= \dfrac{1}{2} \log \left( \dfrac{|\Sigma_{1}|}{|\Sigma|} \right) - \dfrac{1}{2} \mathbb{E}_{p} \left[ (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}} \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right] + \dfrac{1}{2} \mathbb{E}_{p} \left[ (\mathbf{x} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\mathbf{x} - \boldsymbol{\mu_{1}}) \right] \end{align*}

ランダムベクトル二次形式の期待値

xN(μ,Σ)\mathbf{x} \sim N(\boldsymbol{\mu}, \Sigma)であるランダムベクトル x\mathbf{x}対称行列 AAについて次が成り立つ。

E[(xμ)TA(xμ)]=tr(AΣ)E[(xμ1)TA(xμ1)]=tr(AΣ)+(μμ1)TA(μμ1) \begin{align*} \mathbb{E}\left[ (\mathbf{x} - \boldsymbol{\mu})^{\mathsf{T}}A (\mathbf{x} - \boldsymbol{\mu}) \right] &= \tr (A \Sigma) \\ \mathbb{E}\left[ (\mathbf{x} - \boldsymbol{\mu}_{1})^{\mathsf{T}}A (\mathbf{x} - \boldsymbol{\mu}_{1}) \right] &= \tr (A \Sigma) + (\boldsymbol{\mu} - \boldsymbol{\mu}_{1})^{\mathsf{T}} A (\boldsymbol{\mu} - \boldsymbol{\mu}_{1}) \end{align*}

上記の公式により、共分散行列は対称であるため、第二項の期待値はtr(Σ1Σ)=Tr(I)=k\tr(\Sigma^{-1} \Sigma) = \Tr (I) = kだ。第三項の期待値はTr(Σ11Σ)+(μμ1)TΣ11(μμ1)\Tr(\Sigma_{1}^{-1}\Sigma) + (\boldsymbol{\mu} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\boldsymbol{\mu} - \boldsymbol{\mu_{1}})だ。したがって、次のようになる。

DKL(pq)=12log(Σ1Σ)12k+12(Tr(Σ11Σ)+(μμ1)TΣ11(μμ1))=12[log(ΣΣ1)+Tr(Σ11Σ)+(μμ1)TΣ11(μμ1)k] \begin{align*} D_{\text{KL}}(p \| q) &= \dfrac{1}{2} \log \left( \dfrac{|\Sigma_{1}|}{|\Sigma|} \right) - \dfrac{1}{2}k + \dfrac{1}{2} \left( \Tr(\Sigma_{1}^{-1}\Sigma) + (\boldsymbol{\mu} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\boldsymbol{\mu} - \boldsymbol{\mu_{1}}) \right) \\ &= \dfrac{1}{2} \left[ \log \left( \dfrac{|\Sigma|}{|\Sigma_{1}|} \right) + \Tr(\Sigma_{1}^{-1}\Sigma) + (\boldsymbol{\mu} - \boldsymbol{\mu_{1}})^{\mathsf{T}} \Sigma_{1}^{-1} (\boldsymbol{\mu} - \boldsymbol{\mu_{1}}) - k \right] \end{align*}