虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

您现在的位置是:虫虫下载站 > 资源下载 > 源码 > 批处理感知器算法

批处理感知器算法

  • 资源大小:1 K
  • 上传时间: 2016-11-07
  • 上传用户:a1241314660
  • 资源积分:2 下载积分
  • 标      签: 批处理 算法matlab

资 源 简 介

批处理感知器算法的代码matlab

w1=[1,0.1,1.1;1,6.8,7.1;1,-3.5,-4.1;1,2.0,2.7;1,4.1,2.8;1,3.1,5.0;1,-0.8,-1.3;
    1,0.9,1.2;1,5.0,6.4;1,3.9,4.0];
w2=[1,7.1,4.2;1,-1.4,-4.3;1,4.5,0.0;1,6.3,1.6;1,4.2,1.9;1,1.4,-3.2;1,2.4,-4.0;
    1,2.5,-6.1;1,8.4,3.7;1,4.1,-2.2];
w3=[1,-3.0,-2.9;1,0.5,8.7;1,2.9,2.1;1,-0.1,5.2;1,-4.0,2.2;1,-1.3,3.7;1,-3.4,6.2;
    1,-4.1,3.4;1,-5.1,1.6;1,1.9,5.1];
figure;
plot(w3(:,2),w3(:,3),'ro');
hold on;
plot(w2(:,2),w2(:,3),'b+');

W=[w2;-w3];%增广样本规范化
a=[0,0,0];
k=0;%记录步数
n=1;
y=zeros(size(W,2),1);%记录错分的样本

while any(y<=0)
    k=k+1;
    y=a*transpose(W);%记录错分的样本
    a=a+sum(W(find(y<=0),:));%更新a
    if k >= 250
        break
    end
end
if k<250
    disp(['a为:',num2str(a)])
     disp(['k为:',num2str(k)])
else
     disp(['在250步以内没有收敛,终止'])
end
%判决面:x2=-a2*x1/a3-a1/a3
xmin=min(min(w1(:,2)),min(w2(:,2)));
xmax=max(max(w1(:,2)),max(w2(:,2)));
x=xmin-1:xmax+1;%(xmax-xmin):
y=-a(2)*x/a(3)-a(1)/a(3);
plot(x,y)

相 关 资 源

您 可 能 感 兴 趣 的