支持向量机(Support Vector Machine,SVM) 是与相关的学习算法有关的监督学习模型,可以分析数据,识别模式,用于分类和回归分析。给定一组训练样本,每个标记为属于两类,一个SVM训练算法建立了一个模型,分配新的实例为一类或其他类,使其成为非概率二元线性分类。一个SVM模型的例子,如在空间中的点、映射,使得所述不同的类别的例子是由一个明显的差距是尽可能宽划分的表示。新的实施例则映射到相同的空间中,并预测基于它们落在所述间隙侧上属于一个类别。
除了进行线性分类,支持向量机可以使用所谓的核技巧,它们的输入隐含映射成高维特征空间中有效地进行非线性分类。
根据给定的训练集
其中,
;
为输入空间,输入空间中的每一个点
由
个属性特征组成,
。
在
上寻找一个实值函数
,以便于使用分类函数
可以推断出任意一个模式
相对应的
值的问题为分类问题。
考虑训练集
,若
和正数
,使得对所有使
的
有
,而对所有的使
的
有
,则称训练集
线性可分,称相应的分类问题是线性可分的。
分别记两类样本集为
定义
的凸包
为
定义
的凸包
为
其中,
为+1类样本集
中样本点的个数;
为-1类样本集
中样本点的个数。
定理1.1 训练集T线性可分得充要条件是,T的两类样本集
、
的凸包相离。
证明 (1)必要性。如果训练集T是线性可分的,则存在超平面
和
使得
而正类点集凸包中的任意一点
和负类点集凸包中的任意一点
可分别表示为
其中,
且
于是,
所以,正负两类点集的凸包位于超平面
的两侧,故两个凸包相离。
(2)充分性。假设两类点集
、
的凸包相离。因为两个凸包都是闭凸集,且有界,根据凸集强分离定理,可知存在一个超平面
抢分这两个凸包,即存在正数
使得两类点集
、
的任意点
分别有
,
。
所以,对于任意的
,存在
,对于任意的
,存在
,由训练集线性可分的定义可知T是线性可分的。
定义1.1 空间
中超平面可以表示成
的形式,参数
乘以任意一个非零常数后得到的是同一个超平面,定义满足条件
的超平面为训练集T的规范超平面。
定理1.2 当训练集T为线性可分时,存在唯一的规范超平面
,使得
证明 规范超平面的存在性是显然的,下证其唯一性。
假设其规范超平面有两个:
和
。由于规范超平面满足条件
所以第二个条件为
,
或者
其中第一个条件说明
不能成立,所以唯一性得证。
定义1.2 式满足条件
成立的
称为普通支持向量。
支持向量具有稀疏性,对于
类的样本点,其与规范超平面的间隔为
对于
类的样本点,其与规范超平面的间隔为
则普通支持向量间的间隔为
。
当训练集T的两类样本线性可分时,除了普通支持向量分布在两个分类边界
上外,其余的所有样本点都分布在分类边界以外。此时够早的超平面是硬间隔超平面。当训练集T的两类样本线性可分时,即允许存在不满足约束条件
的样本点后,仍然能继续使用超平面进行划分。只要这是要对间隔进行“软化”,构造软间隔超平面。简言之就是在两个分类边界
之间允许出现样本点,这类样本点被称为边界支持向量。显然,两类样本点集的凸包是相交的,只是相交的部分较小。
软化的方法是通过引入松弛向量
得到“软化”的约束条件是
当
充分大时,样本点总是满足上述的约束条件,但是也要避免
取太大的值,为此要在目标函数中对它进行惩罚,得到如下所示的二次规划问题:
其中,
为一个惩罚函数,其Lagrange函数为
其中,
原问题的对偶问题如下:
求解上述最优化问题,得到最优解
计算
选择
的一个正分量
进行计算,
。
所以构造分类超平面
,并以此求得分类函数为
进而对未知样本进行分类,可知当
,即等价于线性可分的情况。
当训练集T的两类样本点集重合的区域很大时,上述用来处理线性可分问题的线性支持向量机就不适用了,可分支持向量分类及给出了解决这种问题的一种有效途径,通过引进从输入空间
到另一个高维的Hilbert空间H的变换
将原输入空间
的训练集
转换为Hilbert空间H中新的训练集为
使得在Hilbert空间H中线性可分,Hilbert空间H也称为特征空间。然后在空间H中求得超平面
,这个超平面可以硬性划分训练集
,于是原问题转化为如下所示的二次规划问题:
采用核函数K满足
将避免在高维特征空间进行复杂的运算,不同的核函数形成不同的算法。核函数的主要分类如下所示:
线性内核函数
;
多项式核函数
;
径向基核函数
;
S形内核函数
;
傅里叶核函数
同理,得到其Lagrange函数
若K时正定核,则对偶问题是一个凸二次规划问题,必定有解。可得最优解为
,选择
的一个正分量
进行计算,
。
所以构造分类函数
故而对未知样本进行分类。
当映射到高维H空间的训练集不能被硬性划分时,需要对约束条件进行软化。结合1.1.2 和1.1.3 中所述,得到模型如下:
得到最优解
,选择
的一个正分量
进行计算,
。
构造决策函数
构造分类函数
进而对未知样本进行分类。
当输入空间中的两类样本点的分布区域严重重合时,选择合适的核函数及其参数,可以使映射到特征空间的每一类样本点的分布区域更为集中,降低这两类样本点分布区域的混合程度,可以加强特征空间的两个类样本集“线性可分”程度,提高分类的精度和泛化性能的目的。但是就核函数及其参数的选取问题,目前尚无理论依据,对于同样的数据采取不同的核函数得到的精度差别也很大,所以在实际解决问题的过程中,对于同样的问题往往要进行多次仿真训练才能找到最佳参数。
以下论证支持向量和Lagrange 乘子之间的关系。
定理1.3 对偶问题式的最优解为
,使得每个样本点
满足优化问题的KKT条件为
其中,
,对应样本点
就是普通支持向量(NSV),位于分类间隔的边界
上,存在
所对应的样本点
就是边界支持向量(BSV),代表了所有的错分样本点,位于分类间隔内部,存在
。
就是支持向量集。
生物学家试图对两种蠓虫进行鉴别,依据的资料是触角和翅膀的长度,已经测得了9支Af和6支Apf的数据如下:
Af:(1.24,1.27),(1.36,1.74),(1.38,1.64),(1.38,1.82),(1.38,1.90),(1.40,1.70),(1.48,1.82),(1.54,1.82),(1.56,2.08)
Apf:(1.14,1.82),(1.18,1.96),(1.20,1.86),(1.26,2.00),(1.28,2.00),(1.30,1.96)
现在的问题是:
对于观测样本进行线性分析,找到最有分类面
,其中
,
则约束条件为
其中,
其中,满足方程
的样本为支持向量。
两类总体到分类面的距离最大时,满足条件为
则建立SVM数学模型。
SVM模型:
可求得最优值对应的
可得分类函数、
对于分类函数式,若
,则样本归于Af类,若
,则样本归于Apf类。
SVN数学模型表示二次规划模型,将其转化为对偶问题来进行研究。
引入拉格朗日函数:
其中,
。
由KKT互补条件,对
和
求偏导,得
可得
代入原始拉格朗日函数式,可知
则可将SVM 模型转化为拉格朗日函数模型,则对应约束条件为
解之可得最优解
,从而得权重向量
。
根据KKT互补条件可知
再次选择
得一个正分量
进行计算
可得最终的分类函数表达式为
其中,
式核函数的线性形式。非线性核函数可以将原样本空间线性不可分的向量转化到高维特征空间中的可分的向量。
则将拉格朗日函数转换为一般的核函数
,即可得一般模型。
核函数模型:
由式可得分类函数的表达式为
对于未知样本进行分类。使用SVM模型或者拉格朗日函数函数模型即可进行分析。
计算的MATLAB代码如下所示:
clc,clear
x0=[1.24,1.27;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70
1.48,1.82;1.54,1.82;1.56,2.08;1.14,1.82;1.18,1.96;1.20,1.86
1.26,2.00;1.28,2.00;1.30,1.96];
x=[1.24,1.80;1.28,1.84;1.40,2.04];
group = [ones(9,1);-ones(6,1)];
s = svmtrain(x0,group);
check=svmclassify(s,x0);
solution=svmclassify(s,x);
图1.1 运行所得结果
对于未知样本进行分类。使用SVM模型或者拉格朗日函数函数模型即可进行分析。3个代判定的样本点全部判为Apf类,且经过验证可知样本点的误判率为0。
讨论参数
变化产生的影响,导出对偶表示形式。
问题
与问题
相等价,仅考虑参数
变化产生的影响。
当参数
时,即目标函数的惩罚因子较小,则
可取较大的值。参数
时,则
可取正值,则问题等价于
引入Lagrange函数来表示对偶形式,
式中,
,对L关于
求极小,即
则
已知上述极值条件,将其带入Lagrange函数,在对
求极大,即可得对偶问题