誤差逆伝播法を書いてみた
ニューラルネットについて、研究室で少し調べてみたら誤差逆伝播法(バックプロパゲーション)というものがあることを知り、テキストのサンプルを見つつ、適当に実装してみた。
処理の流れとしては、
- 訓練データをセット
- 入力に対する出力を、ニューラルネットを通して求める
- 目標値と出力の誤差を求める
- 誤差をニューラルネットの出力側から入力側へ伝えつつ、結線の重みを修正
- 誤差が十分小さくなるまで繰り返し
https://github.com/crakaC/back_propagation
サンプルだと、訓練データの入力と、誤差逆伝播法による結線重みの修正しかできなかったので、コマンドラインから色々操作出来るように改良した。
主な機能は、
もうちょい付け加えたいこともあったけど今回はもういいや。