上节的支持向量机分类:

支持向量机算法学习笔记(二)_约束条件

若存在异常点,用上节的支持向量机算法进行分类:

支持向量机算法学习笔记(二)_泛化_02

由上述分类结果可知,若存在异常点,用上节的支持向量机进行分类,泛化性能较差。

解决方法是给目标函数添加一个松弛变量支持向量机算法学习笔记(二)_支持向量机_03,i表示样本编号。

目标函数:

支持向量机算法学习笔记(二)_支持向量机_04

约束条件:

支持向量机算法学习笔记(二)_约束条件_05

支持向量机算法学习笔记(二)_约束条件_06

其中惩罚参数C>0,C越大表示对误分类的惩罚越大。

最小化目标函数可以参考第一节,用拉格朗日函数将有约束的目标函数转换为无约束的目标函数,即:

支持向量机算法学习笔记(二)_误分类_07

其中支持向量机算法学习笔记(二)_支持向量机_08

要优化的目标函数:

支持向量机算法学习笔记(二)_泛化_09

可转换为对偶问题:

支持向量机算法学习笔记(二)_泛化_10

令其偏导数等于0:

支持向量机算法学习笔记(二)_误分类_11

得:

支持向量机算法学习笔记(二)_误分类_12

支持向量机算法学习笔记(二)_最小化_13

利用上式得到的结果,代入目标函数,消除参数w和b,得:

支持向量机算法学习笔记(二)_误分类_14

最大化支持向量机算法学习笔记(二)_最小化_15,约束条件为:

支持向量机算法学习笔记(二)_泛化_16

支持向量机算法学习笔记(二)_泛化_17


利用SMO算法求解支持向量机算法学习笔记(二)_泛化_18

后面的计算与支持向量机(一)一致,若得到支持向量机算法学习笔记(二)_泛化_18的结果,通过下式

支持向量机算法学习笔记(二)_误分类_20

求得模型的参数w。

1)当 0<α<C时,所对应的样本支持向量机算法学习笔记(二)_约束条件_21落在分割边界上,即支持向量点。根据这些样本求解对应的参数b,有:

支持向量机算法学习笔记(二)_约束条件_22

因此:

支持向量机算法学习笔记(二)_泛化_23

求所有满足α条件的样本参数b的平均值,若 0<α<C的样本共有M个,那么参数b的平均值为:

支持向量机算法学习笔记(二)_约束条件_24

根据参数w和b,即可得最优分类超平面:

支持向量机算法学习笔记(二)_误分类_25

2)若α=0时,那么对应得样本已正确分类。

3)若α=C时,那么对应的样本有可能存在误分类得情况,这个需要看每个样本的松弛变量支持向量机算法学习笔记(二)_支持向量机_03

我们再来看目标函数的约束条件,根据KKT条件有:

支持向量机算法学习笔记(二)_最小化_27

上面的等式等价于样本点到超平面的距离为:

支持向量机算法学习笔记(二)_泛化_28

样本点到对应类别支持向量的距离为:

支持向量机算法学习笔记(二)_最小化_29

i) 若0<=支持向量机算法学习笔记(二)_支持向量机_03<1,那么该样本点被正确分类,样本点所在位置是分类超平面与所属类别的间隔边界之间,如下图红色的样本点:

支持向量机算法学习笔记(二)_最小化_31

ii) 支持向量机算法学习笔记(二)_支持向量机_03=1时,该样本点所在的位置是最优超平面,无法被正确分类,如下图红色的样本点:

支持向量机算法学习笔记(二)_误分类_33

iii) 支持向量机算法学习笔记(二)_支持向量机_03>1时,该样本点所在的位置是所属另一个类的边界,如下图红色的样本点:

支持向量机算法学习笔记(二)_泛化_35

备注:红色样本点与黑色样本点所属相同的类。

欢迎扫码关注:

支持向量机算法学习笔记(二)_支持向量机_36