七、支持向量机
支持向量机
(Support vector machines,SVM)- 模型:定义特征空间上最大的线性分类器,区别于感知机模型,具备
核技巧
,所以也是非线性分类器- 包括:线性可分支持向量机、线性支持向量机、非线性支持向量机
- 策略:间隔最大化,形式化为求解
凸二次规划
问题,等价正则化合页损失函数最小化
问题- 线性可分、线性支持、非线性支持向量机分别通过硬间隔最大化,软间隔最大化,核技巧及软间隔最大化来学习
- 算法:求解凸二次规划最优化算法
- 模型:定义特征空间上最大的线性分类器,区别于感知机模型,具备
核函数
:将输入从 输入空间映射 到特征空间得到的特征向量之间的内积
,进而帮助我们学习非线性支持向量机,隐式地从高维特征中学习线性支持向量机。
7.1 线性可分支持向量机
7.1.1 线性可分SVM模型
给出训练数据集:
- 符号说明: x i x_i xi表示第i个特征向量实例, y i y_i yi是类标记,取值为+1和-1,表示正例和负例。
- 对于该模型,我们假设训练数据集
线性可分
(见定义2.2) - 训练目标:在特征空间中找到分离超平面,让实例分到不同的类,并通过间隔最大化求得最优分离超平面(区别于感知机,此时超平面是唯一的)

二类分类问题的示意图如下,下一小节,我们介绍如何度量点到平面的间隔,进而为后续的间隔最大化策略做铺垫。
7.1.2 函数间隔与几何间隔
- 通过点距离平面超平面的远近来表示分类预测的确信程度
- 如上图所示,对于距分离超平面较远的A点,我们预测该点为正类则更加确信,对于较近的C点,则认为该点预测为正类则不那么确信
函数间隔
:对于 w ⋅ x + b = 0 w · x + b = 0 w⋅x+b=0超平面, ∣ w ⋅ x + b ∣ |w · x + b| ∣w⋅x+b∣则表示点x距离超平面的远近,通过其符号与类标记y是否一致来表示分类是否正确- 考虑到平面系数变为原来的k倍后,超平面不变,函数间隔变为k倍,因此我们可以加入规范化约束 ∥ w ∥ = 1 \|w\|=1 ∥w∥=1使得函数间隔固定

几何间隔
:相对函数间隔,几何间隔则对应几何意义上真实的距离,距离为 γ i = y i ( w ∥ w ∥ ∙ x i + b ∥ w ∥ ) \gamma_i=y_i\left(\frac{w}{\|w\|}\bullet x_i+\frac{b}{\|w\|}\right) γi=yi(∥w∥w∙xi+∥w∥b)- 从图7.2中看到,点A(正例)到超平面的几何间隔为 γ i = w ∥ w ∥ ∙ x i + b ∥ w ∥ \gamma_i=\frac w{\|w\|}\bullet x_i+\frac b{\|w\|} γi=∥w∥w∙xi+∥w∥b
- 那么负例点到超平面的几何间隔为 γ i = − ( w ∥ w ∥ ∙ x i + b ∥ w ∥ ) \gamma_i=-\left(\frac{w}{\|w\|}\bullet x_i+\frac{b}{\|w\|}\right) γi=−(∥w∥w∙xi+