バイナリー・クロスエントロピー

はじめに

今回はバイナリー・クロスエントロピーについて解説する。最近読んだテキストに丁寧な導出過程が書かれていたので、いまさらと言われそうだが紹介したい。

2分類問題の設定

バイナリー・クロスエントロピーは2分類問題に使われる損失関数であるから最初に2分類問題の設定を行う。

図1

2次元座標上に分布する2種類のデータを考える(上図参照)。各点の属するクラスは色で識別されている(青と橙)。ここでの目的は、この2種類の点の分布を上手く分割する境界面を見つけることである。

バイナリー・クロスエントロピーの導出

図2

\thetaをパラメータとしたとき、境界面の式は

(1)    \begin{align*} f_{\theta}(x_1,x_2)=0 \end{align*}

と書くことができる。\thetaは与えられたデータから求める値である。一般に境界面の上下でf_{\theta}(x_1,x_2)の正負は入れ替わり(図では上側で正、下側で負とした)、絶対値|f(x_1,x_2)|の値は境界から離れるにつれて大きくなる。-\inftyから+\inftyまでの任意の値を取るf_{\theta}(x_1,x_2)はシグモイド関数

     \begin{align*} \sigma(x)=\frac{1}{1+\exp{(-x})} \end{align*}

を用いて確率に変換することができる(図2の下図)。

     \begin{align*} P_{\theta}(x_1,x_2)=\sigma(f_{\theta}(x_1,x_2)) \end{align*}

境界面上(f_{\theta}(x_1,x_2)=0)でP_{\theta}(x_1,x_2)=0.5である。図では境界上側でf(x_1,x_2)>0としたから、P_{\theta}(x_1,x_2)は図の緑の矢印方向に向かうほど1に近くなる。つまり、P_{\theta}(x_1,x_2)は、点が橙色である確率とみなすことができる。見方を変えれば、1-P_{\theta}(x_1,x_2)は点が青色である確率である。各点にラベルtという属性を付加し、橙色のときt=1、青色のときt=0とすると、次のように書くことができる。

     \begin{align*} P_{\theta}(t)= \begin{cases} P_{\theta}(x_1,x_2) & \text{if } t = 1 \\ 1-P_{\theta}(x_1,x_2) & \text{if } t = 0 \end{cases} \end{align*}

上式は以下のように1式で表現できる。

     \begin{align*} P_{\theta}(t)=\{P_{\theta}(x_1,x_2)\}^t\;\{1-P_{\theta}(x_1,x_2)\}^{1-t} \end{align*}

(x_1,x_2)に存在する点が橙色であるならP(x_1,x_2)が大きくなるように、その点が青色であるなら1-P(x_1,x_2)が大きくなるように(つまり、P(x_1,x_2)が小さくなるように)境界面のパラメータを決めれば良い。点は複数個あるから次式を最大にすることが目的となる。

     \begin{align*} P^{\rm total}_{\theta}=\prod_{n=1}^N P_{\theta}(t_n)=\prod_{n=1}^N\{P_{\theta}(x_{1n},x_{2n})\}^{t_n}\;\{1-P_{\theta}(x_{1n},x_{2n})\}^{1-t_{n}} \end{align*}

添え字nで個々の点を表し、点の総数をNとした。各点は独立同分布に従うと仮定するので各点の確率をかければよい。両辺の対数を取ると

     \begin{align*} L(\theta)\equiv\ln{P_{\theta}^{\rm total}}= \sum_{n=1}^N \ln{P_{\theta}(t_n)}=\sum_{n=1}^N\Bigl[ t_n\ln{P_{\theta}(x_{1n},x_{2n})} +(1-t_n) \ln{\{1-P_{\theta}(x_{1n},x_{2n})\}} \Bigr] \end{align*}

を得る。この式がバイナリ・クロスエントロピー(L(\theta))である。L(\theta)を最大にする\thetaを求める問題に帰着した。一般に、ある事象が実現する尤度(つまり確率)を最大にするようなパラメータ決定法を最尤推定法と呼ぶ。

上の計算では、確率への変換式にシグモイド関数を用いたが、境界面上で0.5を取り、境界の一方へ向かうと1に、もう一方に向かうと0になる滑らかな単調増加関数であれば任意の関数を選ぶことができる。

まとめ

今回は、バイナリ・クロスエントロピーの式が、確率的な考え方から導出できることを示した。多くの教科書では天下り的に与えられている式なので参考になればと思う。

参考文献

 

 

 

 

Kumada Seiya

Kumada Seiya

仕事であろうとなかろうと勉強し続ける、その結果”中身”を知ったエンジニアになれる

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

アーカイブ

カテゴリー

PAGE TOP