上篇文章我们介绍以及推导了SVM的基本型,如果对数学求解过称已经很清楚的化,我们这一篇的篇幅会小很多,所以我们这里也介绍一下核函数.
软间隔
软间隔与硬间隔的区别就是数据近似线性可分,而我们在处理这种情况的时候一般就是允许分类出现一些错误,那我们在求解最优超平面的时候就要把这些错误考虑进去,于是我们将这些错误用0/1损失函数来表示。
0/1损失函数的引入
上面介绍了由于数据近似线性可分,所以我们的有些样本不是被分的很完美的。
像这种,就有个别几个样本违背了我们的约束(就是超过了虚线去到了他们不该去的那一侧),我们暂且将这种错误称为loss,所以我们引入0/1损失函数来表示这种情况。
- 我们将loss加在我们的最小化 ∣ ∣ w ∣ ∣ 2 ||w||^2 ∣∣w∣∣2 上面来模拟数据近似线性可分。
- 由于0/1损失函数的数学性质不太好,不利于我们模拟该情况,所以我们引入了hinge 替代损失函数,该函数就连续。
- 然后只有违背了约束的样本才有损失值,我们就把损失值加在我们的
∣
∣
w
∣
∣
2
||w||^2
∣∣w∣∣2 后面。
- 之后我们的约束规划问题就变成了这样
- 考虑到方便,我们直接用非负松弛变量表示loss,此约束条件还有一个平衡系数C。
- 当C趋近正无穷时,就迫使所有样本都满足约束,相当于硬间隔。当C取有限值时,就有一些样本不满足约束,这就是软间隔。
- 得到用C和非负松弛变量表示的二次约束规划问题,求解过程就和我们的硬间隔非常相似了,我这里就不一一推导了。
需要注意的是满足约束条件的样本我们叫他支持向量,这里由于要减去非负松弛变量,所以支持向量就不再是满足硬间隔约束条件的样本了(具体问题具体分析)
介绍几种替代损失函数
如果使用对率损失函数 log 来替代式 0/1 损失函数,则几乎就得到了对率回归模型,实际上,支持向量机与对率回归的优化目标相近,通常情形它们的性能也相当.对率回归的优势主要在于其输出具有自然的概率意义,即在给出预测标记的同时也给出了概率,而支持向量机的输出不具有概率意义,欲得到概率输出需进行特殊处理 [Platt 2000]; 此外,对率回归能直接用于多分类任务,支持向量机为此则需进行推广[Hsu and Lin,2002]。hinge 损失有一块**"平坦"的零区域**,这使得支持向量机的解具有稀疏性,而对率损失是光滑的单调递减函数,不能导出类似支持向量的概念,因此对率回归的解依赖于更多的训练、样本其预测开销更大.
正则化
我们还可以把 0/1 损失函数换成别的替代损失函数以得到其他学习模型,这些模型的性质与所用的替代函数直接相关,但它们具有一个共性:优化目标中的第一项用来描述划分超平面的"间隔"大小,另一项用来表述训练集上的误差,可写为更一般的形式:
其中第一项我们称为“结构风险”,用来描述模型的某些性质,第二项我们称为“经验风险”,用来描述模型与训练数据的契合程度;C用来对二者进行折中 ,从经验风险最小化的角度来看,第一项表述了我们希望获得具有何种性质的模型(例如希望获得复杂度较小的模型),这为引入领域知识和用户意图提供了途径;另一方面,该信息有助于削减假设空间 从而降低了最小化训练误差的 过拟合风险.从这个角度来说该公式称为“正则化(regularization)问题”,第一项为正则化项,C称为正则化常数,
L
p
L_p
Lp 范数 (norm) 是常用的正则化项,其中
L
2
L_2
L2 范数
∣
∣
ω
∣
∣
2
||ω||^2
∣∣ω∣∣2 倾向于 的分量取值尽量均衡,即非零分量个数尽量稠密.而
L
0
L_0
L0范数
∣
∣
ω
∣
∣
2
||ω||^2
∣∣ω∣∣2和
L
1
L_1
L1范数
∣
∣
ω
∣
∣
2
||ω||^2
∣∣ω∣∣2 则倾向与ω的分量尽量稀疏 即非零分量个数尽量少.
正则化可理解为一种"惩罚函数法"即对不希望得到的结采施以惩罚,从而使得优化过程趋向于希望目标.从贝叶斯估计的角度来看!正则化项可认为是提供了模型的先验概率。
核函数
那么还有一种数据线性不可分的情况,我们是怎么处理的呢,很明显软间隔和硬间隔都不能很好的处理这种情况,所以我们就突发奇想,数据在低维度不可分,难道在高纬度也不可分吗?于是我们把不可分的数据通过某种方式将其映射到高维空间,随着维度的提升,线性不可分的数据也逐渐可分。
这就是异或问题映射到高维空间后的线性可分情况
映射后超平面的所对应的模型可以就看做
于是约束二次规划问题就变成了
dual问题就是
由于涉及到计算高维空间内积,而高维很有可能是无穷维,所以我们将引入了核函数,这也称为核技巧。
采用核函数后,我们就不需要取计算其高维空间的内积了,原dual问题就变成了
求解后就可得到
该式显示出模型最优解可通过训练样本的核函数展开,这一展式亦称"支持向量展式 "(support vector expansion).
核函数定义
该定理说明只要一个对称函数所对应的核矩阵半正定,它就能作为核
函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射, 换言之,任何一个核函数都隐式地定义了一个称为"再生核希尔伯特空间" (Reproducing Kernel Hilbert Space ,简称 RKHS) 的特征空间.
通过前面的讨论可知,我们希望样本在特征空间内线性可分,因此特征空间的好坏对支持向量机的性能至关重要.需注意的是,在不知道特征映射的形式时,我们并不知道什么样的核函数是合适的,而核函数也仅是隐式地定义了这个特征空间.于是,"核函数选择"成为支持向量机的最大变数.若核函数选择不合适,则意味着将样本映射到了一个不合适的特征空间,很可能导致性能不佳(而现在我们一般先采用高斯核(径向基,RBF)).
几种常用的核函数
- 核函数还可以通过组合得到
总结
本来以为只写软间隔与正则化的文章篇幅太短,所以加了一个核函数,没想到一下就多了这么多,你们觉得有没有必要分割一下。