上节的支持向量机分类:
若存在异常点,用上节的支持向量机算法进行分类:
由上述分类结果可知,若存在异常点,用上节的支持向量机进行分类,泛化性能较差。
解决方法是给目标函数添加一个松弛变量
目标函数:
约束条件:
其中惩罚参数C>0,C越大表示对误分类的惩罚越大。
最小化目标函数可以参考第一节,用拉格朗日函数将有约束的目标函数转换为无约束的目标函数,即:
其中
要优化的目标函数:
可转换为对偶问题:
令其偏导数等于0:
得:
利用上式得到的结果,代入目标函数,消除参数w和b,得:
最大化
利用SMO算法求解
后面的计算与支持向量机(一)一致,若得到
求得模型的参数w。
1)当 0<α<C时,所对应的样本
因此:
求所有满足α条件的样本参数b的平均值,若 0<α<C的样本共有M个,那么参数b的平均值为:
根据参数w和b,即可得最优分类超平面:
2)若α=0时,那么对应得样本已正确分类。
3)若α=C时,那么对应的样本有可能存在误分类得情况,这个需要看每个样本的松弛变量
我们再来看目标函数的约束条件,根据KKT条件有:
上面的等式等价于样本点到超平面的距离为:
样本点到对应类别支持向量的距离为:
i) 若0<=
ii)
iii)
备注:红色样本点与黑色样本点所属相同的类。
联系客服