这个感知器网络为什么不收敛啊?求指点~~
用一个神经元将四个16维输入向量分为+1和-1两类,我简单的编了如下的程序,可是迭代不收敛,不知道错在哪里了?谁能指点一下,谢啦!~~~~~~
P=[+1 +1 -1 -1;
-1 +1 -1 -1;
-1 +1 -1 -1;
-1 +1 -1 -1;
+1 +1 +1 +1;
+1 +1 -1 +1;
+1 -1 -1 +1;
+1 -1 -1 +1;
+1 +1 +1 +1;
-1 -1 +1 +1;
-1 -1 +1 -1;
-1 -1 +1 -1;
-1 -1 +1 +1;
-1 -1 -1 -1;
-1 -1 -1 -1;
-1 -1 -1 -1;];
T=[+1 -1 +1 -1];
net=newp([-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;
-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1;-1 1],1);
net.inputweights{1,1}.initFcn='rands';
net.biases{1}.initFcn='rands';
net=init(net);
net.trainParam.epochs=200;
net.trainParam.shou=25;
net.trainParam.goal=0.0001;
net=train(net,P,T);
wts=net.IW{1,1}
bias=net.b{1}
x1=[1;-1;-1; -1; 1; 1; 1; 1; 1; -1; -1; -1; -1; -1; -1; -1];
a1=sim(net,x1)
e1=abs(T(1)-a1)
x2=[1;1;1;1;1;1;-1;-1;1;-1;-1;-1;-1;-1;-1;-1];
a2=sim(net,x2)
e2=abs(T(2)-a2)
x3=[-1;-1;-1;-1;1;-1;-1;-1;1;1;1;1;1;-1;-1;-1];
a3=sim(net,x3)
e3=abs(T(3)-a3)
x4=[-1;-1;-1;-1;1;1;1;1;1;1;-1;-1;1;-1;-1;-1];
a4=sim(net,x4)
e4=abs(T(4)-a4)
|