私はANNを(私はこのライブラリを使用します。http://leenissen.dk/fann/)を養成しようとしているとの結果がやや不可解です - 私は訓練のために使用したのと同じデータで訓練されたネットワークを実行する場合、基本的には、出力はトレーニングセットで指定したものではありませんしかし、いくつかの乱数。ニューラルネットワークの応答はトレーニングデータに対して保証されていますか?
例えば、トレーニングファイルの最初のエントリは、最初の行は入力値であると
88.757004 88.757004 104.487999 138.156006 100.556000 86.309998 86.788002
1
ようなものであり、2行目は、所望の出力ニューロンの値です。私は訓練されたネットワークにまったく同じデータを送るときには、例えば、私は、各列車の試みに異なる結果を取得し、彼らは1とは全く異なります。
Max epochs 500000. Desired error: 0.0010000000.
Epochs 1. Current error: 0.0686412785. Bit fail 24.
Epochs 842. Current error: 0.0008697828. Bit fail 0.
my test result -4052122560819626000.000000
、その後、別の試みについて:
Max epochs 500000. Desired error: 0.0010000000.
Epochs 1. Current error: 0.0610717005. Bit fail 24.
Epochs 472. Current error: 0.0009952184. Bit fail 0.
my test result -0.001642
私はトレーニングセットのサイズが不十分かもしれないことを認識しています(私はこれまでに約100個の入出力ペアしか持っていません)。しかし、少なくともトレーニングデータが正しい出力値を引き起こしてはいけませんか?ノー
長い答え(しかしおそらくないとして:同じコードがFANNのウェブサイトに記載されている「はじめに」XOR機能(私はすでに私の1つのリンクの制限を使用しました)
私はわからないんだけど、私はANNは常にトレーニングデータの正確な出力を返しませんね。訓練のためのアルゴリズムが保証するかどうか確認する必要があります –
ネットワークはどのように定義されていますか?レイヤー数、レイヤーあたりのニューロン数、接続数はどれくらいですか?どのようなアクティベーション機能を使用していますか? – rodrigoap
私はさまざまなレイアウトを試しました。 4つの層、8つの入力、1つの出力、中間の10のニューロンの2つの層、または3つの層8つの入力、1つの出力、中間の20。私は接続とアクティベーション機能についてはわかりません - 私は自分のやり方の始めにすぎず、ライブラリのデフォルトを使用しています。 – 7macaw