パーセプトロンを作れ
現在、課題がでておりまして、ニューラルネットのパーセプトロンを作成しなくてはなりません。
すぐに作れそうですが、今回は、関数ポインターのお勉強も含めることにしました。
まず、はじめに断っておきますが、関数ポインターは用いないほうが、絶対に良いないようです。
ニューロンを作る
パーセプトロンにおいてニューロンは出力と入力がニューロンの数だけ存在します。
そして、それぞれの間には、相対値(好きとか嫌いとか)のようなものがあります、
相手への相対値は自信が持つことにしましょう。となると、ニューロンは相対値をニューロンの数だけ
持つのですね。
うーん、いちいち ニューロンの数を指定すると、パーセフロン以外に使えないので
、動的に生成するようにします。けっこうすっきりしそうです
ということで、ニューロンオブジェクトには
output()
input()
相対値s
があるといいりですね。
new()
destroy()
を入れても、とても小さな構造です。
ネットワーク作成エンジンを作る
ニューロンを作成し終えたら次は、ネットワーク作成エンジンを作ります。
再起を使っても良いのですが、for()ぶんでまわすことにします。
宣言とネットワークで 2つに分けるのが簡単です。
相対値を決める
ここらへんはしっかりネットワーク作成エンジンを作っておくと秒殺だと思います。
せっかく、だから、継承っぽいことを無意味にしても良いかも知れない。
実行エンジンを作る
ランダムにひとつを選んで、outputするだけです。nuronは意味なく継承っぽいこをして
もOKです。nuronをパーセプトロン用に最適化するのがベターです。
次へ進む