前言

此文介绍了线性可分支持向量机的硬间隔最大化以及它的对偶算法,很好的理解线性可分支持向量机是理解线性支持向量机的基础,只要理解前面的,后面的就会很容易理解。

首先,前面我们所讨论的都是基于线性可分的训练数据集,但在现实任务中,我们得到的一般都不是线性可分的,这是线性可分支持向量机就不适用了。因为这时我们之前所提到的不等式约束并不能都成立。

缓解该问题的一个办法就是允许支持向量机在一些样本上出错。那么我们怎样才能将它扩展到线性不可分问题呢?这就需要我们将硬间隔最大化改为软间隔最大化

软间隔

软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题

图片来源:周志华《机器学习》

我们之前提到的硬间隔,是要求所有样本都满足约束条件,而软间隔则是允许某些样本不满足约束:
软间隔支持向量机模型的对偶问题_机器学习_02
自然,在最大化间隔的同时,不满足约束的样本应尽可能的少。

为了解决某些样本不满足约束条件,可以对每个样本点 软间隔支持向量机模型的对偶问题_误分类_03 引入一个松弛变量 软间隔支持向量机模型的对偶问题_支持向量机_04,是函数间隔加上松弛变量大于等于1,这样,约束条件就变为:
软间隔支持向量机模型的对偶问题_机器学习_05
同时,对每个松弛变量 软间隔支持向量机模型的对偶问题_机器学习_06,支付一个代价 软间隔支持向量机模型的对偶问题_机器学习_06 。目标函数由原来的软间隔支持向量机模型的对偶问题_误分类_08变成:
软间隔支持向量机模型的对偶问题_机器学习_09
这里,称为惩罚系数,软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_10值大时对误分类的惩罚增加,软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_10值小时对误分类的惩罚减小。

此时,最优化的目标函数包括两个含义:

  • 使软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_12尽量小即间隔尽量大
  • 使误分类点的个数尽量小

软间隔支持向量机模型的对偶问题_约束条件_13是调和二者的系数

有了上面的思路,可以和线性可分支持向量机一样来考虑线性支持向量机的学习问题。

线性不可分的线性支持向量机的学习问题就变为如下凸二次规划问题(原始问题):

软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_14

通过求解以上凸二次规划问题,即软间隔最大化问题,得到的分离超平面为:

软间隔支持向量机模型的对偶问题_支持向量机_15
以及相应的分类决策函数:
软间隔支持向量机模型的对偶问题_误分类_16
这就称为:线性支持向量机

对偶算法

对偶问题的构建和线性可分支持向量机的对偶问题的构建类似。

为了让大家更容易理解,现在我们再来构建一次:

(1)首先构建拉格朗日函数
软间隔支持向量机模型的对偶问题_支持向量机_17
其中,软间隔支持向量机模型的对偶问题_机器学习_18

(2)求软间隔支持向量机模型的对偶问题_误分类_19

拉格朗日函数$L(w,b,\xi,\alpha,\mu) 软间隔支持向量机模型的对偶问题_支持向量机_20w,b,\xi$求偏导数并令为0:
软间隔支持向量机模型的对偶问题_约束条件_21
得:
软间隔支持向量机模型的对偶问题_机器学习_22

代入拉格朗日函数,得:
软间隔支持向量机模型的对偶问题_机器学习_23

(3)再对软间隔支持向量机模型的对偶问题_误分类_19软间隔支持向量机模型的对偶问题_误分类_25的极大,即得对偶问题:
软间隔支持向量机模型的对偶问题_支持向量机_26
将上式的目标函数由求极大转换为求极小,再将约束条件合并,得到等价的对偶最优化问题:
软间隔支持向量机模型的对偶问题_机器学习_27

线性支持向量机对偶算法:

输入:线性可分训练数据集软间隔支持向量机模型的对偶问题_误分类_28,其中,软间隔支持向量机模型的对偶问题_支持向量机_29
输出:最大间隔分离超平面和分类决策函数。
(1)选择惩罚系数 $C > 0 $ ,构造并求解约束最优化问题:
软间隔支持向量机模型的对偶问题_约束条件_30
求得最优解软间隔支持向量机模型的对偶问题_误分类_31
(2)计算:
软间隔支持向量机模型的对偶问题_误分类_32
并选择软间隔支持向量机模型的对偶问题_误分类_33的一个分量 $\alpha_j^* $ 适合条件,计算:
软间隔支持向量机模型的对偶问题_支持向量机_34
(3)求得分离超平面:
软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_35
分类决策函数:
软间隔支持向量机模型的对偶问题_机器学习_36

软间隔支持向量

软间隔支持向量机模型的对偶问题_误分类_37

软间隔的支持向量 软间隔支持向量机模型的对偶问题_约束条件_38

  • 若,则 软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_39 ,支持向量 软间隔支持向量机模型的对偶问题_支持向量机_40
  • 软间隔支持向量机模型的对偶问题_约束条件_41, ,则正确分类,支持向量 软间隔支持向量机模型的对偶问题_支持向量机_40
  • 软间隔支持向量机模型的对偶问题_误分类_43软间隔支持向量机模型的对偶问题_约束条件_44 ,支持向量 软间隔支持向量机模型的对偶问题_支持向量机_40
  • 软间隔支持向量机模型的对偶问题_误分类_43, ,支持向量 软间隔支持向量机模型的对偶问题_支持向量机_40

合页损失函数

线性支持向量机学习还有另外一种解释,就是最小化以下目标函数:
软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_48
目标函数第一项是经验损失或经验风险,称为合页损失函数。下标“+”表示一下取正值的函数:
软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_49

这就是说,当样本点软间隔支持向量机模型的对偶问题_约束条件_50被正确分类且函数间隔(确信度)$y_i(w\cdot x_i+b) $大于1时,损失是0,否则损失为软间隔支持向量机模型的对偶问题_支持向量机_51,我们注意到上图中实例点软间隔支持向量机模型的对偶问题_机器学习_52被正确分类,但是在间隔边界与分离超平面之间,损失不是0,目标函数第二项是系数软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_53软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_54软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_55范数,是正则化项。

两个方式的相互转换:

定理: 线性支持向量机原始最优化问题:
软间隔支持向量机模型的对偶问题_支持向量机_56
等价于最优化问题:
软间隔支持向量机模型的对偶问题_支持向量机_57

证明:
令:软间隔支持向量机模型的对偶问题_机器学习_58
软间隔支持向量机模型的对偶问题_误分类_59式$ \ \xi_i \geqslant 0$成立;
当$1-y_i(w \cdot x_i + b ) > 0 软间隔支持向量机模型的对偶问题_误分类_60y_i(w \cdot x_i + b ) = 1 - \xi_i$;
当$1-y_i(w \cdot x_i + b ) \leqslant 0 软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_61\xi_i = 0$ ,有软间隔支持向量机模型的对偶问题_软间隔支持向量机模型的对偶问题_62
故:软间隔支持向量机模型的对偶问题_误分类_63 满足约束条件,所以最优化问题:
软间隔支持向量机模型的对偶问题_支持向量机_57
可写为:
软间隔支持向量机模型的对偶问题_误分类_65
若取软间隔支持向量机模型的对偶问题_约束条件_66,则:
软间隔支持向量机模型的对偶问题_支持向量机_67
与原始问题等价。

常用的合页损失函数有:

  • hinge损失:软间隔支持向量机模型的对偶问题_约束条件_68
  • 指数损失:软间隔支持向量机模型的对偶问题_约束条件_69
  • 对数损失:软间隔支持向量机模型的对偶问题_支持向量机_70

函数图像如下图:

软间隔支持向量机模型的对偶问题_误分类_71

参考书籍:
《机器学习》 周志华,《统计学习方法》 李航