機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

KLダイバージェンス

KLダイバージェンスの定義

2つの確率分布p({\bf x})及びq({\bf x})に対して次のような期待値をKLダイバージェンスと呼びます。

\begin{eqnarray}
{\rm KL}[q({\bf x})||p({\bf x})]&=&-\int q({\bf x})\ln\frac{p({\bf x})}{q({\bf x})}{\rm d}{\bf x}\\
&=&\langle\ln q({\bf x})\rangle_{q({\bf x})}-\langle\ln p({\bf x})\rangle_{q({\bf x})}\tag{1}
\end{eqnarray}

次の特徴があります。
・任意の確率分布の組に対して、{\rm KL}[q({\bf x})||p({\bf x})]\geq0
 等号が成り立つのは、2つの確率分布が一致する場合q({\bf x})=p({\bf x})に限られる。
・2つの確率分布の距離を表していると解釈されるが、 距離の公理を満たしていない。
 一般に{\rm KL}[q({\bf x})||p({\bf x})]\not={\rm KL}[p({\bf x})||q({\bf x})]

例1: ベルヌーイ分布のKLダイバージェンス

\begin{eqnarray}
&&{\rm Bern}(x|\mu)=\mu^x(1-\mu)^{1-x}\tag{2}\\
&&{\rm H}[{\rm Bern}(x|\mu)]=-\mu\ln\mu-(1-\mu)\ln(1-\mu)\tag{3}
\end{eqnarray}

(3)についてはエントロピーを参照してください。

2つの分布をp(x)={\rm Bern}(x|\mu),q(x)={\rm Bern}(x|\hat{\mu})とします。
KLダイバージェンスを求めます。

\begin{eqnarray}
{\rm KL}[q({\bf x})||p({\bf x})]&=&-{\rm H}[{\rm Bern(x|\mu)}]-\langle\ln p(x)\rangle_{q(x)}\\
&=&\hat{\mu}\ln\hat{\mu}+(1-\hat{\mu})\ln(1-\hat{\mu})+\hat{\mu}\ln\mu-(1-\hat{\mu})\ln(1-\mu)\tag{4}
\end{eqnarray}

下の図から、2つの分布がの母数の値が離れているほど、分布は異なってくるため、
KLダイバージェンスの値は大きくなることが分かります。

f:id:olj611:20210416200802p:plain:w500

例2: 1次元ガウス分布のKLダイバージェンス

\begin{eqnarray}
\mathcal{N}(x|\mu,\sigma^2)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{\sigma^2}\right)\tag{5}\\
\langle x\rangle=\mu\tag{6}\\
\langle x^2\rangle=\mu^2+\sigma^2\tag{7}\\
{\rm H}[\mathcal{N}(x|\mu,\sigma^2)]=\frac{1}{2}(1+\ln\sigma^2+\ln2\pi)\tag{8}
\end{eqnarray}

(8)についてはエントロピーを参照してください。

2つの分布をp(x)=\mathcal{N}(x|\mu,\sigma^2),q(x)=\mathcal{N}(x|\hat{\mu},\hat{\sigma}^2)とします。
KLダイバージェンスを求めます。

\begin{eqnarray}
{\rm KL}[q({\bf x})||p({\bf x})]&=&-{\rm H}[\mathcal{N}(x|\hat{\mu},\hat{\sigma}^2)]-\langle\mathcal{N}(x|\mu,\sigma^2)\rangle_{q(x)}\tag{9}\\
\end{eqnarray}

(9)の右辺の第二項を計算します。

\begin{eqnarray}
\langle\mathcal{N}(x|\mu,\sigma^2)\rangle_{q(x)}&=&-\frac{1}{2}\left(\frac{\langle x^2\rangle_{q(x)}-2\langle x\rangle_{q(x)}\mu+\mu^2}{\sigma^2}+\ln\sigma^2+\ln 2\pi\right)\\
&=&-\frac{1}{2}\left(\frac{\hat{\mu}^2+\hat{\sigma}^2-2\hat{\mu}\mu+\mu^2}{\sigma^2}+\ln\sigma^2+\ln 2\pi\right)tag{10}
\end{eqnarray}

(10)(9)に代入します。

\begin{eqnarray}
{\rm KL}[q({\bf x})||p({\bf x})]=\frac{1}{2}\left(\frac{(\mu-\hat{\mu})^2+\hat{\sigma}^2}{\sigma^2}+\ln\frac{\sigma^2}{\hat{\sigma}^2}-1\right)\tag{11}
\end{eqnarray}

下のグラフより、2つの分布がの母数の値が離れているほど、分布は異なってくるため、
KLダイバージェンスの値は大きくなることが分かります。

f:id:olj611:20210416203243p:plain:w1000

偉人の名言

f:id:olj611:20210416201259p:plain:w300
最も高貴な娯楽は、理解する喜びである。
レオナルド・ダ・ヴィンチ

参考文献

ベイズ推論による機械学習入門

目次へ戻る