ニューラルネットワーク


識別関数

\( \begin{align} h_j(\boldsymbol{x}) &= \sigma \left(\sum_{i=1}^2 w_{ij} x_i + w_{0j} \right) \\ o(\boldsymbol{x}) &= \sigma \left(\sum_{j=1}^M w_{j} h_j(\boldsymbol{x}) \right) \\ \sigma &= \frac{1}{1 + \exp (-x)} \\ y(\boldsymbol{x}) &= \operatorname{sgn}(o(\boldsymbol{x}) - 0.5) \\ \end{align} \)

訓練データ

\( D = \{(\boldsymbol{x}_{data}^{(i)}, y_{data}^{(i)})\}_{i=0, \cdots, N-1} \\ \)

更新式

\( \begin{align} \delta_{output} &= o(1-o)(y_{data}-o) \\ \delta_{hidden, j} &= h_j(1 - h_j)w_j \delta_{output} \\ w_j &\leftarrow w_j + \eta \delta_{output}h_j \\ w_{ij} &\leftarrow w_{ij} + \eta \delta_{hidden, j}x_i \\ \end{align} \)

スケジューリング

\(N\)回の更新ごとに
\( \eta \leftarrow \alpha\eta \)

評価

\( N_{error} = \sum_{i=1}^{N} 1[y_{data}^{(i)} \neq y(\boldsymbol{x}_{data}^{(i)})] \)

学習パラメータ設定

隠れ層のノード数$M$:

学習率$\eta$:

スケジューリングファクタ$\alpha$:

学習回数$T$:




訓練データ設定

クリック時の訓練データラベル(shiftキーでも切り替え可):
正例 負例

csvファイル(1列目:x座標, 2列目y座標, 3列目: クラス(正例:1/負例:-1), #:コメント行)からデータを読み込み



学習結果