1

次のようなデータセットがあるとします。

[   [0, 0], [0, 1]
    [0, 1], [1, 0]
    [1, 0], [1, 0]
    [1, 1], [0, 1]   ]

実際には、y1 = x1 XOR x2、および y2 = not(x1 XOR x2) であり、これはまったく奇妙に思えません。

ウィキペディアで提供されている Python で書かれたコードでは、トレーニング エラーは収束していないようです。

なぜこれが起こるのですか?このデータセットを (2, 2, 2) BP ネットワークでトレーニングする可能性はありませんか? (2, 2, 2) は、入力層のノード番号、中間層のノード番号、および出力層のノード番号がすべて 2 (バイアス ノードを除く) であることを意味します。

それともコードに何か問題がありますか?

4

1 に答える 1

1

(2,2,2) ニューラル ネットワークは、このために簡単にトレーニングできます。これを Encog で試したところ、単一出力バージョンと同じ時間でトレーニングされました。実際に上にあるのは、one-of-n 分類として構成されたネットワークです。つまり、期待値ごとに 1 つの出力ニューロンがあります。

私は Python に精通しているわけではありませんが、コードの適応のどこかに問題があると思います。これは、ANN 固有の制限ではありません。

于 2013-04-26T13:16:04.760 に答える