デルタ規則を使用して単一のニューロン ネットワークをトレーニングするためのコードを作成しました。もう 1 つは、2 つのクラスを分類するパーセプトロン用です。2000 サンプルでトレーニングしたところ、問題なく動作しました。
今、トレーニング プロセスの最後に得た最後の重みを使用して (別の 2000 サンプルで) それらをテストし、次のようにテスト コードで使用します。
function accuracy = test( data,weight1,weight2 )
xZero=1;
wZero=0.1;
counter=0;
for(n=1:2000)
x1=data(n,1);
x2=data(n,2);
desired=data(n,3);
y=(xZero*wZero)+(x1*weight1)+(x2*weight2);
if(y==desired)
counter=counter+1;
end
end
しかし、私はcounter = 0を取得しています。これは、目的の値に等しいy値がないことを意味します。それが私たちがネットワークをテストする方法ですか、それとも私が何かを逃したのですか? オンラインまたはテスト方法に関する本からアルゴリズムを見つけようとしていますが、見つかりません。目的の出力とまったく同じ出力が必要ですか、それともしきい値のようなものを使用する必要がありますか?