交差エントロピーの導出



{ \displaystyle
交差エントロピー=-\sum_{x}p(x)\log q(x)
}

◯ 式の意味

誤った確率分布 q が、正しい確率分布 p と異なるほど大きい値になります。

◯ 交差エントロピーの導出

交差エントロピーは、「情報量」の「期待値」です。

{ \displaystyle
\begin{eqnarray*}
交差エントロピー&=&期待値 \\
 &=&\sum_{x} 確率 * 実現値 \\
 &=&\sum_{x} 確率 * 情報量 \\
 &=&\sum_{x} p(x)*(-\log q(x)) \\
 &=&-\sum_{x} p(x)\log q(x)
\end{eqnarray*}
}




以下、次の順番に見て行きます。

1 情報量
2 期待値
3 エントロピー
4 交差エントロピー

1 情報量

情報量は次のように定義されています。

{ \displaystyle
\begin{align*}
情報量 &= -\log p(x) \\
\end{align*}
}

 

◯ 例:16枚のカード(3が書かれたカードの位置)

個人的に必要なメモリの bit 数となんとなく考えています。メモリ空間の bit として考えられるのは、このカードの例だけですが...

0, 1, 2, ... 15 が書かれた 16 枚のカードが裏返しにして置いてあります。この中から 1 枚引いて 3 が書かれたカードの場所を特定するには情報量は幾つ必要でしょうか?

{ \displaystyle
\begin{align*}
情報量 &= -\log p(x) \\
\\
 &= -\log p(16) \\
 &=-\log {\frac {1}{16}} \\ 
 &=4
\end{align*}
}


答えは 4 です。4 bit あれば、4 bit のメモリ空間があれば、配られた 16 枚のカードの中から、その場所が特定できます。

◯ 例:16枚のカード(カードの位置の情報量の和)

0, 1, 2, ... 15 が書かれた 16 枚のカードについて、すべてのカードの場所を特定にするには情報量はいくつ必要でしょうか?

{ \displaystyle
4 [bit/枚] * 16 [枚] = 64 [bit]
}

 

答えは 64 です。64 bit のメモリがあれば配れた 16 枚のカードの位置をすべて記録できます。

◯ 1 bit って具体的に何やろか?

具体的なものは存在しません。

確率 1/2 で発生する事象を log(1/2) = 1 bit で表現できるかと言われれば、無理やり説明できるのは、せいぜい上のカードの例くらいです。

確率 1/2 の事象は情報量が 1 bit と定義されています。確率 x の事象は情報量が log(x) と定義されています。

なぜ、このように定義されたのでしょうか?それは次のページの「情報量が満たすべき性質」を読むことによって理解できます。


2 期待値

{ \displaystyle
\begin{eqnarray*}
期待値&=&\sum_{x} 確率 * 実現値 \\
\end{eqnarray*}
}

期待値と分散に関する公式一覧

期待値は、確率変数の実現値を, 確率の重みで平均した値である。期待値

確率変数は実際に結果が出るまで値がわからないですが、得られた値を確立変数の実現値という。4.4.3 確率分布

3 エントロピー

{ \displaystyle
\begin{eqnarray*}
エントロピー&=& H(p)\\
 &=& 期待値 \\
 &=&\sum_{x} 確率 * 実現値 \\
 &=&\sum_{x} 確率 * 情報量 \\
 &=&\sum_{x}p(x)*(-\log p(x)) \\
 &=&-\sum_{x}p(x)\log p(x)
\end{eqnarray*}
}


エントロピーは、必要な情報量の期待値です。

◯ 例: 抽選の問題

平均情報量/エントロピー

4 交差エントロピー


{ \displaystyle
\begin{eqnarray*}
交差エントロピー&=& H(p,q)\\
 &=& 期待値 \\
 &=&\sum_{x} 確率 * 実現値 \\
 &=&\sum_{x} 確率 * 情報量 \\
 &=&\sum_{x}p(x)*(-\log q(x)) \\
 &=&-\sum_{x}p(x)\log q(x)
\end{eqnarray*}
}


交差エントロピーは、試行を行って得られた情報量を間違った確率分布 q を元にして算出した時の情報量の期待値です。

p ... 試行の確率
log(q) ... やったぜ!得られたぜ!と勘違いしている情報量が log(q)

◯ 式の意味

確率分布 q が、正しい確率分布 p と異なるほど大きい値になります。

◯ 最小値

交差エントロピーは、正しい確率分布 p と同じ時、最小値になります。

どちらも {\displaystyle p=q} であるとき最小値となり... 交差エントロピー

また、実際に代入するとわかりますが、q が p と同じ時、交差エントロピーの値はエントロピーの値と同じになります。

◯ ちょっとした確認(書きかけ)

いまここで x_{1}x_{2} の時だけ p(x) と異なる q(x) を定義します。

q(x) は次のような性質があるとします。

{ \displaystyle
\begin{eqnarray*}
\left\{ \begin{array}{l}
p(x_{1}) > q(x_{1}) \\
p(x_{2}) < q(x_{2}) \\
p(x_{1}) - q(x_{1}) =  -(p(x_{2}) - q(x_{2})) = d \\
\end{array} \right.
\end{eqnarray*}
}





この時、交差エントロピーエントロピーの差は

{ \displaystyle
\begin{equation*}
H(p,q)-H(p) \\
 \quad \\
\begin{split}
 &=& \{ -p(x_{1})\log q(x_{1}) -p(x_{2})\log q(x_{2}) \}  \\
 &  & \quad -  \{ -p(x_{1})\log p(x_{1}) -p(x_{2})\log p(x_{2}) \}  \\
\end{split} \\
 \quad \\
\begin{split}
 &=& \{ -p(x_{1})\log q(x_{1}) + p(x_{1})\log p(x_{1})  \}  \\
 &  &  \quad +  \{ -p(x_{2})\log q(x_{2}) + p(x_{2})\log p(x_{2}) \}  \\
\end{split} \\
 \quad \\
\begin{split}
 &=& \{ p(x_{1}) (-\log q(x_{1}) + \log p(x_{1}))  \}  \\
 &  &  \quad +  \{ p(x_{2}) (-\log q(x_{2}) + \log p(x_{2})) \}  \\
\end{split} \\
 \quad \\
\begin{split}
 &=& \{ p(x_{1}) \log \frac{p(x_{1})}{q(x_{1})}  \}  \\
 &  &  \quad +   \{ p(x_{2}) \log \frac{p(x_{2})}{q(x_{2})}  \}  \\
\end{split} \\
 \quad \\
\begin{split}
 &=& \{ p(x_{1}) \log \frac{p(x_{1})}{p(x_{1}) - d}  \}  \\
 &  &  \quad +   \{ p(x_{2}) \log \frac{p(x_{2})}{p(x_{2}) + d}  \}  \\
\end{split} \\
\end{equation*}
}





上の中かっこは常に正になります。下の中かっこは常に負になります。

したがって p(x1), p(x2) について微分して上の中かっこの最小値、下の中かっこの最小値をそれぞれ計算して、常に正であることを確認できれば、交差エントロピーエントロピーよりも大きい値になることを確認できます。

証明ではないですが、なんとなくわかった感じになれます。自分は Google Sheets に数式を叩き込んで実際にそうなることを確認して終わりにしました。

Google Sheets で作ったファイル

ディープラーニングでよく使われる理由

ディープラーニングにおいて、よく損失関数として使用されます。これはソフトマックス関数と交差エントロピーを合成した関数を微分すると簡単かつ直感的にわかりやすい式が出てくるためです。

◯ 参考文献

情報理論を視覚的に理解する (3/4) | POSTD