台湾国立大学机器学习技法.听课笔记(第四讲)
:Soft-Margin Support Vector Machine
一,Motivation and Primal Problems
我们从第一讲到第三讲,都是说Hard-Margin SVM,要求全部的点都要进行正确划分,太完美了;也许有些点是noise,但是还是Hard-MarginSVM。
我们现在就想能不能加一些容忍度,容忍一些错误点。于是我们就得出以下写法:
于是我们得出了新的SVM的式子:
但是这个式子并不是线性的,因为[ ]不是线性的,所以也不能用二次规划问题解决(QP)。[]也不能区别大的错误还是小的错误。
于是我们就提出了ξ ,这样就把非线性问题变成了线性问题。
我们就把它成为:Soft-Margin SVM,其中C是:
二.Soft-Margin SVM dual Problem
我们把它写成Lagrange Dual:
我们对ξ进行微分,然后化简,就能得到:
那么这个式子和Hard-Margin SVM很像:
我们就得出了标准的Soft-Margin SVM Dual。
所以,这个问题依然是凸问题,依然可以用二次规划解决(QP)。
三,Message behind Soft-MarginSVM
1,kernel Soft-Margin SVM
所以我们把第二小节与前面的几个Lecture结合,联系kernel SVM,就可以把kernel Soft-Margin SVM的一般步骤:
只是第三步:算b不同。
那我们b要怎么算呢??
2,soft-Margin SVM依然存在overfit
3,α_n的分类
由于两个不能共同存在的条件:
我们能将α_n分为3类:
1、 点在fat boundary外,且正确分类
那么在(1)式多项式不为0,即α_n为0,那么在(2)中,ξ_n就为0。
2、 点在fat boundary上,正确分类
那么在(1)式中,多项式为0,α_n就不为0,(2)中的(C-α_n)就不一定为0,那么ξ_n就为0。
3、 点在fat boundary内,或者是错误点
那么(2)中(C-α_n)就必须为0,那么C=α_n。ξ_n可以从(1)式中的多项式得到。
所以我们可以根据ξ_n和α_n的大小,来判断数据点在那个地方。
四,Model Selection
1,SVM的参数选取
我们进行SVM的kernel选择时,我们会发现:
那我们要如何解决这个问题呢?
我们举Gaussian Soft-Margin SVM例子来说明,我们把C当成横轴,ϒ当成纵轴,用Cross
Validation进行计算: