SVM(support vector machine)支持向量机 SVM被称为“最优分类器”,所有能百度到的解释全都是一头雾水。
SVM是一种二分类模型,用来定义在特征空间上间隔最大的线性分类器,学习策略就是间隔最大化。
是不是榴莲?
SVM支持向量机
1、图中3条直线分别代表3个分类器,请问哪一个分类器比较好?
直观感受应该是H3。首先H1没有把类别分开,H2与数据点的间隔较小。如果有一些噪声数据的话,H2可能会分错(即对噪声敏感、泛化能力比较弱)。H3与数据点的间隔较大,可以容忍测试数据的一些噪声进行正确分类,是一个泛化能力不错的分类器。
数据点如果是P维向量,我们可以用p-1维超平面来分开这些点。但是,可能有许多超平面可以把数据分类,最佳的超平面的合理选择是以最大间隔把两个类分开的超平面。因此,SVM选择能够使离超平面最近的数据点到超平面距离最大的超平面。
2、以上介绍的SVM只能解决线性可分的问题,支持向量机还有一些由简至繁的模型来解决更加复杂的问题。
-
线性可分SVM
-
当数据线性可分时,通过硬间隔(hard margin)最大化可以学习到一个线性分类器,即硬间隔SVM,如上图的H3。
-
线性SVM
-
当数据不能线性可分但是可以近似线性可分时,通过软间隔(soft margin)最大化可以学习到一个线性分类器,即软间隔SVM。
-
非线性SVM
-
当数据线性不可分时,通过使用核技巧(kernel trick)和软间隔最大化,可以学习到一个非线性SVM。