ニューラルネットワーク(バックプロパゲーション)に関する記事を読んだ後、私は自分で簡単なニューラルネットワークを作成しようとしています。ニューラルネットワーク - バックプロパゲーション、トレーニングのエラー
IVEは私がネットワークを訓練するために一つだけの例を使用している場合、INPUT1、INPUT2、targetOutputとして(1,1,0を言うことができます 、私はネットワークを訓練しようとしていたときに私の問題がある 、XORニューラルネットワークを決めました)。 500列車後+ネットワーク回答0.05。 しかし、もっと多くの例を試してみると(2つの異なる、あるいはすべての4つの可能性を言う)、ネットワークは出力として0.5を目指しています:( 私は結果がない間違いをGoogleで検索しました:S 病気詳細何を間違って見つけやすくするため、私はできる限り:2,2,1と2,4,1(inputlayer、hiddenlayer、outputlayer)と
-iveしようとしたネットワークを
によって定義されたすべての神経のため-the出力:
double input = 0.0;
for (int n = 0; n < layers[i].Count; n++)
input += layers[i][n].Output * weights[n];
'i'は現在のレイヤーであり、ウェイトはすべてpreviからのウェイトですous層。
-the最後の層(出力層)エラーがにより定義される:「値が」ニューラル出力であり、「targetvalue」は現在の神経のための目標出力である
value*(1-value)*(targetvalue-value);
。
neuralsにより定義他人のため-theエラー:この式(ニューラルから重量 - >ニューラル2)により適合されたネットワークにおける重み-all
foreach neural in the nextlayer
sum+=neural.value*currentneural.weights[neural];
weight+=LearnRate*neural.myvalue*neural2.error;
LearnRateはneworkの学習率です(私のネットワークで0.25に定義されています)。各神経用 -the biasweightはによって定義される:
bias+=LearnRate*neural.myerror*neural.Bias;
バイアスする= 1 constの値です。
iが詳しく、 することができますほとんどすべてを私は出力が異なる訓練例と0.5であることを目指し:(
は^ _ ^あなたの助けのために非常に非常にありがとうございましたよう。
独自の実装を作成しましたか、フレームワークを使用していますか? –
それは保護された後、彼は彼の質問に答えることができなかったことは本当に面白いです:) – PythEch