收藏 分享(赏)

31、支持向量机(数学建模).pdf

上传人:HR专家 文档编号:6298932 上传时间:2019-04-05 格式:PDF 页数:18 大小:328.25KB
下载 相关 举报
31、支持向量机(数学建模).pdf_第1页
第1页 / 共18页
31、支持向量机(数学建模).pdf_第2页
第2页 / 共18页
31、支持向量机(数学建模).pdf_第3页
第3页 / 共18页
31、支持向量机(数学建模).pdf_第4页
第4页 / 共18页
31、支持向量机(数学建模).pdf_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、 -761-第三十一章 支持向量机 支持向量机是数据挖掘中的一项新技术,是借助于最优化方法来解决机器学习问题的新工具,最初由 V.Vapnik 等人提出,近几年来在其理论研究和算法实现等方面都取得了很大的进展,开始成为克服“维数灾难”和过学习等困难的强有力的手段,它的理论基础和实现途径的基本框架都已形成。 1 支持向量分类机的基本原理 根据给定的训练集 lllYX,yx,yx,yxT )()(,),(),(2211= L , 其中niRXx = , X 称为输入空间,输入空间中的每一个点ix 由 n 个属性特征组成, liYyi,1,1,1 L= 。寻找nR 上的一个实值函数 )(xg ,以便

2、用分类函数 ),(sgn()( xgxf = 推断任意一个模式 x 相对应的 y 值的问题为分类问题。 1.1 线性可分支持向量分类机 考虑训练集 T ,若nR , Rb 和正数 ,使得对所有使 1=iy 的下标 i 有 + bxi)( (这里 )(ix 表示向量 和ix 的内积) , 而对所有使 1=iy 的下标 i有 + bxi)( ,则称训练集 T 线性可分,称相应的分类问题是线性可分的。 记两类样本集分别为 ,1| TxyxMiii=+, ,1| TxyxMiii=。定义+M 的凸包 )(conv+M 为 ,;,1,0,1|)(conv11=+=+NjNjjjjjjMxNjxxM L

3、M 的凸包 )(convM 为 .;,1,0,1|)(conv11=NjNjjjjjjMxNjxxM L 其中+N 表示 1+ 类样本集中样本点的个数,N 表示 1 类样本集中样本点的个数,定理 1 给出了训练集 T 线性可分与两类样本集凸包之间的关系。 定理 1 训练集 T 线性可分的充要条件是, T 的两类样本集+M 和M 的凸包相离。如下图所示 图 1 训练集 T 线性可分时两类样本点集的凸包 证明:必要性 -762- 若 T 是线性可分的, ,1| TxyxMiii=+, ,1| TxyxMiii=,由线性可分的定义可知,存在超平面 0)(: =+= bxRxHn 和 0 ,使得 +

4、bxi)( ,+ Mxi且 + bxi)( , . Mxi而正类点集的凸包中的任意一点 x 和负类点集的凸包中的任意一点 x 可分别表示为 +=Niiixx1 和=Njjjxx1 其中 0,0 ji 且+=Nii11 ,=Njj11 。 于是可以得到 0)()(111=+=+=+=NiiNiiiNiiibxbxbx 0)()(111 ,使得对+M ,M 的凸包中的任意点 x 和 x 分别有 + bx)( + bx )( 显然特别的,对于任意的+Mxi,有 + bxi)( ,对于任意的Mxi,有 + bxi)( ,由训练集线性可分的定义可知 T 是线性可分的。 由于空间nR 中超平面都可以写为

5、0)( =+ bx 的形式, 参数 ),( b 乘以任意一个非零常数后得到的是同一个超平面,定义满足条件 =+=+=1)(min,1,0)(,1bxlibxyiliiiLL的超平面为规范超平面。 定理 2 当训练集样本为线性可分时,存在唯一的规范超平面 0)( =+ bx ,使得 =+=+1.1)(1;1)(iiiiybxybx( 1) 证明:规范超平面的存在性是显然的,下证其唯一性。 假设其规范超平面有两个: 0)( =+ bx 和 0)“( =+ bx 。由于规范超平面满足条件 -763-=+=+=.1)(min,1,0)(,1bxlibxyiliiiLL由第二个条件可知 “ = , bb

6、 = , 或者 “ = , bb = . 第一个条件说明 “ = , bb = 不可能成立,故唯一性得证。 式( 1)中满足 1)( =+ bxi 成立的ix 称为普通支持向量,对于线性可分的情况来说,只有它们在建立分类超平面的时候起到了作用,普通支持向量通常只占样本集很小的一部分,故而也说明 SVM 具有稀疏性。对于 1=iy 类的样本点,其与规范超平面的间隔为 1)(min1=+=bxiyi, 对于 1=iy 类的样本点,其与规范超平面的间隔为 1)(min1=+=bxiyi, 则普通支持向量间的间隔为2。最优超平面即意味着最大化2。如图 2 所示 图 2 线性可分支持向量分类机 1)(

7、=+ bx 称为分类边界,于是寻找最优超平面的问题可以转化为如下的二次规划问题 libxyii,11)(.t.s21min2L=+( 2) 该问题的特点是目标函数221 是 的凸函数,并且约束条件都是线性的。 引入 Lagrange 函数 -764- =+=liiiibxybL12)(1(21),( 其中+=llRT1),( L 为 Lagrange 乘子。根据 wolfe 对偶的定义,通过对原问题中各变量的偏导置零可得 =liiiixyL10 001=iliiybL 带入 Lagrange 函数化为原问题的 Lagrange 对偶问题 ,l,iyxxyyiliiiliililjjijijiL

8、1,00.t.s)(21max1111=+=( 3) 求解上述最优化问题,得到最优解T*1*),(l L= ,计算 =liii*ixy1* 由 KKT 互补条件知 0)(1(*=+ bxyiii 可得,只有当ix 为支持向量的时候,对应的*i 才为正,否则皆为零。选择* 的一个正分量*j ,并以此计算 ,)(1=liji*iij*xxyyb 于是构造分类超平面 0)(*=+ bx ,并由此求得决策函数 ,)()(*1bxxyxgliii*i+= 得到分类函数 )(sgn)(*1bxxyxfliii*i+= ( 4) 从而对未知样本进行分类。 1.2 线性支持向量分类机 当训练集 T 的两类样本

9、线性可分时,除了普通支持向量分布在两个分类边界1)( =+ bxi 上外,其余的所有样本点都分布在分类边界以外。此时构造的超平面是硬间隔超平面。当训练集 T 的两类样本近似线性可分时,即允许存在不满足约束条件 1)( + bxyii -765-的样本点后,仍然能继续使用超平面进行划分。只是这时要对间隔进行“软化” ,构造软间隔超平面。简言之就是在两个分类边界 1)( =+ bxi 之间允许出现样本点,这类样本点被称为边界支持向量。显然两类样本点集的凸包是相交的,只是相交的部分较小。线性支持向量分类机如图 3 所示。 图 3 线性支持向量分类机 软化的方法是通过引入松弛变量 lii,1,0 L=

10、 来得到“软化”的约束条件 ,11)( libxyiiiL=+ 当i 充分大时,样本点总是满足上述的约束条件,但是也要设法避免i 取太大的值,为此要在目标函数中对它进行惩罚,得到如下的二次规划问题 .,1,0,1)(s.t.,21min12libxyCiiiiliiL=+=( 5) 其中 0C 是一个惩罚参数。其 Lagrange 函数如下 ,)1)(21),(1112=+=liiiliiiiiliibxyCbL , 其中 0i , 0i 。原问题的对偶问题如下 ,l,iCyxxyyiliiiliililjjijijiL1,00.t.s)(21max1111=+=( 6) 求解上述最优化问题,

11、得到最优解T*1*),(l L= ,计算 ,1*=liii*ixy 选择* 的一个正分量 C*j=iiixgy 1)(0*= ,线性超平面 bxxfy += )()( 沿 y 方向依次上下平移 所扫过的区域构成硬 带超平面,并且超平面满足 liybxii,1,)( L=+ 当 足够大时,硬 带超平面总是存在的,而最小能使硬 带超平面存在的 为min ,是下列优化问题的最优值 liybxiib,1,)(s.t.min,L=+ ( 8) 可见,只要选定的min ,硬 带超平面就有无限多个,从给定的训练集 T 出发,可以构造正负两类点, ,1,),(,1,),(liyxDliyxDiiiiLL=+=

12、+( 9) 则回归问题转化为线性二分类问题。 由定理 4 可知硬 带超平面与线性划分之间的关系。 -769-图 4 三种情况下+D 和D 的凸包分布 定理 4 设上述给定的训练集 T 和 0 ,考虑由( 9)定义的集合+D 和D 。则一个超平面 bxxfy += )()( 是硬 带超平面的充要条件是+D 和D 的凸包分别位于该超平面的两侧。 证明:必要性 对给定的 0 ,若 bxxfy += )()( 是硬 带超平面,据其定义可知 liybxii,1,)( L=+ 上式可以简单表示为 0)(0)(+beAeybeAey( 10) 其中= ),(1 lyyy L ,= )1,1( Le ,= )

13、,(1 lxxA L ,+D 的凸包中的任意一点都可以表示为 =+=liiiiyxyxuttt1),(),( 其中= ),(1 luuu L ,且满足=liiu11, 0iu , li ,1L= ,由( 10)的第一式可知 .0)()()( +=buAueybttxy ( 11) 类似的,D 的凸包的任意一点都可以表示为 =liiiiyxyxvsss1),(),( 其中= ),(1 lvvv L ,且满足=liiv11, 0iv , li ,1L= ,由( 10)的第二式可知 0)()()( =buAueybssxy ( 12) 由( 11)和( 12)可知+D 和D 的凸包分别位于该超平面的

14、两侧。 充分性: 任取满足 1=ue , 0u 的凸组合系数向量 u ,则可以得到+D 中的一点+ )(,)( ueyuA ,与此对应,选择满足 1=ve , vAuA= -770- 的凸组合系数向量 v,则可以得到D 中的一点 = )(,)()(,)( veyuAveyvA 将该点与上述+D 中的点比较,他们的前 n个分量相同,同时超平面 bxxfy += )()( 分离两个集合+D 和D 的凸包,则可知他们的第 1+n 个分量满足 0)()( +veyuey 由此可见,关于变量 vu, 的不等式组 ,而min 就为最优解。定理 5给出了两者之间的联系。 定理 5 若min ,且min 是优

15、化问题( 8)的最优值,则( 13)的解存在,并且对于 的解唯一,即若 ),(*1*1b , ),(*2*2b 都是解,则*2*1 = 。 证明:若min ,则问题( 13)的可行域非空,又因为该问题是凸的,所以一定有解,解的存在性即证。 下证解的唯一性。设 ),(*1*1b , ),(*2*2b 是问题( 13)的两个最优解,显然 r=*2*1 -771-其中 r 是一个常数,则有*2*1 = , 1= 。令2*2*1+= ,2*1*1bbb+= ,则 ),( b是问题( 13)的可行解,从而有 rr =+*2*12121 上式说明 r= ,当 1= 时, 0= ,即 0= r ,则有 0=

16、*2*1 ;若 1= ,则有*2*1 = ,故解的唯一性得证。 引入 Lagrange 函数 =+=liiiliiiibxybxybLi1*12)()()(21),( , 其中 0),(*11)(=ll L 为 Lagrange 乘子,根据 Wolfe 对偶的定义,分别对 , b 求偏导置零得到 =liiiliiiibLxL1*1*0)(0)(带入 Lagrange 函数,得到( 13)的对偶问题如下 0),(0)(s.t.)()()()(21min*11(*)1*1*1*11*2(*)=+=llliiiliiiiliiililjjijjiiRyxxlL( 14) 对于给定的训练样本集 T ,

17、 首先选择适当的精度 0 , 构造并求解优化问题 ( 14) ,得到最优解= ),(*11)(ll L ,其中只有支持向量对应的i 或*i 非零,计算 =liiiix1*)( 选择(*) 的正分量 0j ,计算 += )(jjxyb 或选择(*) 的正分量 0*j ,计算 = )(jjxyb 构造决策函数 bxxbxyliiii+=+=1*)()( ,即可对未知样本进行预测。2.2 支持向量回归机 当构造的两类样本+D ,D 线性不可分时,通过对硬间隔的软化和引入罚参数,同样可以考虑在高维空间构造超曲面来达到回归的目的。 对于给定的训练样本集 T ,选择合适的精度参数 0 ,罚参数 0C 以及

18、合适的-772- 核函数 ),( xxK 。 构造并求解优化问题 lilCyxxKiiliiiliiiiliiiljijijjiiRl,1,00)(s.t.)()(),()(21min*1*1*1*1,*2(*)L=+=( 15) 得到最优解= ),(*11)(ll L ,选择(*) 的正分量 0j ,计算 =+=lijiiijxxKyb1*)()( , 或选择(*) 的正分量 0*j ,计算 =lijiiijxxKyb1*)()( , 构造决策函数 bxxKyliiii+=1*),()( ,即可对未知样本进行预测。 如下定理给出了样本点与 Lagrange 乘子之间的关系。 定理 6 若样本

19、 ),(iiyx 在 带内部,则 0*=ii 。 若样本 ),(iiyx 在 带的边界上, 则 ,0*lCi , 0=i ; 或 0*=i , ,0lCi 。 若样本 ),(iiyx 在 带的外部,则lCi=* , 0=i ;或 0*=i ,lCi= 。 可见,在 带内部的样本点都不是支持向量,它们对决策函数没有贡献,并且它们在样本集中的比例较大。 3 乳腺癌的诊断 3.1 问题的提出 乳腺肿瘤通过穿刺采样进行分析可以确定其为良性的或为恶性的。医学研究发现乳腺肿瘤病灶组织的细胞核显微图像的 10 个量化特征:细胞核直径、质地、周长、面积、光滑度、紧密度、凹陷度、凹陷点数、对称度、断裂度与该肿瘤

20、的性质有密切的关系。现试图根据已获得的实验数据建立起一种诊断乳腺肿瘤是良性还是恶性的方法。数据来自已确诊的 500 个病例,每个病例的一组数据包括采样组织中各细胞核的这 10 个特征量的平均值、标准差和最坏值共 30 个数据,并将这种方法用于另外 69 名已做穿刺采样分析的患者。 这个问题实际上属于模式识别问题。什么是模式呢?广义地说,在自然界中可以观察的事物,如果我们能够区别它们是否相同或是否相似,都可以称之为模式。人们为了掌握客观事物,按事物相似的程度组成类别。模式识别的作用和目的就在于面对某一具体事物时将其正确地归入某一类别。 模式识别的方法很多,如数理统计方法、聚类分析方法等。 3.2

21、 支持向量机的分类模型 -773-支持向量机(Sport Vector Mach ine ,以下简称 SVM)是一种基于统计学习理论的模式识别方法。在模式识别等领域获得了广泛的应用。其主要思想是这样:找到一个超平面,使得它能够尽可能多的将两类数据点正确地分开,同时使分开的两类数据点距离分类面最远,如图 5(b) 。 图 5 最佳超平面示意图 记 n(这里 500=n ) 个已知观测样本为 ),(,),(),(2211 nngtgtgt L 。 其中30Rti ,1=ig 为良性肿瘤, 1=ig 为恶性肿瘤。 (1)样本线性或非线性可分 我们要找一个最优分类面 0=+bxwT,其中30, Rxw

22、 , Rb , bw, 待定,满足如下条件: =+=+时时1,11,1iiiiTgbwtgbtw即有 1)( bwtgii,其中,满足方程 1=+btwiT的样本称为支持向量。 要使两类总体到分类面的距离最大,则有 221min2max ww 于是建立 SVM 的数学模型如下: 模型 1 221min w s.t. 1)( +btwgiTi, ni ,2,1 L= 求得最优值对应的*,bw ,可得分类函数: )sgn()(*bxwxgT+= 模型 1 是一个二次规划模型。下面把模型 1 化为其对偶问题。 定义广义拉格朗日函数 =+=niiTiibtwgwwL12)(121),( 其中Tn),(

23、1 L= , 0i 。 由 Karush-Kuhn- Tucker 互补条件,通过对 w和 b 求偏导可得 01=niiiitgwwL -774- 01=niiigbL 得=niiiitgw1 , 01=niiig ,代入原始拉格朗日函数得 =ninjjijijiniittggL111)(21 其中 )(jixx 表示向量的内积 于是模型 1 可以化为 模型 2 =ninjjijijiniittgg111)(21max =niginiii,2,1,00.s.t1L解此二次规划得到最优解* ,从而得权重向量=niiiitgw1* 。 由 KKT 互补条件知 0)(1*=+ btwgiii 这意味

24、着仅仅是支持向量(距离分类超平面为 1)的输入点it ,使得*i 为正,所有其它样本对应的*i 均为零。选择* 的一个正分量*j ,并以此计算 )(*1*jiiniijttggb = 最终的分类函数表达式如下: )sgn()(*bxwxgT+= 实际上,模型 2 中的 )(jitt 是核函数的线性形式。核函数可以将原样本空间线性不可分的向量转化到高维特征空间中线性可分的向量。以下是核函数的一些常用形式: 线性内核 yxyxK =),( 径向基函数内核 qyxyxK 1)(),( += 多项式内核 |exp),(22yxyxK= S 形内核 )(tanh(),( cyxvyxK += 将模型 2

25、 换成一般的核函数 ),( yxK ,可得一般的模型: 模型 3 =ninjjijijiniittKgg111),(21max -775-=niginiii,2,1,00s.t.1L分类函数表达式: ),(sgn()(*1*bxtKgxgniiii+= (2)样本不可分时的软间隔处理。 引入松弛变量 ,其作用在于允许较少数量的样本被错误划分。这种处理方法称为软间隔。控制这个错误程度的参数为 c,于是模型 1 修改为 模型 4 =+niicw1221min s.t. =+nibtwgiiiTi,1,2,01)(L求得最优值对应的*,bw ,可得分类函数: )sgn()(*bxwxgT+= 对应地

26、,模型 3 改造得到 模型 5 =ninjjijijiniittKgg111),(21max s.t. =nicginiii,2,1,001L注意到其只是在模型 3 的基础上约束 ci0 。分类函数表达式: ),(sgn()(*1*bxxKgxgniiii+= 应用支持向量机时,可以按照线性可分、线性不可分、非线性可分、非线性不可分的顺序求解。 3.3 分类模型的求解 对于给定的 500 个训练样本,利用 Matlab 的优化工具箱,求解模型 1,得到最优解*,bw 。说明两类样本点是线性可分的,且对已知样本点,支持向量机的分类方法错判率为 0。 把 69 个测试样本 69,2,1,L=jtj

27、,代入分类函数 )sgn()(*bxwxgT+= ,按如下规则分类: 1)( =jtg ,第 j 个样本点为良性肿瘤 1)( =jtg ,第 j 个样本点为恶性肿瘤 求解结果见表 1。 -776- 表 1 分类结果 良 性 恶 性 1 3 5 6 7 8 9 11 1214 16 19 20 21 23 24 25 2627 28 30 31 32 33 35 38 3940 41 43 44 45 46 47 48 4950 51 52 53 54 55 56 57 5859 60 61 62 69 2 4 10 13 15 17 18 22 29 34 36 37 42 63 64 65

28、66 67 68 注:这里的数字代表病例序号。 计算的 Matlab 程序如下: %原始数据中的 B 替换成 1, M 替换成 -1, X 替换成 2,删除了分割符 * clc,clear load cancerdata.txt; can=cancerdata; can(:,1)=; %删除第一列病例号 gdb=find(can(:,1)=1); %读出良性肿瘤的序号 n1=length(gdb); %计算良性肿瘤样本点的个数 bdb=find(can(:,1)=-1); %读出恶性肿瘤的序号 n2=length(bdb); %计算恶性肿瘤样本点的个数 gd=can(gdb,2:end); %

29、提出良性肿瘤的数据 bd=can(bdb,2:end); %提出恶性肿瘤的数据 xd=can(501:569,2:end); %提出待分类数据 H=eye(31);H(31,31)=0; %w,b 总共 31 个待定参数, b 对应最后一个参数 ga=gd,ones(n1,1); %良性样本点对应的系数矩阵 ba=bd,ones(n2,1); %恶性样本点对应的系数矩阵 a=-ga;ba; %线性不等号约束的系数矩阵 b=-ones(500,1); %线性不等号约束的右端项 wb,fval,flag=quadprog(H,a,b) %调用二次规划命令 xdf=xd,ones(69,1); g=

30、xdf*wb; %计算 *x+b 的值 g1=find(g0) %良性样本序号 g2=find(g10*eps) %计算 w*x+b=0 中的 b save dwb w b function y=qfun(a,X,gb); %定义非线性规划的目标函数 global N y=-ones(1,N)*a+0.5*a*diag(gb)*X*X*diag(gb)*a; 模型 3 的 Matlab 计算程序如下: %原始数据中的 B 替换成 1, M 替换成 -1, X 替换成 2,删除了分割符 * clc,clear load cancerdata.txt; can=cancerdata; can(:,

31、1)=; %删除第一列病例号 gdb=find(can(:,1)=1); %读出良性肿瘤的序号 n1=length(gdb); %计算良性肿瘤样本点的个数 bdb=find(can(:,1)=-1); %读出恶性肿瘤的序号 n2=length(bdb); %计算恶性肿瘤样本点的个数 gd=can(gdb,2:end); %提出良性肿瘤的数据 bd=can(bdb,2:end); %提出恶性肿瘤的数据 xd=can(501:569,2:end); %提出待分类数据 hd=gd;bd; %重新排序后的训练样本 N=size(hd,1); basefun=(x,y) (x*y+1).2; %定义多项

32、式核函数的匿名函数 gb=ones(n1,1);-ones(n2,1); %g_i 的取值向量 H=gb*gb.*basefun(hd,hd); %定义二次规划目标函数的二次项系数矩阵 f=-ones(N,1); %定义二次规划目标函数的一次项系数列向量 aeq=gb; %定义二次规划的线性等号约束矩阵 alpha,fval,flag=quadprog(H,f,aeq,0,zeros(N,1),ones(N,1) 模型 2 和模型 3 的 Matlab 程序计算时间很长,必须寻找一些更好的算法。 习题三十一 1蠓虫分类问题:生物学家试图对两种蠓虫( Af 与 Apf)进行鉴别,依据的资料是触角

33、和翅膀的长度,已经测得了 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) -778- 现在的问题是: ( i)根据如上资料,如何制定一种方法,正确地区分两类蠓虫。 ( ii)对触角和翼长分别为 (1.24,1.80), (1.28,1.84)与 (1.40,2.04)的 3 个标本,用所得到的方法加以识别。 2考虑下面的优化问题 =+niiniiccw122112min s.t. iiibxwg + 1)( , ni ,2,1 L= 0i , ni ,2,1 L= 讨论参数1c 和2c 变化产生的影响。导出对偶表示形式。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报