ここで受けて調査した支援のおかげで、C# で単純なパーセプトロンを作成することができました。そのコードは次のようになります。
int Input1 = A;
int Input2 = B;
//weighted sum
double WSum = A * W1 + B * W2 + Bias;
//get the sign: -1 for negative, +1 for positive
int Sign=Math.Sign(WSum);
double error = Desired - Sign;
//updating weights
W1 += error * Input1 * 0.1; //0.1 being a learning rate
W2 += error * Input2 * 0.1;
return Sign;
ここでは Sigmoid を使用せず、-1 または 1
を取得します。2 つの質問があります
。1) 重みが -5 などの値を取得するのは正しいですか? 入力が例えば 100,50 の場合、次のようになります: W1+=error*100*0.1
2) より深く進み、より多くの接続されたニューロンを作成したい - 3 番目に入力を提供するには、少なくとも 2 つ必要だと思います。3 番目の値が -1..1 だけで供給されるというのは正しいですか? 単純なパターン認識を目指していますが、これまでのところどのように機能するかわかりません。