支持向量机SVM算法原理笔记2

来源:互联网 发布:网络视频下载器有那些 编辑:程序博客网 时间:2024/06/05 07:38

上篇博客介绍了当样本集是线性可分情况下的SVM算法原理。接下来介绍不存在一个划分超平面可以正确分类的问题,比如说“异或问题”。
对于此类问题,可以将样本空间映射到更高维度空间,这样映射后的样本就线性可分了。如{(0,+1),(1,-1),(2,+1)}三个点在一位平面内是不可分的,但是映射到二维平面中{(0,0,+1),(1,1,-1),(2,0,+1)}三个点是线性可分的等等。
令φ(x)表示x映射后的特征向量,所以在特征空间中的划分超平面定义为:f(x)=w^T φ(x)+b。那么要求解的模型就变为:
这里写图片描述
公式中需要计算[φ(x_i)]^T φ(x_j),即样本映射到特征空间时的内积。因为其维数很高甚至无穷维,往往很难计算,所以引入核函数这里写图片描述进行表示。
所以我们的模型变为:
这里写图片描述
有了核函数之后,我们不需要再去定义样本空间到特征空间的映射φ(x),也不需要再去计算特征空间的内积,工作量少了很多。那么核函数有哪些要求呢??

定理:设k(#,#)是定义在输入空间*输入空间上的对称函数,则其是核函数的充分必要条件是:对所有样本(X1,X2,…,XN)而言,k的核矩阵总是半正定的。

所以对于这类问题而言,核函数的选择就成了问题的关键所在,因为核函数隐式的定义了特征空间。所以核函数的选择会导致样本映射到特征空间时的可分性。常用的核函数如下所示:
这里写图片描述
至此,我们已经介绍了线性可分支持向量机和非线性支持向量机两种,分别对应于训练样本在样本空间或者特征空间中线性可分。那么对于存在少量样本无法正确分开的情况应该如何应对呢,在此引入软间隔的概念,即允许支持向量机在某些样本上出错,使原本模型中的约束条件转化为:这里写图片描述
其中ε_i称为松弛变量,并且对每个松弛变量需要支付一个代价,是最终的模型变为如下所示,其中C>0称为惩罚参数,C较大时表明对误分类的样本点惩罚增大,反之亦然。所以最小化目标函数有两个含义,1,前半部分表示间隔尽量大;2,后半部分表示误分类的点数尽可能小。称为软间隔最大化
这里写图片描述
其对偶问题可以表示为:
这里写图片描述
且其需要满足KKT条件如下所示:
这里写图片描述
也就是说对于任意样本,总有α_i=0或者y_i*f(x_i)=1-ε_i,。
1,若α_i=0,则该样本不会对最后的划分超平面产生任何影响
2,若C>α_i>0,也即是y_i*f(x_i)=1-ε_i。该样本是支持向量。又因为C>α_i,所以u_i>0,ε_i=0。所以该样本恰好在最大间隔边界上。
3,若C=α_i,则u_i=0,若ε_i<=1,该样本落在最大间隔内部;若 ε_i>1,该样本被误分类。

0 0
原创粉丝点击