Simbrain

ニューラルネットワークをGUIで作成して、シミュレーションできるツールSimbrain。このようなニューロン単位でネットワークを構築できるものをはじめて使いました。
そこで簡単な機械学習をやってみました。

http://simbrain.net/

参考: 日経ソフトウェア2017年9月号

この記事はツールの使い方が詳しくかかれており、同じやり方で試してみました。
手順は書籍を参考にしてください。

環境 : Simbrain 3.02 / macOS High Sierra

設定 :
Edit Trainer Settings -> Learning Rate:0.001, Momentum:0.99
Show time series graph properties -> Auto Range:check, Fixed Width:uncheck

学習データ作成用コード

data.csvを入力データ、classification.csvをターゲットデータとします。
xがy以上のとき、1,0 そうでない時0,1というデータを学習させます。

学習が終了したら、Layer1にいろいろな値を入力して判定させます。

「1->2」ダブルクリックでMatrix表示

Layer2の結果がきれいに1,0にならないときは、うまく判定できていなことを意味するようです。
ニューロンの重みの値を使って結果を確認してみる。

x,y: input(Neuron1,2)
w,z: output(Neuron3,4)

0.974433299385
0.0179862099636
0.286970917472
0.731058578626

ちょっと結果が期待した値とは違いました。やり方がまずいのかもしれません。
(しかしメモとして、おいておきます。)

Simbrain のサイトを見ると、まだまだいろんなことができそうですが、思い通りに使うにはまだまだ時間がかかりそうです。

以下、Pythonで生成した入力データとターゲットデータ。

About

Categories: 未分類 タグ: