支持向量机(三):软间隔与正则化
软间隔原问题
在(一)中,我们要求求出一个超平面,使得其能完全将样本空间划分,但现实中很难找到这样的超平面,因此需要允许支持向量机在一些样本上出错,即软间隔。
对于硬间隔,我们要求对任意样本点\((x_{i},y_{i})\),均有:
而对于软间隔,我们允许有一些样本不满足上述约束,当然,不满足上述约束的样本点个数越少越好,因此,原问题可变为:
其中\(C>0\),是一个常数,当\(C\)为无穷大时,上式会令所有样本均满足硬间隔的约束,从而等价于(一)中的原问题,而\(C\)为一个有限值时,会允许一些样本不满足约束。
令\(\xi_{i}=max[0,1-y_{i}(\omega^Tx_{i}+b)]\),则上式变为:
显然\(\xi_{i}\ge0\),且当\(1-y_{i}(\omega^Tx_{i}+b)>0\)时,\(\xi_{i}=1-y_{i}(\omega^Tx_{i}+b)\),当\(1-y_{i}(\omega^Tx_{i}+b)\le0\)时,\(\xi_{i}=0\),综上有\(1-y_{i}(\omega^Tx_{i}+b)\le\xi_{i}\),即
故对于软间隔,其原问题为:
原问题的转换
类似于(一)中对原问题的转换,在这里,我们也对原问题进行转换,可得原问题等价于:
其中\(L\)的表达式如下:
其中\(\lambda_{i}\ge0,\mu_{i}\ge0\)
则原问题的对偶问题为:
令\(L\)对\(\omega,\xi_{i},b\)求偏导并令其为\(0\),可得:
将上面几个式子代入到对偶问题中,可得对偶问题等价于:
KKT条件
在(二)中,我们知道,\(KKT\)条件为强对偶的必要条件,因此,当原问题和对偶问题的关系为强对偶时,对偶问题的最优解必满足\(KKT\)条件。
当一个解\(\omega^{*},b^{*},\xi^{*}\)是最优解时,其必满足以下条件:
首先是原问题本身具备的约束
其次,当该解为最优解时,其应满足\(L\)对\(\omega,b,\xi,\lambda,\mu\)的偏导为\(0\),由于\(L\)对\(\omega,b,\xi\)的偏导等于\(0\)的等式已经作为条件代入到对偶问题中了,因此求出来的解天然就满足这些条件,故还需要让\(L\)对\(\lambda,\mu\)的偏导为0的等式成立,即:
若\(1-\xi_{i}-y_{i}(\omega^Tx_{i}+b)\ne0\),则\(\lambda_{i}=0\)。同理,若\(\xi_{i}\ne0\),则\(\mu_{i}=0\)。
故\(KKT\)条件为:
支持向量机求解的步骤
在这里再梳理一下支持向量机的求解步骤(假设问题已经满足强对偶关系),以软间隔为例:
- 先将原问题转换为对偶问题
- 由于最优解必满足\(L\)对\(\omega,b,\xi\)的偏导等于\(0\)这些条件,故将这些条件代入到对偶问题中去,可以得到一个只含有参数\(\lambda\)的式子
- 将第二步中得到的式子使用\(SMO\)算法求解出\(\lambda\),而后再利用之前\(L\)对\(\omega,b,\xi\)的偏导等于\(0\)的式子和求出\(\omega,b,\xi,\mu\)
- 将求解出来的结果代入到\(KKT\)条件中,若其满足\(KKT\)条件,则其为最优解,否则其不是最优解,还需要返回第三步,继续求出一个新的满足约束条件的解,而后再次看其是否满足\(KKT\)条件。

浙公网安备 33010602011771号