2クラス分類問題

ほしい出力が0か1かのように, 2つしかとる値がないものを, 2クラス分類問題という. この場合には, 出力が一つであるようなパーセプトロンであって, 出力値は0から1の間の値をとり, しきい値が0.5より上なら1, 0.5以下なら0を表すものとすると便利である. また, 教師データは, 正解が0か1の値をとるものと仮定する.

$L$ 個の入力データを $x = (1,x_1,\ldots,x_L) \in \mathbb{R}^{L+1}$ とし, $1$ 個の出力データ $y \in [0,1]$ が出ると仮定する. そのようなパーセプトロンを, \begin{align} y &= f(ux) = f(u_{10} + u_{11}x_1 + \cdots + u_{1L}x_L) \end{align} とする. ここで, $u = (u_{0},u_{1},\ldots,u_{L})$ は $L+1$ 次のベクトル, $f$ は活性化関数とする.

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

出力を $y$, 教師データとしての正解を $r$ (但し $r$ は $0$ か $1$ の値) とするとき, 誤差関数を \begin{align} E(u) &= - \bigl( r \log y + (1-r) \log (1-y)\bigr) \\ &= - \bigl( r \log f(ux) + (1-r) \log (1-f(ux))\bigr) \end{align} で定義する. この誤差関数を交差エントロピー誤差関数と呼ぶ. \begin{align} E(u + \Delta u) &= E(u) + \sum_{l=0}^L \frac{\partial E}{\partial u_l} \Delta u_l +(\text{2次以上の項}) \end{align} であるから, 確率的勾配降下法(SGD)により, $0 \leq l \leq L$ として, \begin{align} \Delta u_l &= - \eta \frac{\partial E}{\partial u_l} \\ &= \eta (r - y) \frac{\hat{f}(y)}{y(1-y)} x_l \end{align} となる. 但し, $x_0=1$ である. 活性化関数 $f$ がシグモイド関数の場合には, さらに式が簡単になり, \begin{align} \Delta u_l &= \eta(r-y)x_l \end{align} となる.