7&8. 支持向量机 SVM

SVM简介:

支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论, 是我们除了集成算法之外,接触的第一个强学习器。

 

从算法的功能来看:SVM囊括了分类和聚类功能:

从分类效力来讲:SVM在无论线性还是非线性分类中,都是明星般的存在,如此全能,宛如机器学习界的刘德华。

从学术的角度来看:SVM是最接近深度学习的机器学习算法。

 

 

这几个缩写的含义及关系,以免混淆:

  • SVM=Support Vector Machine 是支持向量
  • SVC=Support Vector Classification 就是支持向量机用于分类 
  • SVR=Support Vector Regression 就是支持向量机用于回归分析

SVM模型的几种:

  • svm.LinearSVC Linear Support Vector Classification.
  • svm.LinearSVR Linear Support Vector Regression.
  • svm.NuSVC Nu-Support Vector Classification.
  • svm.NuSVR Nu Support Vector Regression.
  • svm.OneClassSVM Unsupervised Outlier Detection.
  • svm.SVC C-Support Vector Classification.
  • svm.SVR Epsilon-Support Vector Regression.

 

 

支持向量机分类器是如何工作的:

支持向量机所作的事情其实非常容易理解。先来看看下面这一组数据的分布,这是一组两种标签的数据,两种标签分别由圆和方块代表。支持向量机的分类方法,是在这组分布中找出一个超平面作为决策边界,使模型在数据上的分类误差尽量接近于小,尤其是在未知数据集上的分类误差(泛化误差)尽量小。

另一种情况:升维。

 

关键概念:超平面

在几何中,超平面是一个空间的子空间,它是维度比所在空间小一维的空间。 如果数据空间本身是三维的, 则其超平面是二维平面,而如果数据空间本身是二维的,则其超平面是一维的直线。

在二分类问题中,如果一个超平面能够将数据划分为两个集合,其中每个集合中包含单独的一个类别,我们就说这个超平面是数据的“决策边界”。

 

选用不同的核函数,就可以解决不同数据分布下的寻找超平面问题。在sklearn的SVC中,这个功能由参数“kernel”和一系列与核函数相关的参数来进行控制。我们就在乳腺癌数据集上,来探索一下各种核函数的功能和选择。

 

除了选项"linear"之外,其他核函数都可以处理非线性问题。
多项式核函数有次数d,当d为1的时候它就是在处理线性问题,当d为更高次项的时候它就是在处理非线性问题。

 

 

那究竟什么时候选择哪一个核函数呢?

答:

线性核函数和多项式核函数在非线性数据上表现会浮动,如果数据相对线性可分,则表现不错;如果是像环形数据那样彻底不可分的,则表现糟糕。在线性数据集上,线性核函数和多项式核函数即便有扰动项也可以表现不错,可见多项式核函数是虽然也可以处理非线性情况,但更偏向于线性的功能。

Sigmoid核函数就比较尴尬了,它在非线性数据上强于两个线性核函数&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值