机器学习:支持向量机SVM

Posted 残留的存在主义

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习:支持向量机SVM相关的知识,希望对你有一定的参考价值。

支持向量机SVM(一)



机器学习(八):支持向量机SVM(一)

当前浏览器不支持播放音乐或语音,请在微信或其他浏览器中播放 机器学习(八):支持向量机SVM(一) 机器学习(八):支持向量机SVM(一)




说明


编程语言:Python

机器环境:Windows

参考书籍:《机器学习实战

参考学习视频:

吴恩达机器学习视频:

https://study.163.com/course/courseMain.htm?courseId=1004570029

注:一些公式推导,可以参照周志华的书籍《机器学习》。




支持向量机(SVM)


支持向量机

支持向量机(Support Vector Machines),SVM广泛地应用于工业界、学术界,相比于逻辑回归、神经网络,对于非线性问题,能提供更清晰、更强大的方式。

SVM是一个由分类超平面定义的判别分类器。

有人认为SVM是最好的现成的分类器,“现成”指的是分类器不加修改即可直接使用,意味着直接应用SVM可以取得较低的错误率,对训练集之外的数据点做出很好的分类决策。


优缺点

优点:泛化错误率低,计算开销不大,结果易解释。

缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适用于处理二类问题。

适用数据范围:数值型和标称型(离散型)



优化目标—最小化代价函数


逻辑回归的代价函数

在中,我们已经讨论过逻辑回归分类中的代价函数,

机器学习(八):支持向量机SVM(一)


SVM的代价函数

对逻辑回归的代价函数进行些许修改,即是SVM的代价函数,我们进行最小化

(推导过程可以参照吴恩达教学视频)

机器学习(八):支持向量机SVM(一)

注意与逻辑回归不同,SVM是以1与-1为分割,而不是sigmond中的0,这相当于构建了一个

安全间距因子。



分隔超平面( Separating Hyperplane)与大间隔( Large Margin)


(分隔)超平面

超平面是比所研究的环境空间低一个维度的子空间。如果空间是3维的,那么它的超平面就是二维平面。如果空间是二维的,则其超平面是一维的直线。

机器学习(八):支持向量机SVM(一)


大间隔

间隔:一个点到分割面的距离,称为点相对于分割面的距离。

数据集中所有的点到分割面的最小间隔的2倍,称为分类器或数据集的间隔(margin)。

SVM分类器是要找最大的数据集间隔,故SVM又被称为最大间隔分类器(Large Margin Classifier)

支持向量:离分割超平面最近的那些点。

SVM的决策边界

如上图,可以用粉色、绿色和黑色的线来分隔样本,但是黑色的线使得两侧样本点尽可能地分隔开来(离两侧最近的样本点的距离最大,即间隔部分的宽度最大),在SVM中,我们需要找出最大间隔,则黑色的直线为我们寻找的决策边界。这条决策边界使得两边的样本一个为正类,一个为负类。



大间隔分类器的数学原理


向量内积(点乘)

点乘的结果是一个标量(数量而不是向量) ,可正可负。   

可参照https://www.cnblogs.com/gxcdream/p/7597865.html


几何意义

a向量点乘b向量(即a与b的内积)的几何意义表示:     

      b向量在a向量方向上的投影   

如上图所示,u向量点乘v向量,即v在u上的投影的长度(也叫范数),这个长度可正可负,于是可以将样本分为正负两类。SVM为何最终会找到大间隔分类器,因为它试图最大化每个样本的范数,即训练样本到决策边界的距离,这个距离即样本点在法向量的投影,这个法向量,即我们所要需要的参数向量。



一般流程


一般流程

(1)收集数据:可以使用任何方法。

(2)准备数据:需要数值型数据。

(3)分析数据:有助于可视化分隔超平面

(4)训练算法:SVM大部分时间都源自于训练,该过程主要实现两个参数的调优。

(5)测试算法:十分简单的计算过程就可以实现。

(6)使用算法:几乎所有分类问题都可以使用SVM,SVM本身是 一个二类分类器,对多类问题应用SVM需要对代码做一些修改。



下期 机器学习(九):支持向量机SVM(二)



机器学习系列:

家明将与大家一起学习机器学习,借助于网上的教程与书籍指导,家明总结,与大家一起进步,共同应对AI时代。










以上是关于机器学习:支持向量机SVM的主要内容,如果未能解决你的问题,请参考以下文章

机器学习入门之四:机器学习的方法--SVM(支持向量机)(转载)

机器学习-支持向量机SVM

吴恩达机器学习-7-支持向量机SVM

机器学习:支持向量机SVM

机器学习 支持向量机 SVM(上)

支持向量机(SVM)|机器学习