我编写了一个代码,用于使用 delta 规则训练单个神经元网络。另一个用于分类 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 值等于所需的值。这是我们测试网络的方式还是我错过了什么?我正在尝试在线或从有关如何测试的书籍中找到算法,但我不能。我们是否必须具有与所需输出相同的精确输出,还是应该使用阈值之类的东西?