neural4の説明とか〜。


コマンドライン
neural4 [乱数の初期値 又は 初期値ファイル名 [学習ファイル名 [パラメータファイル名] ] ]

絶対に必要なファイルにパラメータファイルがあります。 ここに諸条件をいれるわけです。


3 neural level
-1 output step ( -1 : synaps data, 0 : final average err )
1000 limit number
0 read synaps ( 0 : no, 1 : yes )
0.01 limit value
1.2 study paramater
0.6 kansei paramater
0.3 random width ( no use when read synaps )
1 check study no
0 return max only flag ( 0 : no, 1 : yes )
2 level 0 no.
2 level 1 no.
1 level 2 no.

各行はfgetsで読み込まれ、 atoi、atofによって解釈されます。 従って、最初の数字以外は意味を持ちません。 ファイル名は、コマンドラインの第3パラメータ(argv[3])で指定します。 デフォルトでは、カレントの「neural.prm」を読みに行きます。

各行の説明。

3 neural level
多層ニューラルネットワークの総層数を書きます。 入力層、中間層1つ、出力層の場合は3になります。

-1 output step ( -1 : synaps data, 0 : final average err )
「-1」にすると、 学習終了時に各シナプスの値を標準出力に出力します。 通常、学習してその学習されたデータを保存する時に使います。 チェックモードの時は「-1」にして下さい。 「0」にすると、 学習終了時に学習回数と最後の平均自乗誤差を標準出力に出力します。 初期条件を変更して、最適の値を調べる時等に使います。 「1」以上の数字を入力すると、 その学習回数毎に学習回数と平均自乗誤差を標準出力に出力します。 学習状況を調べる時に使います。

1000 limit number
最大の学習回数を指定します。 これを越えるとプログラムは終了します。

0 read synaps ( 0 : no, 1 : yes )
「0」にすると、ランダムにより初期値を決定し、 「1」にすると、ファイルより初期値を入力します。 これにより、 コマンドの第1パラメータ(argv[1])が、 ランダムの初期値か初期ファイル名に決定されます。

0.01 limit value
平均自乗誤差がこの値を下回るとプログラムは終了します。

1.2 study paramater
バックプロパゲーションにおける学習パラメータです。

0.6 kansei paramater
バックプロパゲーションにおける慣性パラメータです。

0.3 random width ( no use when read synaps )
ランダムで初期値を決定する場合の乱数の幅です。

1 check study no
チェックモードのチェックする数です。

0 return max only flag ( 0 : no, 1 : yes )
チェックモードで「0」にすると全ての出力層の値を、 「1」にすると最大の出力層の値を出力します。

2 level 0 no.
第0層(入力層)のニューラルの数(入力の個数)を指定します。

2 level 1 no.
第1層(中間層)のニューラルの数を指定します。

1 level 2 no.
第2層(出力層)のニューラルの数(出力の個数)を指定します。 3層以上のニューラルネットワークを組んだ場合は、 この後にその数だけ続けます。

あと、学習ファイルが必要です。


4 teach no.
0 type 0 in 0
0 in 1
0 out 0
0 type 1 in 0
1 in 1
1 out 0
1 type 2 in 0
0 in 1
1 out 0
1 type 3 in 0
1 in 1
0 out 0

各行はfgetsで読み込まれ、 atoi、atofによって解釈されます。 従って、最初の数字以外は意味を持ちません。 ファイル名は、コマンドラインの第2パラメータ(argv[2])で指定します。 デフォルトでは、カレントの「neural.tch」を読みに行きます。

各行の説明。

4 teach no.
1行目には学習データの総数を指定します。 この数が「1」の場合はチェックモードになり、 現在のニューラルネットワークの状況で、 データをテストします。 チェックモードのデータの数はパラメータファイルの方で指定します。

0 type 0 in 0
0 in 1
入力パターンです。 入力層の数だけ記述して下さい。

0 out 0
出力パターンです。 出力層の数だけ記述して下さい。 あとは、これの繰り返しです。

インデックスへ戻る。
上流へ戻る。

m alllet@infonia.ne.jp
Last updated:1999/02/07