吴恩达老师机器学习笔记SVM(二)

今天的部分是利用高斯核函数对分布稍微复杂一点的数据进行分类

在这里插入图片描述
这里的高斯核函数是构建新的特征,该特征是关于到其余所有样点的欧式距离。
在这里插入图片描述
下面放出代码:

load('ex6data2.mat');
[m n]=size(X);
f=zeros(m,m);
a=0.005
for i=1:m
    Xp=X(i,:);
    Xp=repmat(Xp,m,1);
    Xp=exp(-sum((Xp-X).^2,2)./(2*a));
    f(i,:)=Xp';
end
C=1000;
theta=rand(m,1);
for i=1:1000 % 拟合次数  
      theta=theta-(((f).*(f*theta>=-1))'*(1-y)+((-f).*(f*theta<=1))'*y);
end
sum((1-y).*(f*theta>=-1)+y.*(f*theta<=1)) % 检查分类错误样本数

这里的a比较关键,相当于放缩不同距离的权重,影响着最后的分类精度。
不太了解这个图是怎么画出来的:
在这里插入图片描述
统计最后分类的错误样本数量为0。以后有时间会再钻研钻研怎么画出来的。
(代码如果一时半会找不到错误,可以先放放,过几天再看看的说~)

猜你喜欢

转载自blog.csdn.net/qq_21567935/article/details/83446822