机器学习笔记—svm算法(上)

本文申明本文原创如转载请注明原文出处

引言:上一篇我们讲到了logistic回归,今天我们来说一说与其很相似的svm算法,当然问题的讨论还是在线性可分的基础下讨论的。

很多人说svm是目前最好的分类器,那我们就来看看我们的svm好在哪里。

一:初识svm

问题:用一条直线把下图的圆球和五角星分离开来。

解答:有N种分法,如下图:

附加题:找出最佳分类?

解答:如图:

Exe me?鬼知道哪一条是最佳??

等等这个最佳分类是不是等价于,地主让管家给两个儿子分地,是不是只要让两家之间一样多就可以了?那是不是就是那根红线让两家距离之和离分界线最远就可以了?

恭喜你,猜对了。

现在我们把问题上升到N维,就是说,我也不知道这个N维是什么样子,但是,我要在N维中把这两个东东分离开来。那么从直线ax+b就可以表示成超平面WTx+b去分开。示意图如下:

其中W=(W1;W2;…;Wd)为法向量,决定了这个超平面的方向,b为位移项,决定了超平面与原点之间的距离。显然这个超平面就是被W和b确定的。那求出这个超平面这个分类模型不就建立了吗。那就是最优化求最大间隔的问题。

说到间隔(margin)问题,我们来科普下函数间隔和几何间隔。

1.1函数间隔(functional margin)

假设图中A,B,C表示三个实例,A离超平面最近,那么预测正确的可能性就比较低,但是C离超平面H最远,那么预测正确的概率就比较高,B介于两者之间。

一般来说,一个点到一个超平面的距离可以表示为这个点预测的确信程度。这就是函数间隔。

对于给定的训练数据集T和超平面(w,b),定义超平面关于样本点(x_i,y_i)的函数间隔为:

1.2 几何间隔

函数间隔可以表示预测的正确性以及确信度,但是当我们选择最优的超平面的时候,只有函数间隔还不够,主要按照比例改变W和b那么超平面没有变,但是函数间隔却变成了原来的两倍,我们可以对分离超平面的法向量进行约束,例如规范化,||w||=1,这样就使得间隔是确定的,这样函数间隔就变成了几何间隔。

假设B在这条分割线面上,分割线外的一点,到这个平面的距离用表示,任何一个点在这个超平面分割面上都有一个投影,现在假设,A的投影就是B,那么BA就是A到B的距离,w就是它的法向量,其中w/||w||为单位向量假设A(xi,yi那么B的x坐标为xi- w/||w||把B的横坐标带入wTX+b=0,得到:

进一步化简:

所以当||w||=1的时候,无乱扩大几倍,对距离都没有影响,这叫做几何距离。

1.3间隔最大化

现在我们知道分离超平面有无数个,但是几何间隔最大化只有一个,而SVM的思想就是寻找这个能让间隔最大化的超平面,把这个作为分类的标准。那么这个问题就可以表示成约束最优化问题:

s.t.

||w||=1

这里用||w||=1 规约 w,使得 + 是几何间隔,考虑到函数间隔和几何间隔的关系:

所以上述公式可以改写为:

s.t.

求上述的最大值,就等价于求||w||的最小值问题。等价于:

Min (w,b)

s.t.

好了终于到这一步了。

接下来介绍的是手工求解的方法了,一种更优的求解方法。

二:学习的对偶算法

为了求解线性可分的支持向量机的最优化问题,将它作为原始最优化问题,应用拉格朗日对偶性,求解对偶性问题去得到原始问题,这就是线性可分支持向量机的对偶算法。思想如图所示:

我想大家一看就会明白了。。。

补充(来自维基百科):

首先,我们定义拉格朗日函数,对每一个不等式的约束条件引进拉格朗日乘子ai>=0,i=1,2,3..,N,.则函数1为:

根据拉格朗日对偶性,原始问题的对偶问题是极大极小值问题:

那么为了得到对偶问题的解,需要先求L(w,b,a)的极小,再求对a的极大。

2.1求min L(w,b,a)

首先对函数1 分别对w,b求偏导并令其为0.

那么:

将上述两式带入到函数1可得:

即:

2.2求min L(w,b,a)对a的极大,即使对偶问题

这样就可以得到与之等价的对偶最优化问题:

现在对上式中a的解为a*=( a1*, a2*,…an*)T,因为满足KKT条件那么就可以求得最优化问题的解w*,b*.

综上,分类决策函数可以写成:

下期预告:下期将会为大家带来线性不可分的情况,也是SVM最核心的“核武器”以及svm的优缺点,敬请关注!

时间: 2024-07-28 15:49:53

机器学习笔记—svm算法(上)的相关文章

机器学习笔记——SVM之一

SVM(Support Vector Machine),中文名为 支持向量机,就像自动机一样,听起来异常神气,最初总是纠结于不是机器怎么能叫"机",后来才知道其实此处的"机"实际上是算法的意思. 支持向量机一般用于分类,基本上,在我的理解范围内,所有的机器学习问题都是分类问题.而据说,SVM是效果最好而成本最低的分类算法. SVM是从线性可分的情况下最优分类面发展而来的,其基本思想可以用下图表示: (最优分类面示意图) 图中空心点和实心点代表两类数据样本,H为分类线

机器学习笔记_PRML_Adaboost 算法的原理与推导

转自:http://blog.csdn.net/v_july_v/article/details/40718799 Adaboost 算法的原理与推导 1 Adaboost的原理 1.1 Adaboost是什么 AdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由Yoav Freund和Robert Schapire在1995年提出.它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器.同时,在每一轮中加

机器学习笔记----- ID3算法的python实战

本文申明:本文原创,如有转载请申明.数据代码来自实验数据都是来自[美]Peter Harrington 写的<Machine Learning in Action>这本书,侵删. Hello,又和大家见面了,今天心情出奇的好,不知道为什么.就是好...此处省略一万字...上一次和大家说了,决策树的理论部分,今天我们就来动手帮助眼科医生做一个系统,让这个系统学会给需要隐形眼睛的用户一个建议,让用户可以知道自己适合哪种眼睛.老规矩,系统先从数据中学习. 一:计算给定数据集的香浓熵 大家还记得我们上

机器学习笔记—EM 算法

EM 算法所面对的问题跟之前的不一样,要复杂一些. EM 算法所用的概率模型,既含有观测变量,又含有隐变量.如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法来估计模型参数,但是,当模型含有隐变量时,情况就复杂一些,相当于一个双层的概率模型,要估计出两层的模型参数,就需要换种方法求解.EM 算法是通过迭代的方法求解. 监督学习是由训练数据 {(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))} 学习条件概率分布 P(Y|X) 或决策

机器学习笔记——支持向量机(3)

八.核(kernel) 如果样本点为线性不可分,那么,需要将数据映射到高维空间,使在原始空间内其线性可分变为线性可分.如下图所示: 上文提到,分类器可以写成: 那么,如果使用一种映射的方法,将低维数据映射到高维(),使得线性不可分变为线性可分.称为特征映射函数,这样,分类器就变为: (1)实例 低维映射到高维能否将线性不可分变为线性可分呢?下面就举个例子来看.假设数据可以用决策的边界表示(如下图左所示),那么,利用, ,做映射,可以得到决策边界:.经过上述的映射变换,原来在圆内的点都在超平面的一

Stanford机器学习课程笔记——SVM

Stanford机器学习课程笔记--SVM 前面已经学习过SVM,写了几片博文,如下: 入门SVM:http://blog.csdn.net/puqutogether/article/details/39894835 SVM中的线性不可分情况:http://blog.csdn.net/puqutogether/article/details/41309745 SVM中的多类分类问题:http://blog.csdn.net/puqutogether/article/details/4167960

机器学习笔记 贝叶斯学习(上)

机器学习笔记(一) 今天正式开始机器学习的学习了,为了激励自己学习,也为了分享心得,决定把自己的学习的经验发到网上来让大家一起分享. 贝叶斯学习 先说一个在著名的MLPP上看到的例子,来自于Josh Tenenbaum 的博士论文,名字叫做数字游戏. 用我自己的话叙述就是:为了决定谁洗碗,小明和老婆决定玩一个游戏.小明老婆首先确定一种数的性质C,比如说质数或者尾数为3:然后给出一系列此类数在1至100中的实例D= {x1,...,xN} :最后给出任意一个数x请小明来预测x是否在D中.如果小明猜

程序员训练机器学习 SVM算法分享

http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine 摘要:支持向量机(SVM)已经成为一种非常受欢迎的算法.本文主要阐述了SVM是如何进行工作的,同时也给出了使用Python Scikits库的几个示例.SVM作为一种训练机器学习的算法,可以用于解决分类和回归问题,还使用了kernel trick技术进行数据的转换,再根据转换信息在可能的输出之中找到一个最优的边界. [CSDN报道]支持向量机(Support

七月算法-12月机器学习在线班--第十四次课笔记—EM算法

七月算法-12月机器学习在线班--第十四次课笔记-EM算法 七月算法(julyedu.com)12月机器学习在线班学习笔记http://www.julyedu.com ? EM Expection Maxium 期望最大化 1 引例 1000人,统计身高,1.75,1.62,1.94,有多少男女,每个身高对应的男女 ? 1.1 如何算?利用极大似然估计,估算均值和方差 上述结论和矩估计的结果是一致的, 即:样本的均值即高斯分布的均值,样本的伪方差即高斯分布的方差. 如果是高斯分布,就可以这么用本