统计机器学习-线性支持向量机与软间隔最大化
假设给定一个特征空间上的训练数据集
其中,,
,
,
为第
个特征向量,也称为实例,
为
的类标记,当
时,称
为正例;当
时,称
为负例,
称为样本点。再假设训练数据集不是线性可分的。通常情况是,训练数据中有一些特异点,将这些特异点除去后,剩下大部分的样本点组成的集合是线性可分的。
线性不可分意味着某些样本点不能满足函数间隔大于等于1的约束条件。为了解决这个问题,可以对每个样本点
引进一个松弛变量
,使函数间隔加上松弛变量大于等于1。这样,约束条件变为
目标函数由原来的最小化变成最小化
是对误分类的惩罚,
越大,对误分类惩罚越大。相对于线性可分支持向量机的硬间隔最大化,这叫做软间隔最大化。
于是线性不可分支持向量机的学习的原始问题为凸二次规划问题:
可以证明的解是唯一的,但
的解可能不唯一,而是存在于一个区间。证明略。
假如,
是最优化问题(1)-(3)的解,则得到的超平面为
分类决策函数为
称为线性支持向量机。
对偶的学习算法
由原始问题(1)-(3),首先构建拉格朗日函数
其中,
,于是原始问题可以写成
则对偶问题为
首先求解内部极小化问题,求对
,
,
的偏导并使其等于0:
得
将公式(7)-(9)代入(6)得到
于是原始的问题(1)-(3)的对偶问题可以写成
对其进一步改写,由公式(12)得
代入公式(14)得
所以公式(12)-(14)可以简写为
再对目标函数取相反数,得到对偶问题
定理
设是对偶问题(15)-(17)的一个解,若存在
的一个分量
,
,则原始问题(1)-(3)的解
,
可按下式得到:
证明略。
于是分离超平面可以写成
分类决策函数
线性支持向量机学习算法
输入:训练数据集,其中,
,
,
;
输出:分离超平面和分类决策函数。
(1)选择惩罚参数,构造并求解凸二次规划问题
求的最优解。
(2)计算
选择的一个分量
适合条件
,计算
(3)求得分离超平面
分类决策函数:
支持向量
由公式
得知的样本点
能够影响支持向量机的参数。而
,所以支持向量为
的样本点
。这些支持向量分布在间隔边界上、间隔边界与分离超平面之间或者在分离超平面误分一侧。若
,则
(由
条件可以推出,由于
的结果不影响分离超平面,所以一般也不去算,其计算过程略),支持向量恰好落在间隔边界上;若
,
,则分类正确,支持向量在间隔边界与分离超平面之间;若
,
,则
在分离超平面上;若
,
,则
在分离超平面误分一侧。
合页损失函数
线性支持向量机的学习还等价于最小化以下目标函数:
证明过程略。其中目标函数的第一项是经验损失或经验风险,第二项是正则化项。函数
称为合页损失函数。下标"+"表示函数,由于函数形状像一个合页,故名合页损失函数。合页损失函数相比感知机的0-1损失,不仅要求分类正确,还要求确信度足够高时(函数间隔大于等于1)损失才是0,所以支持向量机的学习比感知机有更高的要求。