感知器简单二分类判别模型-matlab编码

function [w,b]=perceptron_original_form(x,y,learning)
%x 训练数据集
%y 标签{-1,1}
%learning 学习率 (0,1]
%w 权重向量
%b 偏置
%%
%初始化
[m,n]=size(x);
w=zeros(1,n);
b=0;
%%
flag=0;
while (flag==0)
     for i=1:m
         if y(i)*(w*x(i,:)'+b)<=0
             w=w+learning*y(i)*x(i,:);
             b=b+learning*y(i);
             break;
         else
             if i==m
                 flag=1;
             end
         end
     end     
end  
前提是数据必须是线性可分的!!!

你可能感兴趣的:(机器学习)