感知机学习算法的对偶形式

% 感知机学习算法的对偶形式,算法2.2参考李航《统计学习方法》书中第二章的算法
%
clear all;
clc

X=[3,3;4,3;1,1];Y=[1,1,-1];%训练数据集及标记
learnRate=1;%学习率(0,1]
alpha=zeros(1,size(X,1));b=0 %%alpha和b的初值
G=X*X';%%计算Gram矩阵

i=1;k=0;
while 1
    if Y(i)*(sum(alpha.*Y.*G(i,:))+b)<=0 %该点未被正确分类,调整之
        alpha(i)=alpha(i)+1;
        b=b+Y(i);
        i=1;%调整w,b之后,重新对每个点检查
        k=k+1;%记录迭代次数
        fprintf('迭代次数k=%d',k);
        Alpha=sprintf('%2.0f\t',alpha)
        fprintf('b=%d\n',b);
        continue;
    else
        i=i+1;
    end
    if i>size(X,1)
        break;
    end
end
w=alpha.*Y*X
b

你可能感兴趣的:(感知机学习算法的对偶形式)