SVM支持向量机原理
支持向量机(Support Vector Machines,SVM)是一种二分类模型。其核心目标是寻找一个“间隔最大”的超平面将不同类别的数据点分隔开。这个超平面在二维空间中是一条直线,在三维空间中是一个平面,在更高维空间中则是一个超平面。 间隔最大代表该超平面与最近的数据点之间的距离最大,这使得支持向量机有较强的泛化能力。
本文会讲解SVM的原理,帮助读者在应用该模型建模时能够理解自己调包时模型训练的的大致过程。
一、线性可分支持向量机-硬间隔
1.什么是线性可分
样本线性线性可分指的是能用超平面将不同类的样本完全划分开。距离超平面最近的几个样本点称为支持向量,它们直接决定超平面的位置和方向,只要支持向量不变,超平面就不会变。
我们的目的就是要找距离两类最近样本(支持向量)最远的平面

2.间隔与最大间隔
经过数学推导,寻找超平面就可以转化为一个优化问题


二、线性支持向量机-软间隔
1.线性不可分与软间隔
先前我们假定训练样本在样本空间中线性可分,但现实中很可能并非如此,此时我们无法找出一个合适的超平面将所有样本点完全正确划分。通常训练数据中会有一些特异点,如果将这些特异点去掉,剩下大部分样本点是线性可分的。这时我们可以放宽条件,允许某些样本分错,为此我们引入软间隔。

2.处理方法:添加新的松弛变量并引入惩罚项

三、非线性支持向量机-核函数
1.非线性分类问题
非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题,如下图是无法直接使用超平面对其分类的:

2.解决方法:引入核函数进行特征变换
我们可以通过核函数将数据从原始空间映射到高维特征空间,使得数据在高维特征空间线性可分,将原本的非线性问题转换为线性问题。使用核技巧学习非线性支持向量机,等价于隐式地在高维特征空间中学习线性支持向量机。

3.常见的核函数
核函数的选择也是支持向量机最大的变数,若核函数选择不合适,意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳。下面是几种常用的核函数:


浙公网安备 33010602011771号