交差エントロピーってなんだろう,と思ったのでメモ.結果的に「交差エントロピーの最小化は,真の分布とのKLダイバージェンスの最小化と等価である」ということがわかった.後者の方が解釈が楽だと思うので,メモがてら書いてみる.
「距離」というのはわかりやすい.特に,「真の関数との距離を最小化する」というのは直感的に同意しやすい.今回は,確率密度(質量)関数の距離みたいなもの(正確には距離ではない)の一つ,KLダイバージェンスというものを扱う.二つの確率密度関数$p, q$間のKLダイバージェンスは以下のように定義される.
$$
KL(p||q) = \int p(x) \log \frac{p(x)}{q(x)} dx
$$
離散型なら,
$$
KL(p||q) = \sum_{x} \log \frac{p(x)}{q(x)}
$$
と定義される.
ここで,$p$を真の確率密度関数とし,そのモデルを$q$とする.$q$にはよく,softmaxや,(standard) logistic functionなんかが用いられる.これらのKLダイバージェンスを最小化する$q$を求めることを考えると,連続型の場合,
$$
\begin{align}
q^* &= \arg\min_{q} KL(p||q) \
&= \arg\min_{q} - \int p(x) \log q(x) dx
\end{align}
$$
となる.離散型の場合,
$$
\begin{align}
q^* &= \arg\min_{q} KL(p||q) \
&= \arg\min_{q} - \sum_{x} p(x) \log q(x)
\end{align}
$$
となる.結果的に,最小化しているのが,「交差エントロピー」と呼ばれているだけ.
もう少し踏み込んで,確率的二値分類を考えてみる.確率的な二値分類では,入力を$x$,出力を$y \in \{-1, 1\}$とすると,$p(y|x)$を推定したいわけだが,このモデルを$q(y|x)$とする.これらのKLダイバージェンスを最小化する$q^*$は以下のようになる.
$$
\begin{align}
q^* &= \arg\min_{q} KL(p||q) \
&= \arg\min_{q} - p(y=1|x) \log q(y=1|x) - (1 - p(y=1|x))\log(1 - q(y=1|x)
\end{align}
$$
以上.ちなみに,最尤推定も以下のようにKLダイバージェンスの最小化とみなすことができる.
$$
\begin{align}
q^* &= \arg\min_{q} KL(p||q) \
&= \arg\min_{q} - \int p(x) \log q(x) dx \
&\approx \arg\min_{q} - \frac{1}{n} \log q(x_i)
\end{align}
$$
ただし,$x_i \overset{i.i.d.}{\sim} p(x) \ \forall i = 1, \ldots, n$.