核函数
在svm里,核函数是这样定义的。核函数是一个n*n(样本个数)的矩阵,其中:
$K_{ij}=exp(-frac{||x^{(i)}-x^{(j)}||^{2}}{2sigma ^{2}})$
也就是说,当两个向量越接近时,它们的核函数越接近于1;越远时,核函数越接近于0。在svm里,使用$K_{ij}$而不使用$(x^{(i)})^{T}x^{(j)}$,应该是就像神经网络或者逻辑回归里的激活函数吧。反正,以后出现两个样本内积的地方,都换成相应的核函数。那么从3最后求解的式子就变成了:
$underset{alpha}{min}W(alpha)=frac{1}{2} sum_{i,j=1}^{n}y^{(i)}y^{(j)}alpha_{i}alpha_{j}k_{ij}-sum_{i=1}^{n}alpha_{i}$,使得满足(1)$alpha_{i}geq 0,1 leq i leq n$,(2)$sum_{i=1}^{n}alpha_{i}y^{(i)}=0$
离群点处理
在实际问题中,可能样本点并不是能够完全分成两类(比如有可能有几个正样本在负样本中间,或者相反),那这样岂不是有可能找不到超平面了?为了处理这个问题,我们将求解问题转换一下:$min_{w,b,xi}$ $frac{1}{2}||w||^{2}+Csum_{i=1}^{n}xi _{i}$,使得$y^{(i)}(w^{T}x^{(i)}+b)geq 1-xi _{i} ,1 leq i leq n$
那么对应的拉格朗日函数为:$L(w,b,xi,alpha,r)=frac{1}{2}||w||^{2}+Csum_{i=1}^{n}xi _{i}-sum_{i=1}^{n}alpha_{i}[y^{(i)}(w^{T}x^{(i)}+b)-1+xi_{i}]-sum_{i=1}^{n}r_{i}xi_{i}$
同样的,其对$w,b,xi$的导数为0,然后化简,最后得到的问题为:
$underset{alpha}{min}W(alpha)=frac{1}{2} sum_{i,j=1}^{n}y^{(i)}y^{(j)}alpha_{i}alpha_{j}k_{ij}-sum_{i=1}^{n}alpha_{i}$,使得满足(1)$0 leq alpha_{i}leq C,1 leq i leq n$,(2)$sum_{i=1}^{n}alpha_{i}y^{(i)}=0$
同时有:
(1)$alpha_{i}=0Rightarrow y^{(i)}(w^{T}x^{(i)}+b)geq 1$,正常样本
(2)$alpha_{i}=CRightarrow y^{(i)}(w^{T}x^{(i)}+b)leq 1$,异常样本,在支持向量之间
(3)$0< alpha_{i}< CRightarrow y^{(i)}(w^{T}x^{(i)}+b)= 1$,支持向量