当前位置:文档之家› svm算法简介

svm算法简介


两种情况
• 线性可分
• 线性不可分
情况1:样本本质上是非线性可分的 解决方法:核函数 情况2:本质上线性,非线性由噪音导致 强制使用非线性函数,会导致过拟合 解决方法:软间隔
线性可分
定义: 对于来自两类的一组模式 x1 , x2 ,....xN ,如果能用 一个线性判别函数正确分类,则称他们是线性可分的。
最优问题的求解
目标函数是二次的,约束条件是线性的,所以这是 一个凸二次规划问题,所以一定会存在全局的最优解, 这个问题可以用现成的QP(quadratic programming) 优化包或者二次程序软件进行求解。
此外,由于这个问题的特殊结构,还可以通过拉格 朗日对偶性变换到对偶变量的优化问题,即通过与原 问题等价的对偶问题得到原始问题的最优解,这就是 线性可分条件下支持向量机的对偶算法,这样做的优 点在于:一者对偶问题往往更容易求解,二者可以自 然的引入核函数,进而推广到非线性分类问题。
解决方法
允许一些点到分类平面的距离不满足原先的要求。原 先对样本点的要求是(意思是说离分类面最近的样本 点函数间隔要比1大):
如果引入容错性,就给1这个硬性的阈值加一个松弛 变量,即允许:
因为松弛变量是非负的,因此最终的结 果是要求间隔可以比1小。但是当某些点出 现这种间隔比1小的情况时(这些点叫离群 点),意味着我们放弃了对这些点的精确 分类,而这对我们的分类器来说是种损失。 但是放弃这些点也带来了好处,那就是使 分类面不必向这些点的方向移动,因而可 以得到更大的间隔。
线性不可分情况下
情况1:样本本质上是非线性可分的
解决方法:核函数
根据线性可分情况下的结论:
w i y x
(i ) i 1
n
(i )
将分类函数变形得最终分类函数,为:
f ( x) w x b i y
T i 1
n
(i )
x ,x
(i )
问题引入:
我们把横轴上断电a,b之间红色部分里的所有点定 为正类,两边黑色部分定为负类,不能找到一个线 性函数将两类正确分开。
函数间隔的局限性
上述定义的函数间隔虽然可以表示分类 预测的正确性和确信度,但在选择分类超 平面时,只有函数间隔还远远不够,因为 如果成比例的改变w和b,如将他们改变为 2w和2b,虽然此时超平面没有改变,但函 数间隔的值却发生改变。我们可以对法向 量w加些约束条件,使其表面看起来规范化, 如此,我们引入了真正意义点到超平面的 距离--几何间隔。
0 1 3/ 4 1/ 4 1 2 1 2 0 1 1 1 3 3 b , 2 2 2 0 4 g ( x ) 3 2 x1 2 x2 0
原来在二维空间中一个线性不可分的问题, 映射到四维空间后,变成了线性可分的。因此, 这也形成了我们最初想解决线性不可分问题的基 本思路---向高维空间转化,使其变得线性可分。 而转化的关键的部分在于找到x到y的映射方 法。遗憾的是,如何找到这个映射没有系统的方 法,此外,在数据维度较大时,计算困难(我们 对一个二维空间做映射,选择的新空间是原始空 间的所有一阶和二阶的组合,得到了五个维度; 如果原始空间是三维,那么我们会得到 19 维的 新空间,这个数目是呈爆炸性增长的,这给 的计 算带来了非常大的困难,而且如果遇到无穷维的 情况,就根本无从计算了)。
w i yi xi
i 1
n
b

i: yi 1
max w xi min w xi
i: yi 1
T
T
2
• 可求出最优的w和b,即最优超平面。
一个简单的例子:
x4
x1 =(0, 0), y1 = +1
x2 =(1, 0), y2 = +1 x3 =(2, 0), y3 = -1 x4 =(0, 2), y4 = -1
线性不可分
Y轴
X轴
x2
2
1
x1
边界
3
线性可分情况
• 我们怎样才能取得一个最优的划分直线f(x) 呢?
wr x b 0
f ( x) wr x b
最大距离Maximum Marginal
• 从概率的角度上来说,就是使得置信度最小的点置信度最 大
• 从实践的角度来说,这样的效果非常好
最大间隔分类器的定义
• 由于函数间隔的缺陷,不适合用来最大化一个量, 因为在超平面固定以后,我们可以等比例地缩放 T f ( x ) w x b 的值任意 w好b的值,这样可以使得 打,亦即函数间隔可以在超平面不变的情况下被 取得任意大。 • 而几何间隔则没有这个问题,因为除上 w 这个 分母,所以缩放w和b的时候几何间隔不会随之改 变,它只随超平面的变动而变动,因此更加适合 用其来定义最大距离。
( x) az az
在任意维度的空间中,这种形式的函数都是一个 线性函数(只不过其中的a,z是多维向量),因 此,自变量z的次数不大于1。经过映射,判别函 数为:
f ( x) wii ( x) b i yi ( xi ) ( x) b
i 1 i 1 n n
拉格朗日乘数法的扩展形式
• minf(w) • s.t. gi(w)≤0 i=1,2,...,k hi(w)=0 i=1,2,...,l (这里0指的是零向量)
L( w, , ) f ( w) i gi ( w) i hi ( w)
i 1 i 1 k l
L( w, , ) 定义: p ( w) max 0
svm(supported vector machine)
概念: 支持向量机是Corinna Cortes和Vapnik等于1995 年首先提出的,其基本原理是(以二维数据为例): 如果训练数据是分布在二维平面上的点,它们按照 其分类聚集在不同的区域。基于分类边界的分类算 法的目标是,通过训练,找到这些分类之间的边界。 对于多维数据(如N维),可以将它们视为N维空 间中的点,而分类边界就是N维空间中的面,称为 超面(超面比N维空间少一维)。线性分类器使用 超平面类型的边界,非线性分类器使用超曲面。 数据:线性可分&线性不可分
x1
x2
x3
1 2 Q( ) (1 2 3 4 ) ( 2 4 2 3 4 32 4 42 ) 2
可调用Matlab中的二次规划程序,求得1, 2, 3, 4的值,进而求得w和b的值。
1 2 3 4
分类函数为:
优化问题的表达式:
常见核函数
– 多项式核
– 线性核
k ( x, y) x y
– 高斯径向基函数核
– Sigmoid核
对于核函数的选择,现在还缺乏指导原 则。各种实验的观察结果表明,某些问题 用某些核函数效果很好,用另一些很差, 但一般来讲,径向基核函数是不会出现太 大偏差的一种,首选。 如果使用核函数向高维空间映射后,问 题仍然是线性不可分的,怎么办?
情况2:本质上线性,非线性由噪音导 致
强制使用非线性函数,会导致过拟合 解决方法:软间隔
想象我们有另一个训练集,它是方形的(负类),这 单独的一个样本使得原本线性可分的问题变成了线性 不可分的。这样类似的问题(仅有少数点线性不可 分)。叫做“近线性可分”问题。
我们会觉得,这个点可能是错误的,是噪声。 所以我们会简单的忽略这个样本点,仍然使用原 来的分类器,其效果丝毫不受影响。 但这种对噪声的容错性是人的思维带来的, 我们的程序没有,在此基础上寻找正负类之间的 最大几何间隔,而几何间隔本身代表距离,是非 负的,像这种情况会使得整个问题无解。这种解 法其实也叫做“硬间隔”分类法,因为他硬性的 要求所有样本点都满足和分类平面间的距离大于 某个值。 由上面的例子可以看出,硬间隔分类法其结 果容易受少数点的控制。
但是能找到一条二次曲线将正负类分开,它的函数 表达式可以写为:
( x) c0 c1x c2 x
2
问题只是它不是一个线性函数,但是,新建一个 向量在z和a:
z1 1 x z z 2 2 z x 3
a1 c0 c a a 2 1 a3 c2
min i


定义函数间隔的原因
一般而言,一个点距离超平面的远近可以表示为 分类预测的确信或准确程度。在超平面 w x b 0 确定的情况下,w x b 能够相对的表示点X到超 w 平面的远近,而 x b 的符号与类标记y的符 号是否一致表示分类是否正确,所以,可以用 量 y (w x b) 的正负性来判定或表示分类的正确 性和确信度,于是引出函数间隔概念。
几何间隔
T y ( w x b) yf ( x) 的基础上,对w • 在函数间隔 和b进行归一化,即为几何间隔:
T w x b f ( x) ~ w w w w


• 这时如果成比例的改变w和b,几何间隔的值不会 发生改变。
因为wx+b=0,为了方便,我们可以按任意比例缩 放w和b,而不会改变结果。我们可以添加这样的 约束条件 w 1,这意味着可以先求出w和b的 解,之后重新缩放这些参数,就可以轻易地满足 这个条件。
• 如果有一种方式可以在特征空间中直接计算内积 〈φ(xi )· φ(x)〉,就像在原始输入点的函数中一样, 就有可能将两个步骤融合到一起建立一个非线性的 学习器,这样直接计算法的方法称为核函数方法, 于是,核函数便横空出世了。
• 核函数:对所有x,z属于X,满足
k ( x, z) ( x) ( z) 这里 是从X到内积特征空间F的映射。
i
当所有约束条件都满足时有 p f (w)
对偶问题
p min ( w) min max L( w, b, a)
相关主题