6.1 支持向量与间隔
给定一组线性可分的训练样本,分类学习的目的是找到一个划分超平面。
如图
ps:中间的线即为“超平面”。
因此,支持向量机的作用:从几何角度出发,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面。相比于感知机,这个超平面的唯一的,且这个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强。
样本空间中任易点 x到超平面 ( ω , b )的距离可写为:
支持向量机(SVM)的基本模型如下:
是一个凸二次规划问题。
6.2 对偶问题
对上式使用拉格朗日乘子法可得到其“对偶问题”。具体来说,对SVM基本模型的每条约束添加拉格朗日乘子
α
i
α_i
αi≥0,则对偶问题如下所示:
将支持向量机原问题转化为拉格朗日对偶问题求解主要有如下两个原因:
- 无论原问题是否为凸优化问题,对偶问题恒为凸优化问题,因为对偶函数恒为凹函数(加负号即可转化为凸函数)。而且原始问题的时间复杂度与特征维数成正比(若特征维数大,会导致出现维数灾难问题),而对偶问题和数据量成正比,当特征维数远高于数据量的时候,采用拉格朗日对偶问题求解更高校;
- 最主要原因是:对偶问题能引入核函数,进而可推广到非线性分类问题。
6.3 核函数
支持向量机通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间。特征空间的维数可能非常高。如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(x, x′) ,它恰好等于在高维空间中这个内积,即K( x, x′) =<φ( x) ⋅φ( x′) > 。那么支持向量机就不用计算复杂的非线性变换,而由这个函数 K(x, x′) 直接得到非线性变换的内积,使大大简化了计算。
核函数选择是支持向量机的最大变数,一般文本数据通常采用线性核,情况不明时可尝试高斯核。
6.4 软间隔与正则化
在现实生活中,线性不可分的情形才是最常见的,由此引出了软间隔。
如图,红色所圈的为一些不满足约束的样本。
从数学角度来说,软间隔就是允许部分样本(但是要尽可能地少)不满足下式中的约束条件。
因此,可以将必须严格执行的约束条件转化为具有一定灵活性的“损失”,合格的损失函数要求如下:
1.当满足约束条件时,损失为0;
2.当不满足约束条件时,损失不为0;
3.(可选)当不满足约束条件时,损失与其违反约束条件的程度成正比。
只有满足以上要求,才能保证在最小化(min)损失的过程中,保证不满足约束条件的样本尽可能的少。
所以,优化目标可以写为:
ℓ
0
/
1
ℓ_{0/1}
ℓ0/1非凸,非连续,存在不可导的点,因此常用如下三种替代损失函数:
6.5支持向量回归
相比于线性回归用一条线来拟合训练样本,支持向量回归(Support Vector Regression,简称SVR)而是采用一个以
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b为中心,宽度为 2
ϵ
ϵ
ϵ的间隔带,来拟合训练样本。
落在间隔带内的样本不计算损失,在间隔带外的样本则以偏离带子的距离作为损失,然后以最小化损失的方式迫使间隔带从样本最密集的地方(中心地带)穿过,进而达到拟合训练样本的目的.