感知器学习规则:
训练感知器,对每一个输入向量做出响应,输出0或1。当解存在时,该学习规则被证明是能在有限时间内收敛到某个解的。
b = b + [ T - A ]
W(i) = W(i) + [ T - A ] * P(i)
式中, W 是权值向量, P输入向量, T是期望输出, A 是实际输出, b是偏置。
>> net = newp([-1 1;-1 1],1);
>> P = [-0.5 -0.5 0.5 -0.1;-0.5 0.5 -0.5 1];
>> T = [1 1 0 0];
>> plotpv(P,T); % 画出PT坐标
>> plotpc(net.IW{1},net.b{1}); % 画出线
>> net.adaptParam.passes = 3; % 修正3次通过
>> net = adapt(net,P,T);
>> hold on
>> plotpc(net.IW{1},net.b{1});
>> plotpv(P,T);
>> p = [0.7; 1.2];
>> a = sim(net ,p);
>> plotpv(p,a)
>> hold on;
>> plotpv(P,T);
>> plotpc(net.IW{1},net.b{1});
>> hold off;
训练结果能够正确分类:
