ニューラルネットの学習
Cでつくるニューラルネットワークという本の1番最初のプログラムを書いて実行してみた。
この例題は赤と赤、白と白を混ぜると色は変わらない。赤と白を混ぜると色が変わるというのをニューラルネットに学習させるというもの。バックプロパゲーション(誤差逆伝播法)によってニューロンの結合重みを変えて学習するみたい。
今までは式だけで実際にプログラムを書いたことはなかったが、実際に実行してみて驚いた。本当に学習できてる!誤り率がだんだん小さくなっていくのが目に見えて分かった。何か楽しいね。
ニューラルネットも何となくGAに似ていると感じた。要するにNNはバックプロパゲーションを行って誤り率がある値を下回るまで学習させる、一方、GAは適合度がある値を超えるまで遺伝的操作を繰り返す。方法が違うだけでアプローチ的には似ているように思った。