0

最初に、Matlab で Backpropagation ネットワークを実装し、XOR で使用しました。ただし、現在、次の入力/ターゲットの組み合わせを使用して同じネットワークを使用しています。

入力 = [0 0; 0 1; 1000 0; 1 1]、ターゲット =[0; 1000; 1; 0]

そして、私は次のように出力されます[1;1;1;1]

ネットワークはネットワークをまったく学習できませんでした。なぜそうなのか誰か説明してもらえますか?そして、そのような小さな I/O ネットワークを学習できるネットワークを構築するにはどうすればよいでしょうか?

どんな説明でも大歓迎です。

よろしくマックス

4

1 に答える 1

0

スケーリングの問題のようです。元の XOR 問題では、入力と出力はすべて同等のスケール、つまり [0,1] でした。改訂された問題では、いくつかの入力が [0,1] と [0,1000] のように見えます。

解決策は、入力を同様のスケールに正規化することです。[0,1] または [-1,1] が一般的に使用されます。あなたの場合、範囲を [0,1] に配置するには、入力を 1000 で除算するだけで十分な場合があります。元のスケールに戻すには、出力を非正規化する (つまり、この場合は 1000 を掛ける) ことを忘れないでください。

于 2012-01-02T22:08:24.543 に答える