SVM

SVM

什么是SVM?

Support Vector Machine,支持向量机。
它是一种常见的分类方法。在机器学习中,SVM是有监督的学习模型。

SVM可以用来干什么?

SVM可以做分类、回归分析以及模式识别。

SVM的一些概念

举个例子来解释这些概念。
下面有红球和蓝球,请将两种颜色的球分开。
在这里插入图片描述
画一条直线,分出红球和蓝球。
在这里插入图片描述
到这里,可以顺带提一下有监督学习和无监督学习的概念。

什么是有监督学习VS无监督学习?
-有监督学习:事先对数据打上分类标签,机器知道数据属于哪个分类。即告诉机器哪个是红哪个是蓝,让机器分出红蓝。
-无监督学习:数据没有被打上分类标签,需要机器完成分类。即让机器识别红蓝,分出红蓝。

在分类时,有可能出现错误的情况,如此时红球站错了队列。
在这里插入图片描述
而SVM就是来找到最优的分类界线。在分类不产生错误下,左右移动最优分界线将出现左右两个极限位置。即分界线的两边尽可能大的间隙,这样放置更多的球,依然可以更好地去做分类。
在这里插入图片描述
如出现下图情况,只能用曲线划分红球和蓝球。
而再从二维平面变成三维空间,划分的曲线又变成了平面,这里我们叫超平面。
在这里插入图片描述
-超平面:在三维空间中,将数据分成两类的平面。即SVM分类器。

SVM工作原理:就是找到这样一个超平面。

再看另外一张图,相比于直线A和直线B,直线C划分更优。
在这里插入图片描述
在多维空间中,这里的直线C就变成了决策面C。
-决策面:在多维空间中划分数据的平面。存在划分更优的最有决策面C(中间位置)。
-极限位置:决策面不变,分类不产生错误的情况下,移动决策面C,将产生两个极限的位置即决策面A和决策面B.
-分类间隔:极限位置到最优决策面C的距离。
SVM的最优解:就是找到拥有最大间隔的决策面。

另外,还有几个概念。
-硬间隔:完美分类准确,不能出现分类错误的情况。
-软间隔:允许一定量的样本分类错误。
无法对非线性的数据进行分类,提出核函数。
-核函数:将样本从原始空间映射到更高维的特质空间中,使样本在新的空间中线性可分。

SVM该如何使用?

(1)引用

from sklearn import svm

SVM:可做分类,回归。
分类器:SVC或者LinearSVC
区别:可否处理线性数据。
(2)创建分类器
SVC的构造函数:

model = svm.SVC(kernel=‘rbf’,C=1.0,gamma=‘auto’)
model = svm.LinearSVC()

注:LinearSVC()没有kernel参数
三个重要参数:
a.kernel:核函数的选择。
-linear:线性核函数。不能处理线性不可分数据。
-poly:多项式核函数。
-rbf:默认值。高斯核函数。
-sigmod:sigmod核函数。SVM实现的是多层神经网络。
b.C:目标函数的惩罚系数。默认为1.0。
C越大:分类越准确,泛化能力差。
C越小:分类准确性低,泛化能力强。
c.gamma:核函数的系数。样本特征数的倒数。gamma=1/n_features
(3)训练样本
训练:

model.fit(train_X,train_Y)

train_X特征选择后抽取的特征值矩阵
train_Y分类标识
预测:

prediction=model.predict(test_X)

test_X样本特征矩阵
prediction测试集预测分类结果

参考链接:https://www.zhihu.com/question/21094489/answer/86273196

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值