多クラス分類問題

出力が, 離散的なM個の値をとる問題を, 多クラス分類問題という. この場合には, 出力が $z_1,\ldots,z_M$ のM個あり, 各出力は $0$ から $1$ までの値をとり, $z_1 + \cdots + z_M = 1$ が成り立ち, $z_1$ から $z_M$ の中で一番大きな値が $z_i$ のとき, $i$ 番目のクラスに属すると考える. 教師データ $r_1,\ldots,r_M$ は, $i$ 番目の $r_i$ のみが $1$ であって, それ以外は $0$ と仮定する.

$L$ 個の入力データを $x = (1,x_1,\ldots,x_L) \in \mathbb{R}^{L+1}$ とし, $M$ 個の中間層 $y_1,\ldots,y_M$ を通って, $M$ 個の出力データ $z_1,\ldots,z_M$ が出ると仮定する. $x$ から $y$ へは活性化関数 $f_1,\ldots,f_M$ によって, 次のようなパーセプトロン \begin{align} y_1 &= f_1(u_1x) = f_1(u_{10} + u_{11}x_1 + \cdots + u_{1L}x_L)\\ & \cdots \\ y_M &= f_M(u_Mx) = f_M(u_{M0} + u_{M1}x_1 + \cdots + u_{ML}x_L) \end{align} がある. ここで, $\{u_m = (u_{m0},u_{m1},\ldots,u_{mL})\}_{m=1}^M$ は $M$ 個の $L+1$ 次行ベクトルである.

また, $y$ から $z$ へは, 次のような関係 \begin{align} z_1 &= \frac{\exp(y_1)}{\displaystyle \sum_{m=1}^M \exp(y_m)} \\ & \cdots \tag{7.1} \label{eq7.1} \\ z_M &= \frac{\exp(y_M)}{\displaystyle \sum_{m=1}^M \exp(y_m)} \end{align} があるとする. この関数 \eqref{eq7.1} をソフトマックス関数と呼ぶ.


交差エントロピー誤差関数Ⅱ

多クラス問題の誤差関数は \begin{align} E(u) &= - \bigl( r_1 \log z_1 + \cdots + r_M \log z_M \bigr) \end{align} で定義する. この関数を多クラス交差エントロピー誤差関数と呼ぶ. \begin{align} E(u + \Delta u) &= E(u) + \sum_{l=0}^L \sum_{m=1}^M \frac{\partial E}{\partial u_{ml}} \Delta u_{ml} +(\text{2次以上の項}) \end{align} であるから, 確率的勾配降下法(SGD)により, $0 \leq l \leq L$, $1 \leq m \leq M$ として, \begin{align} \Delta u_{ml} &= - \eta \frac{\partial E}{\partial u_{ml}} \\ &= - \eta \frac{\partial E}{\partial y_m} \frac{\partial f_m}{\partial u_{ml}} \\ &= \eta (r_m - z_m) \widehat{f_m}(y_m) x_l \end{align} となる. 但し, $x_0=1$ である.