svm中超平面的法svm 支持向量个数哪个为正

SVM学习笔记 - 简书
SVM学习笔记
1. SVM算法原理
支持向量机(Support Vector Machine)算法需理解清楚三个关键点:间隔,对偶问题,核技巧。
1.1 求解目标
对于线性可分的样本,找到一个超平面使得两个样本距离这个超平面的间隔最大。这样做的目的是为了减小模型的泛化误差(为什么?参见文献6)。如下图中,超平面H3就优于H2,因为两个样本距离超平面H3的间隔更大。
来源:参考文献1
为什么叫支持向量机?下图中超平面H1和H2被称为间隔边界,处在间隔边界上的向量xi被称为支持向量Support Vector。在决定分离超平面时只有SV其作用,移动或去掉其他样本并不会影响分离超平面的位置。因此,支持向量机仅有少量的关键样本确定。
来源:参考文献4
1.2 对偶算法
寻找最大样本间隔的超平面等价于求解最小的几何间隔(即,超平面法向量的L2范数。具体推导过程请见参考文献[4])。将寻找分离超平面的问题构造为以下最优化问题
来源:参考文献3
这是一个带不等式约束条件的问题。可将此问题转化为拉格朗日对偶问题。目的是将约束条件与原始问题放入同一个等式中再进行求解(详情请参考文献[3])。
1.3 软间隔
当样本线性不可分时,引入松弛变量使得函数间隔加上松弛变量大于等于1。于是将学习问题构造为以下规划问题。解此问题而得到的分类决策函数被称为线性支持向量机。线性支持向量机的解w唯一但是b并不唯一。
C&0为惩罚函数,用来调节对误分类的惩罚的大小,视具体问题而定。最小化目标函数必须使目标函数中的两项都尽量小,而C是用来调节两项关系的系数。
来源:参考文献3
1.4 核技巧
核技巧的基本思想就是通过一个非线性变换将输入空间映射到一个特征空间,使得输入空间中的超曲面模型对应特征空间中的一个超平面模型,然后在特征空间中利用线性支持向量机进行求解。在线性支持向量机的对偶问题中,利用核函数K(x,z)替代内积,求解得到的就是非线性支持向量机(参考文献3)。
来源:参考文献3
2. SVM的运用
2.1 分类模型,回归模型
R包"e1071",当y变量为factor时,所产生模型为分类模型,当y变量为连续变量时,所产生模型为回归模型。以下例子来自参考文献7。
## training
# linear kernel
svm.model &- svm(x=data, y=labels, type="C-classification",kernel="linear")
# linear kernel with cost as 42
svm.model &- svm(x=data, y=labels, type="C-classification",kernel="linear", cost="42")
# liner kernel 10-fold cross validation
svm.model &- svm(data, labels, type="C-classification",kernel="linear", cross=10)
# polynomial kernel
svm.model &- svm(x=data, y=labels, type="C-classification",kernel="polynomial", degree="2")
# radial (Gaussian) kernel
svm.model &- svm(x=data, y=labels, type="C-classification",kernel="radial", gamma="0.002")
## validation
predicted &- predict(svm.model, data) # test on training set
sum(predicted != labels) # count differences
table(true=labels, pred=predicted) # confusion matrix
2.2 发现异常值
据文献7描述,SVM可用于发现异常值(outliers),不理解具体机制如何,须进一步学习。
间隔:margin软间隔:soft margin泛化误差:generalization error对偶问题:dual problem核函数: kernel
[1] [2] [wiki对拉格朗日对偶的解释]()[3] 李航,《统计学习方法》[4] [5] [6] [7] [8]
一头很懒很懒的猪...支持向量机_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
支持向量机
上传于|0|0|文档简介
&&支持向量机
阅读已结束,如果下载本文需要使用5下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩15页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢回顾一下上文的思路,对于线性可分问题,我们可以用超平面将训练样本分开。但是通常超平面有很多个,我们选择距离两类样本点几何间隔最大的那个,这样能够使得模型错误率的“上界”最小。而这个问题,有进一步的转化为求超平面法向量||w||的值最小的问题。好,今天就从这里开动。
【线性可分问题 之 问题转化 之 凸二次规划】
||w||表示向量w的“范数”,最常用的是二阶范数,怎么算呢?就是把向量w中的每个元素都平方,再求和,然后再开二次方根。嗯,我们从前在学习高数的时候经常算类似的东西,虽然我现在也想不起来高数到底学什么了,呵呵。那其实这个问题很简单啊,让w中的每个元素都取值为零,则计算出的结果为零,最小啊。这时候w表示原点。怎么回事?有地方不对。
是由地方不对,我们忘了要这个超平面干什么了——它是用来分隔两类训练样本的,这是他的约束条件。所以,目标函数修正如下:
min&&&&&&&&&&&&& pow (||w||, 2.0) / 2
subject to&&& y(i) ( &w * x(i)& + b ) & 0
Sorry 我用的C的语法来描述公式。把最小化||w||转化成了最小化它的平方,在数学上是等价的,形式上却有很多好处。
通常来讲,两类线性可分样本之间都有一定的间隔(想一想,如果没有这样的间隔,那么必然两类都有样本在这个分类面上,那么这些样本如何分类呢),而我们也要把这个间隔表示在上面的目标函数中。通常,这个间隔取值为1。为啥是这个值呢?0.5行不?其实啊,个人认为啊,也行!为什么这么说呢?再回顾上一篇文章中,我们之所以要优化||w||,其实我们要优化Theta,Theta表示了样本点到分类面的几何间隔。而我们优化的方法呢,一定是固定一个几何间隔,然后来优化Theta,也就是现在的||w||。这个间隔只要是一个固定的常量值就行了,以后的数学推导,直接将它带着,对优化的方法和结果不影响。但是还有个疑问,就是如果这个值非常大,例如都超过了样本集合的最大直径(集合中两个样本点之间的最远距离),那还怎么分啊?嗯,是的。不过不同的是,那个是“几何间隔”,是经过“归一化”之后得到的;而我们现在这个1,是在归一化之前,不是一个几何意义上的距离的概念。哦,我知道还有问题,先列出公式吧。总之,加上间隔之后,目标函数修正如下:
min&&&&&&&&&&&&& pow (||w||, 2.0) / 2
subject to&&& y(i) ( &w * x(i)& + b ) -1 &= 0
约束条件中可以用“=”了。
回到上面那个问题,为啥不是几何距离,就可以呢?就能确保把两类样本都间隔开呢?我是这么理解的,举个例子吧:假设是在一个二维平面上,有个点是(1, 1),它和原点(0, 0)的距离很容易计算出是1;如果不是几何距离的概念,那我可以把(1, 1)进行缩放,例如都扩大两倍,得到(2, 2),则和原点的距离变为4。同样,在上面的约束条件中,也可以进行类似的缩放。我要说的是,
有个间隔就好,他的值本身并不重要
。如果还有问题,那么好吧,我承认在这里面我也有点糊涂。
优化上面的约束条件下的目标函数,有个专有名词,很cool,叫“凸二次规划问题”。简单解释一下。首先,上面的问题是一个优化问题,而优化问题又称为规划问题;其次,上面的目标函数是二次函数,所以叫二次规划问题;最后,上述的约束条件定义了一个凸集(集合中任意取两点连成一条直线,直线上的点依然在集合内部,想象成一个圆或者椭圆内部区域),所以又称为“凸二次规划问题”。
【线性可分问题 之 问题转化 之 支持向量机】
上面,我们遇到了这么cool的一个问题,可是怎么解呢?
回想一下我们学习的高数。对于没有约束的极值问题,我们可以求导数,并令导数等于零,求得极值。对于有等式约束的极值问题,我们利用拉格朗日乘子,转换成无条件极值问题。那么上面那个呢?是不等式的条件极值问题,咋办?凉拌,呵呵。
还得继续转化。
我们跳出来想一下,我们最终获得的模型参数是什么?是w向量和b向量。而b向量可以通过w向量来获得。(你要问,如何获得?这个我没看具体的推导,我是这样想的:如果分类器描述的是二维空间的一条直线,那么w就是斜率,b就是截距。当w确定的情况下,我们看平面上的样本点,根据样本点之间的间隔,很容易就算出最优分类线与两类样本点之间的最大间隔,也就能够唯一确定最优分类线——间隔中间的那条,也就能确定b的值了。)接着上面的思路,w是根据什么获得的呢?根据的只有训练样本,即是说,w是训练样本的函数,可以表示如下:
w = a(1)y(1)x(1) + a(2)y(2)x(2) + …… a(n)y(n)x(n)
其中a(i)是一个实数,x(i)和y(i)分别表示样本i的特征向量和分类结果。这样,寻找优化w的问题就转换成了寻找优化a的问题,a的个数与样本数量相同。我在第一次看到这个的时候会问自己,这是不是把问题搞复杂了?其实不是,这里面绝大多数的a的值都是0;而只有那些少数不为0的a,才是模型真正的参数,才是我们将来对未知样本分类的主要考虑依据。而这些不为0的a所对应的训练样本,就是
。最大几何间隔的大小就由他们来决定。
回想一下上文中超平面的定义如下:
g(x) = &w * x& + b
将w的计算方式带入之后,变为
g(x) = & {a(1)y(1)x(1) + a(2)y(2)x(2) + …… a(n)y(n)x(n)} * x & + b
&&&&&& = & a(1)y(1)x(1) * x & + & a(2)y(2)x(2) * x & + …… & a(n)y(n)x(n) * x & + b
&&&&&& = SUM_i { a(i)y(i)&x(i) * x& } + b
上面的公式中,只有x向量是变量,x(i)表示第i个训练样本,a(i)是实数,表示x(i)。同样的,可以将w带入到上面的优化目标函数中。据Jasper说,经过上面的变换,就将原来的不等式约束变成了等式约束,就得到了解析解,至此,线性可分问题就能解了。
不过我个人是没有看明白,如何就将原来的不等式约束变换成了等式约束;即便是有了等式约束,下面的故事呢?怎么搞出解析解的?Jasper在他的软文里面都没说。这也埋下了一个伏笔,我后文还要看其他的资料来了解相关的知识,这就留到svm训练算法部分来说吧。
看到这个变换,我的收获主要有以下几点:
1. 从前知道支持向量的直观几何意义,但是从代数推到上,不知道他是怎么来的;现在知道了。
2. 了解svm对新样本的分类过程了:就是找到不为零的a(i)以及相应的训练样本,与输入向量做内积,判断内积的值即可。
3. 能初窥一点儿训练过程:在对每个a(i)进行优化的时候,至少要遍历所有训练样本;参数空间受支持向量的影响很大。
这一篇先写到这里。
本文转载自:
欢迎加入我爱机器学习QQ11群:
微信扫一扫,关注我爱机器学习公众号
欢迎加入我爱机器学习QQ11群:
最新文章列表
NIPS 2016 — Day 1 Highlights NIPS 2016 — Day 2 Highlights:...
2017年四月 &(63)
2017年三月 &(54)
2017年二月 &(48)
2017年一月 &(54)
2016年十二月 &(62)
2016年十一月 &(97)
2016年十月 &(97)
2016年九月 &(124)
2016年八月 &(83)
2016年七月 &(13)
2016年六月 &(10)
2016年五月 &(6)
2016年四月 &(9)
2016年三月 &(7)
2016年二月 &(2)
2016年一月 &(3)
2015年十二月 &(5)
2015年十一月 &(4)
2015年十月 &(2)
2015年九月 &(2)
2015年八月 &(3)
2015年七月 &(6)
2015年六月 &(8)
2015年五月 &(4)
2015年四月 &(1)
2015年三月 &(3)
2015年二月 &(1)
2015年一月 &(2)
2014年十二月 &(4)
2014年十一月 &(2)
2014年十月 &(3)
2014年九月 &(4)
2014年八月 &(22)
2014年七月 &(40)
2014年六月 &(61)
2014年五月 &(63)
2014年四月 &(187)
2014年三月 &(4799)
2014年二月 &(764)
2014年一月 &(330)
2013年十二月 &(145)
2013年十一月 &(126)
2013年十月 &(216)
2013年九月 &(284)
2013年八月 &(327)
2013年七月 &(275)
2013年六月 &(315)
2013年五月 &(228)
2013年四月 &(175)
2013年三月 &(186)
2013年二月 &(118)
2013年一月 &(210)
2012年十二月 &(221)
2012年十一月 &(155)
2012年十月 &(144)
2012年九月 &(98)
2012年八月 &(99)
2012年七月 &(109)
2012年六月 &(75)
2012年五月 &(88)
2012年四月 &(78)
2012年三月 &(78)
2012年二月 &(50)
2012年一月 &(17)
2011年十二月 &(27)
2011年十一月 &(6)
2011年十月 &(11)
2011年九月 &(13)
2011年八月 &(13)
2011年七月 &(19)
2011年六月 &(18)
2011年五月 &(6)
2011年四月 &(12)
2011年三月 &(15)
2011年二月 &(6)
2011年一月 &(9)
2010年十二月 &(6)
2010年十一月 &(11)
2010年十月 &(5)
2010年九月 &(8)
2010年八月 &(5)
2010年七月 &(12)
2010年六月 &(4)
2010年五月 &(7)
2010年四月 &(6)
2010年三月 &(12)
2010年二月 &(7)
2010年一月 &(2)
2009年十二月 &(5)
2009年十一月 &(16)
2009年十月 &(6)
2009年九月 &(7)
2009年八月 &(7)
2009年七月 &(5)
2009年六月 &(6)
2009年五月 &(6)
2009年四月 &(4)
2009年三月 &(7)
2009年二月 &(6)
2009年一月 &(1)
2008年十二月 &(4)
2008年十一月 &(5)
2008年十月 &(1)
2008年八月 &(1)
2008年七月 &(3)
2008年六月 &(3)
2008年五月 &(3)
2008年三月 &(1)
2007年十二月 &(1)
2007年十月 &(1)
2007年八月 &(4)
2007年七月 &(1)基于半监督svm集成学习的分类方法
基于半监督svm集成学习的分类方法
【专利摘要】本发明公开了一种基于半监督SVM集成学习的分类方法,主要解决现有分类方法对样本分布未知,尤其是样本分布不平衡时分类正确率低和不稳定的问题。其实现步骤是:(1)分别对训练样本集和测试样本集进行归一化;(2)更新归一化后测试样本集中正、负样本的比率,通过局部搜索构造差异性较大的基分类器;(3)用k-means算法对基分类器的分类结果进行聚类;(4)通过集成学习的分类方法获得测试样本集的最终分类结果。本发明通过更新正、负样本比率构造差异性较大的基分类器,利用更多的测试样本正确分类信息,并结合邓恩指标的集成学习的分类方法,提高了分布未知的样本分类正确率和稳定性,可用于模式识别、目标检测和分类的问题。
【专利说明】基于半监督SVM集成学习的分类方法
【技术领域】
[0001]本发明属于图像处理【技术领域】,特别涉及分布未知的数据分类方法,可用于模式识别、目标检测、分布未知的数据分类。
【背景技术】
[0002]根据学习过程中是否存在有标记的样本,传统的机器学习可以分为监督学习和无监督学习两种。监督学习通过已有的训练样本得到一个最优模型,再利用这个模型将所有的输入映射为相对的输出,对输出进行判断从而实现分类的目的。但在很多实际应用中,由于缺少形成模式类的知识,或者实际工作中的困难,只能利用没有类别标记的样本,即所谓的无监督学习。
[0003]半监督学习是监督学习与无监督学习相结合的一种学习方法。同时利用已标记和未标记样本,通过挖掘未标记样本中所蕴含的各个待分类类型在特征空间中的固有结构,从而对训练样本拟合的分类器进行校正,减少因为训练样本代表性不好对分类器拟合造成的偏差。
[0004]在实际问题中,有标记的样本是有限的,大量的未标记样本存在于样本集中。为了让大量的未标记样本帮助提高分类器性能,近年来涌现了许多半监督学习算法,半监督支持向量机(Sem1-supervised Support Vector Machine)就是其中一个重要的分支,将未标记样本的分布信息引入到了支持向量机SVM的学习中。结合未标记样本的半监督SVM方法的性能较单独使用训练样本有了显著提高。半监督SVM的目标函数是一个难以计算的混合整数规划问题,于是产生了许多求解方法。代表性的方法有直推式支持向量机TSVM,拉普拉斯支持向量机LapSVM,S4VMs等,其中LapSVM主要是通过图的拉普拉斯矩阵来探索数据的流形结构。
[0005]TSVM算法在分类之前需要人为设定测试样本集中的正、负样本比例,通常情况下,这个先验知识无法提供也很难估计,应用中常用的做法是用训练样本集中的正、负样本比例估计测试样本集中的正、负样本比例。
[0006]S4VMs算法经过多次迭代搜索到多个大间隔的决策面,在不断固定当前分类器决策面参数Iw,b},更新测试样本集标签的过程中,需要设定与决策面距离较近的前P%的样本为正类,其他样本为负类。其中P%无法预先确定,需要人为设定或按照训练样本集中样本分布来估计。
[0007]上述这两种方法均依赖于样本的分布情况,如果样本分布估计有误,分类器的性能就会急剧下降。
【发明内容】
[0008]本发明的目的在于针对上述已有方法的不足,提出一种基于半监督SVM集成学习的分类方法,以减少由于对数据分布估计不准确带来的误分,提高集成学习的分类正确率和鲁棒性。[0009]为实现上述目的,本发明的技术方案包括如下步骤:
[0010](I)分别对初始训练样本集
【权利要求】
1.一种基于半监督SVM集成学习的分类方法,包括如下步骤:
(1)分别对初始训练样本集和测试样本集{I/};进行归一化处理,得到归一化后的训练样本集{X,.,_y,.Up测试样本集il,其中Xi表示初始训练样本集中的第i个样本,Yi表示初始训练样本Xi的标签,Xj表示初始测试样本集中的第j个样本,Xi表示归一化后训练样本集中的第i个样本,Ii表示归一化后训练样本Xi的标签,Xj表示归一化后测试样本集中的第j个样本,I表示训练样本的个数,u表示测试样本的个数;
(2)构造差异性较大的基分类器:
(2a)设定样本的属性,即将类别标签为I的样本设为正样本,用+1表示,将类别标签为2的样本设为负样本,用-1表示;
(2b)设测试样本集中的初始正、负样本比率为:
2.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中步骤(1)所述的分别对初始训练样本集彳和测试样本集〖%,进行归一化处理,得到归一化后的训练样本集和测试样本集丨巧};,按如下步骤进行:(1a)计算初始训练样本集和测试样本集中所有样本
3.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中步骤(2c)所述的根据不同的β参数进行局部搜索,按如下步骤进行:
(2cl)用SVM算法求解出随机初始化的训练样本集和测试样本集{乃!^的超平面系数{w,b}和测试样本集=1的初始标签集,其中w是特征空间中超平面的系数向量,b是超平面的阈值,表示SVM算法求解出的测试样本\的初始标签;(2c2)计算测试样本Xj的wK(Xj, x)+b值,并按照降序排列,得到降序排列后的测试样本集巧及其标签集丨;,其中K (Xj, x)是SVM算法中的径向基核函数,K (Xj, x)表示测试样本和核函数中心X的径向基函数,y1}表示降序排列后测试样本免)的标签;(2c3)降序排列后,在当前正、负样本比率β参数下将前hp个测试样本的标签更新为+1,将第hp+l至u-hn个测试样本的标签更新为sgn(wK(Xj, x)+b);将第u_hn+l至u个测试样本的标签更新为-1,得到测试样本集民丨%更新后的标签集Lvf};;其中,hp为更新后的正样本个数,hn为更新后的负样本个数,表示更新后测试样_ 1的标签,sgn (wK (Xj, x) +b)表示步骤(2c2)所述的wK (x
4.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中所述步骤(4a)中的一致集Xs.和非一致集Xdif,是按下式计算:
5.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中所述步骤(4b)中的K近邻集合Xsamrt和xdif_k,是按下式计算:
6.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中所述步骤(4c)中的相似集S和相反集D,是按下式计算:
7.根据权利要求1所述的基于半监督SVM集成学习的分类方法,其中所述步骤(4d)的邓恩指标(η),是按下式计算:
【文档编号】G06K9/66GKSQ
【公开日】日
申请日期:日
优先权日:日
【发明者】焦李成, 刘芳, 张丹, 王爽, 白雪, 侯彪, 马文萍, 马晶晶, 杨淑媛
申请人:西安电子科技大学}

我要回帖

更多关于 svm 特征向量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信