matlab练习程序(线性分类器<感知器>)。。。待改进

clear all;
close all;
clc;
step=0.1;       %迭代步长
num=15;         %数据个数
k=100;          %迭代次数

set=[  0.4   0.05   1;
     - 0.2   0.75   1;    
       0.5   0.1    1;
     - 0.1   0.7    1;
       0.3   0.2    1;
     - 0.15  0.9    1;
       0     0.8    1;
       0.4   0.3    1;
      -0.2   0.87   1;
       0.4   0.1    1;
      -0.2   0.9    1;
      -0.2   0.4    1;
      -0.1   0.4    1;
       0.3   0.9    1;
      -0.5   0      1];

for i=1:num
    plot(set(i,1),set(i,2),'ro');
    hold on;
end

axis([-0.5 0.5 0 1]);
%axis([-0.5 1.5 -0.5 1.5]);
w(1,:)=[-3 0 1];        %初始权值
x=-0.5:0.1:0.5;
%x=-0.5:0.1:1.5;

flag=0;
for i=2:k
    tmp=[0 0 0];
    for j=1:num
        flag=w(i-1,:)*set(j,:)';
        tmp=tmp+flag*set(j,:);
    end
    
    w(i,:)=w(i-1,:)-step*tmp;
end

for i=1:k
    y=(-w(i,3)-w(i,1)*x)/w(i,2);
    plot(x,y);
    hold on;
end

 y=(-w(k,3)-w(k,1)*x)/w(k,2);
 plot(x,y,'r')

参考:

1.http://jpkc.nudt.edu.cn/mssb/donghua/zaixianshiyan/gzqsf.htm

2.http://read.pudn.com/downloads102/ebook/420359/chapter%203/3.doc

转载于:https://www.cnblogs.com/tiandsp/archive/2012/05/04/2482842.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值