perceptron.m

来自「用于模式识别分类」· M 代码 · 共 31 行

M
31
字号
function Perceptron(CLassNum,Sample1,Sample2);
n1=size(Sample1);
for i=1:n1(1)
   ExtendSample1(i,:)=[Sample1(i,:) 1];  %样本1分量增广化,训练样本增加分量1
end;

n2=size(Sample2);
for i=1:n2(1)
   ExtendSample2(i,:)=[Sample2(i,:) 1];  %样本2分量增广化,训练样本增加分量1
end;

ExtendSample2=-1.*ExtendSample2;  %训练样本2乘以-1
Sample=[ExtendSample1;ExtendSample2];
n=size(Sample);
w=ones(1,n(2));    %增广权矩阵赋初值
%w=[1 1 1];
p=1;  %增量p=1
d=zeros(1,n(1));
while min(d)<=0    %循环条件每一个样本分类正确
for i=1:n(1)
    d(i)=w*Sample(i,:)'
    if d(i)>0,
        w=w;  %%分类正确,权重不变
    end;
    if d(i)<=0,
        w=w+p*Sample(i,:);  %%分类错误,调整权重
    end;
end;
end;
w

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?