LoginSignup
8
5

More than 5 years have passed since last update.

交差エントロピー(Cross Entropy)について

Posted at

交差エントロピーってなんだろう,と思ったのでメモ.結果的に「交差エントロピーの最小化は,真の分布との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$.

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5