支持向量机(SVM)——处理非线性

在上一节中,我们给出了在线性可分情况下的优化问题:

最小化:\frac{1}{2}||w||^{2}

限制条件:yi[w^{T}xi+b]\geq1(i=1~N)

在扩展到非线性可分的情况时,我们只需做一点小改动就可以。

最小化:\frac{1}{2}||w||^{2}+C\sum^{N} _{i=1}\xi_{i}

限制条件:yi[w^{T}xi+b]\geq1-\xi_{i}     \xi_{i}\geq0    (i=1~N)

上式中的C是事先设定好的参数,\xi_{i} 为松弛变量。C\sum^{N} _{i=1}\xi_{i}这一项称为正则项。

\xi_{i}足够大,yi[w^{T}xi+b]\geq1-\xi_{i} 必定成立,并满足非线性可分。但是,又不能让\xi_{i}太大,以至于整个优化问题过于分散。所以在第一个式子中要加入正则项(惩罚项),C是一个超参数,需要认为设定,它控制了正则项的权重。

如果想要使SVM在非线性可分的情况下能得到更好的结果,加入松弛变量是不够的。

支持向量机(SVM)——处理非线性_第1张图片

如图示的情况下,一个曲线会是更好的选择。但是SVM的求解过程是找到一条直线进行类的划分,为此SVM的作者想出了一个富有创造性的方法:将低维映射为高维,即x\rightarrow\varphi(x)。

维度越高,线性可分的几率就越大(可以理解为变相增加提取到的特征的数量,特征越多,两个分类就越有可能被分开)。

限制条件发生相应变化:yi[w^{T}\varphi(xi)+b]\geq1-\xi_{i}     \xi_{i}\geq0    (i=1~N)

那么,如果\varphi(x)是无限维的,效果岂不是相当好。

可是,在 yi[w^{T}\varphi(xi)+b]\geq1-\xi_{i}  这个式子中,我们所要求的\omega\varphi(xi)是相同维度的,那么\omega将会变成不可解。

提出如下观点:

我们可以不知道无限维映射{\color{Red}\varphi }(xi)的显示表达式,我们只要知道一个核函数K(x1,x2)={\color{Red}\varphi \left ( x \right )^{T} }{\color{Red}\varphi \left ( x \right ) },使 yi[{\color{Red} \omega ^{T}}{\color{Red} \varphi}(xi)+b]{\color{Red} \geq}1-{\color{Red} \xi_{i}} 仍可解。

下一节,我们将讨论原问题与对偶问题的转化,以及如何利用核函数来解决无限维的\varphi(x)的问题。

你可能感兴趣的:(SVM,机器学习,人工智能,支持向量机)