【1】引言
前序学习进程中,已经对SVM的KKT条件,Slater条件等进行了探究,但这些都是完美情况,数据线性可分。
实际生活中需要处理的数据往往因为各式各样的原因会不可分,所以必须学会容忍一些小错误,完美的很难永恒存在。
为描述这种小错误的存在,软边界被定义出来。
【2】软边界定义
在早期的拉格朗日函数构造中,我们很熟悉函数距离F的定义公式:F=mini=1,...,myi(w⋅xi+b)F=\min_{i=1,...,m}y_{i}(w \cdot x_{i}+b)F=i=1,...,mminyi(w⋅xi+b)
这个时候先把最小的函数间隔调整为1,就会有F≥1F\geq 1F≥1
此时最好换一种写法,把F改为g:g=yi(w⋅xi+b)≥1g=y_{i}(w\cdot x_{i}+b)\geq 1g=yi(w⋅xi+b)≥1
但因为有一些淘气的点存在,所以给上述公式配一个变量项ξi\xi_{i}ξi,这个时候再把g改为h,有:
h=yi(w⋅xi+b)≥1−ξih=y_{i}(w\cdot x_{i}+b)\geq 1-\xi_{i}h=yi(w⋅xi+b)≥1−ξi
之前我们已经推算过,几何距离和最优化几何距离是不断变化数学表达式的效果。
几何距离:δ=F∣∣w∣∣\delta=\frac{F}{||w||}δ=∣∣w∣∣F
最佳几何距离:通过同比率调整w和b,使得F=1,从而有δmax=1∣∣w∣∣\delta_{max}=\frac{1}{||w||}δmax=∣∣w∣∣1,
在此基础上进而转化为距离函数fff:f=min12∣∣w∣∣2f=\min \frac{1}{2}||w||^2f=min21∣∣w∣∣2
现在匹配带有变量项ξ\xiξ的情况,改写上述定义:
几何距离:δξ=h∣∣w∣∣\delta_{\xi}=\frac{h}{||w||}δξ=∣∣w∣∣h
最佳几何距离:通过同比率调整w和b,使得F=1,变量项这个时候就出现了,从而有δmax,ξi=1−ξi∣∣w∣∣\delta_{max,\xi_{i}}=\frac{1-\xi_{i}}{||w||}δmax,ξi=∣∣w∣∣1−ξi。
此时的距离函数fff包括两部分,第一部分是单纯和∣∣w∣∣||w||∣∣w∣∣相关,另一部分的影响则来自在∣∣w∣∣||w||∣∣w∣∣确认时,ξi\xi_{i}ξi的存在。为了避免麻烦,定义最优化几何距离为:
f=min12∣∣w∣∣2+C∑i=1nξif=\min \frac{1}{2}||w||^2+C\sum_{i=1}^{n}\xi_{i}f=min21∣∣w∣∣2+Ci=1∑nξi
这就是SVM的软边界公式。
此处的新增项C∑i=1nξiC\sum_{i=1}^{n}\xi_{i}C∑i=1nξi是错误惩罚项。
定义一个常数C有很多好处:
首先实际上每个ξ\xiξ的大小都不一样,如果定义CiξiC_{i}\xi_{i}Ciξi会让公式变得异常复杂,所以C放在求和符号之前,可以简化公式;
然后C放在求和符号之前,实际上对变量项进行线性化处理,待求解问题的结构变得简单,在之后构造拉格朗日函数也会变得相对容易。
从更大的层面,我们也更希望从整体的角度控制模型对错误的容忍度,所以定义一个常数C可以实现快速调整,非常符合调参数的期待。
【3】总结
初步学习了支持向量机的软边界公式。