引言
在上一小节中,我们介绍了核支持向量机。于是,不管是简单的问题还是复杂的问题,我们都可以做得到。
然而,像高斯核的方法太复杂了,可能造成过拟合的问题。导致过拟合的现象的原因有可能是你选择特征转换太强大了,导致无法用最大间隔的方法控制模型的复杂度,还有一个原因是,如果坚持将所有的数据都做到正确分类,这样有可能将噪声也考虑到模型的构建之中,这样就会将噪声拟合进你的结果中去了。
软间隔支持向量机
第一步:容忍错误的发生
这是硬间隔支持向量机(hard-margin SVM)的基本定义,其中要求所有的数据都要分类正确,并且还要选择w最小的情况:
为了缓解这样的问题,不如我们容忍一些错误的发生,将发生错误的情况加入到目标式子之中,希望能得到一个错分类情况越少越好的结果。其中参数C代表了间隔和犯错情况的相对重要性(即C是对最大间隔[large margin]和噪声容忍度[noise tolerance]的权衡和折中),C比较大的时候代表犯错越少越好,C比较小的时候代表找到的w越短越好,也就是在对的数据上的间隔越宽越好。
这个式子有一个缺点,因为存在判断是非问题(booling problem)的运算,所以这不是一个线性的式子,于是就不能用二次规划的方法来解决。并且这种方法也没法衡量错误的大小。
为了解决这些问题,我们需要提出一个新的式子,这个式子能够区分小错和大错,而且它可以继续使用二次规划的方法来求解。
第二步:对于错误的衡量
下面的式子中的ξn是用来衡量数据犯了多大的错误,而不是数据犯了几个错误。并且这样的改变,将ξ作为一个变量加入到式子中去,得到ξ的一次式,这样可以用二次规划的方法来求解。