好きな事で生きていく

統計的機械学習、因果推論、マーケティングサイエンス

KL divergenceの式の意味を理解する

確率分布同士の隔たりを表す式、KL divergenceの式

\begin{align} D_{KL}(P || Q) = - \int p(x) \log \left( \frac{p(x)}{q(x)} \right) dx \label{1} \\ \end{align}

の意味を理解します。

数式を用いつつ、かつ出来る限り噛み砕いて説明します。

情報量

まず、情報量という概念を導入します。これは、確率 p(x)で起こる事象 X xであると知るとき、それがどれだけ情報的に価値があるかを表す指標です。これを関数 h(p(x))とします。 h(p(x))

  1.  h(p(x)) \geq 0が成り立つ
  2. 確率 p(x)が小さい程大きな値をとる
  3. 足し算 h(p(x_1)p(x_2)) = h(p(x_1)) + h(p(x_2))が成り立つ

 という条件を満たすとします。条件2は、情報は希少性が高い程それを知ることによるメリットが大きい、と言う意味を表します。条件3は、独立な複数の事象が同時に起こる確率は個々の事象が起こる確率の掛け算になるのに対し、複数の事象が起きたと知る情報量の総和は、個々の事象が起きたと知る情報量の足し算になる、という意味を表します。

これらの条件を満たす演算子として - \logが挙げられます。

\begin{align} h(p(x)) = - \log(p(x)) \end{align}

とすると、 -log(p(x))は下図のような挙動をします。

f:id:hanon05:20190202160118j:plain

-log(x)の挙動

  - \log (p(x)) 0 \leq p(x) \leq 1の範囲で常に0より大きく、 p(x)が小さい程大きな値を取るので条件1, 2を満たします。また、

\begin{align} - \log(p(x_1)p(x_2)) = - (\log(p(x_1)) + \log(p(x_2))) = -\log(p(x_1)) - \log(p(x_2)) \end{align}

なので、条件3も満たします。よって、 - \log(p(x))は情報量を表す関数として使えます。

エントロピー

次に、事象 Xそのものの情報量を定義します。これは、事象 X xとなる場合の情報量を xとなる確率で重み付け平均すれば良いので、

\begin{align} - \int p(x) \log ( p(x) ) dx \label{2} \end{align}

となります。これをエントロピーと言います。エントロピーはざっくり言うと事象の不確実性を表しています。例えば、表が出る確率が0.5のコインは0.9のコインと比べて表が出るか裏が出るかの不確実性が高いです。表が出る確率が0.5のコインの方がエントロピーは大きくなります。

  確率分布の隔たりをどのように表現するか

複雑な確率分布 p(x)を、単純な確率分布 q(x)で近似する場合を考えます。どれくらい上手く近似出来ているかを測るには、確率分布 p(x) q(x)の隔たりがわかれば良いでしょう。つまり、 p(x) q(x)が全く同じ形であれば0、そうでなければだんだんと0より大きい値が返る関数 f(p(x) || q(x))を定義します。

式\eqref{2}の情報量を q(x)に置き換えた式、

\begin{align} - \int p(x) \log (q(x)) dx \end{align}

を準備します。これを交差エントロピーと言います。これと元のエントロピーの差分を計算すると

\begin{align}
\left(- \int p(x) \log (q(x)) dx \right) - \left(- \int p(x) \log (p(x)) dx \right)
\end{align}

\begin{align}
= - \int p(x) \{ \log q(x) - \log p(x) \} dx
\end{align}

\begin{align}
= - \int p(x) \log \left( \frac{q(x)}{p(x)} \right) dx
\label{3} \end{align}

 となります。これがKL divergence D_{KL}(P || Q)になります。この差分は、確率分布 p(x) q(x)に置き換えた場合の差分、つまり確率分布同士の情報量の差分によるものです。

KL divergenceの性質

式\eqref{3}を見ると、 p(x) = q(x)となる場合に0を取ることがわかります。また、 D_{KL}(P || Q)は0以上となる(※補足を参照)ので、これが最小の値となります。

結論

よって、KL divergenceは交差エントロピーエントロピーの差分によって導出され、確率分布同士が全く同じなら0、隔たりがあればあるほど大きな値をとる関数となります。確率分布 p(x) q(x)で近似する問題は、 D_{KL}(P || Q)を最小化する問題に置き換えることが出来ます。

 

補足:  D_{KL}(P || Q)が0以上である事の説明

 D_{KL}(P || Q)が0以上になる説明をします。

関数 f(x)が凸関数であるとき、イェンセンの不等式

\begin{align}
f \left(\int x p(x) dx\right) \leq \int f(x) p(x) dx 
\label{4}
\end{align}

が成り立ちます。

証明は他のサイトに譲るとして、Xが離散変数で、 X=(x_1, x_2)となる場合は下図のようなイメージになります。aと比べてbは常に同じか小さい、ということを示しています。

f:id:hanon05:20190202185057j:plain

イェンセンの不等式のイメージ

式\eqref{4}は一般化すると

\begin{align}
f \left( E[x] \right) \leq E[f(x)] 
\end{align}

なので、 x g(x)にしても成り立ちます。

\begin{align}
f \left( E[g(x)] \right) \leq E[f(g(x))] 
\end{align}

これを元の連続変数の形に戻します。

\begin{align}
f \left( \int g(x) p(x) dx \right) \leq \int f(g(x)) p(x) dx
\label{5}
\end{align}

さて、改めて式\eqref{1}を見てみます。

\begin{align}
D_{KL}(P || Q) = - \int p(x) \log \left( \frac{p(x)}{q(x)} \right) dx
\end{align}

 f(x) = - \log(x) g(x)=\frac{q(x)}{p(x)}とおくと、 - \log(x)は凸関数なので、式\eqref{5}が適用出来る事がわかります。
\begin{eqnarray}
D_{KL}(P || Q) &\geq & - \log \left( \int p(x) \frac{q(x)}{p(x)} dx \right) \\
 &=& - \log \left( \int q(x) dx \right) \\
&=& - \log (1) \\
&=& 0
\end{eqnarray}

よって、  D_{KL}(P || Q)は0以上である事がわかります。

参考

PRML上 P54~

エントロピーからKLダイバージェンスまでの話 - HELLO CYBERNETICS