Support Vector Machines 1
来源:互联网 发布:name域名注册量 编辑:程序博客网 时间:2024/05/22 10:23
第一部分 SVM简介
1.什么是支持向量机?
对于用于分类的支持向量机来说,给定一个包含正例和反例(正样本点和负样本点)的样本集合,支持向量机的目的是寻找一个超平面来对样本进行分割,把样本中的正例和反例用超平面分开,但是不是简单地分看,其原则是使正例和反例之间的间隔最大。
注释:什么是超平面?简单地说,超平面就是平面中的直线在高维空间中的推广。那么,对于三维空间,超平面就是平面了。对于更高维的空间,我们只能用公式来表达,而缺少直观的图形了。总之,在n维空间中的超平面是n-1维的。
超平面的公式为。公式中的w为可以调整的系数向量,b为bias。注意我们的表达习惯,所有的向量都是列向量,所以在第一项的内积中向量w需要进行转置。
现在考虑样本集合{xi,di},xi是输入的特征,di是样本对应的分类。现在规定当样本xi属于第一类时,di为1,当xi属于第二类时,di为-1。
那么,线性可分的意思就是一个超平面可以把两类样本完全地分割开来。用公式表达就是:
wTx + b > 0 di = +1
wTx + b < 0 di = -1
你现在可能会问,那么如果不是线性可分的情况应该怎么办呢?事实是这些会在后面处理到。在这里我们首先讨论线性可分的情况,然后将其拓展到线性不可分的情况.
现在假设对于线性可分的样本集,我们有了一个分割超平面,wTx + b =0.现在我们想通过调整w0和b0让它分割的正样本和负样本保持最大的间隔,这样我们就获得了最优的超平面。实际上在操作过程中,我们最大化的是离超平面最近的点到超平面的距离。也就是说,我们要让超平面尽量远离最近的点。从图中可见超平面到正样本最近点的距离和超平面到负样本最近点的距离是相等的。这是个巧合么?
假设我们已经找到了一个超平面,它离正样本最近点的距离大于离负样本最近点的距离,那么这个离超平面最近的点就是负样本中的最近点。而考虑到我们的目标,我们还会调整超平面的位置使它还可以增大一些,即使这样会牺牲离正样本最近点的距离。所以调整到最后的结果肯定是超平面离两侧最近点的距离是等距的。
为了更形象地表现正负样本的间隔,我们可以在分割超平面的两侧再定义两个超平面H1和H2(如图中虚线所示),这两个超平面分别通过正样本和负样本中离分割超平面最近的样本点(图中加了外圈)。从以上分析可以知道,超平面H1和H2离分割超平面是等距的。
我们定义超平面H1和H2上面的点叫做支持向量。正负样本的间隔可以定义为超平面H1和H2之间的间隔,它是分割超平面距最近正样本点距离和最近负样本点距离之和。
从图中可以看出,支持向量对于分割超平面的位置是起到关键作用的。在优化分割超平面位置之后,支持向量也显露出来,而支持向量之后的样本点则对分类并不关键。
2. 样本点到超平面距离的表示
假定对于一个点 x ,令其垂直投影到超平面上的对应点为 x0 ,w 是垂直于超平面的一个向量,r为样本x到分类间隔的距离,成为几何距离,如下图所示:
有,其中||w||表示的是范数。
又由于 x0 是超平面上的点,满足 f(x0)=0 ,代入超平面的方程即可算出:
即f(x)=r||w||,f(x)实际上度量了样本点x到超平面的距离,在||w||恒定的情况下,f(x)绝对值的大小反映了几何间隔r的大小。我们给f(x)起个名字叫做函数间隔。注意几何间隔r和函数间隔f(x)都是有正负号的,代表着处于超平面的不同侧。
3. 最大化间隔(最大间隔分类器)
我们需要最大化支持向量到分割超平面的距离,当然在最开始我们不知道哪些向量是支持向量。
我们的目的是最大化支持向量到分割超平面的几何间隔r,而不是最大化函数间隔f(x),因为超平面方程的系数可以同比例增大或者减小,而不改变超平面本身。所以||w0||是不固定的,这就会影响函数间隔f(x)的大小。
所以我们需要最大化的是几何间隔r,这等价于我们固定||w0||,然后最大化函数间隔f(x)。但是实际上我们不会这么做,通常的处理方法是固定函数间隔f(x)的绝对值为1(函数间隔可以任意伸缩,因此将最小函数间隔任意扩大或者缩小一定倍数是不影响问题的,从而可以直接令最小值为1),然后最小化||w||。也就是说我们把支持向量到分割超平面的函数间隔f(x)的绝对值设定为1,然后最小化||w||。
现在我们可以正式地表述这个问题了。我们需要最大化r=1/||w||,即最小化||w||,也就是最小化超平面权重向量w的欧几里得范数。
所以最小化||w0||是有限定条件的,我们把支持向量对应的f(x)定为+1或者-1(取决于支持向量处于分割超平面的哪一侧,也就是说是正样本还是负样本),也就表明了对于所有的正样本点来说,f(x)>=+1的,而对于负样本来说,f(x)<=-1的。
回想f(x)的定义:
f(x)=wTx + b
我们可以把限制条件写下来:
wTx + b ≥ +1 yi = +1
wTx + b ≤ -1 yi = -1
现在我们可以把上面的问题写的更简练,由||w||^2=wTw得
目标函数:
1/2wTw
限制:
yi(wTxi+b)≥ 1 i=1, 2, …, N
1/2是为了以后计算方便所加的,N是样本点的个数。
现在我们的第一个任务结束了,我们把要寻找最优的分割超平面的问题转化为带有一系列不等式约束的优化问题。这个最优化问题被称作原问题。我们不会直接解它,而是把它转化为对偶问题进行解决。
- Support Vector Machines 1
- Machine Learning—Support Vector Machines(1)
- 机器学习 Support Vector Machines 1
- Support Vector Machines
- Support Vector Machines (SVM)
- Support Vector Machines
- Support Vector Machines(SVM)
- 04 Support Vector Machines
- Support vector Machines(SVM)
- Introduction to Support Vector Machines
- Stanford ex6:Support Vector Machines
- Support Vector Machines: Theory and Applications
- Support Vector Machines vs Artificial Neural Networks
- Support Vector Machines vs. Neural Networks
- Stanford ML - Lecture 8 - Support Vector Machines
- Study notes for Support Vector Machines (2)
- Machine learning-------------SVM(support vector machines)
- A-SVM Adaptive Support Vector Machines
- 『IOS』IOS-- UIView中的坐标转换
- VC半透明窗体
- ios 获取设备各种信息
- dm8168的dsp怎么调用库和arm里面怎么调库
- 天翼云内蒙古节点云主机性能测试
- Support Vector Machines 1
- 第12周项目 2.1 求n组数的最大公约数
- [iOS]iOS AudioSession详解 Category选择 听筒扬声器切换
- 【凉菜鸟成长之路】Head First C#160页打字游戏出现的问题及解决
- 第十二周项目二(2)分离正整数中的个位数
- 高斯模糊实现小结
- RDK_OSD代码走读
- keepalived原理及配置段的说明
- 层的匀速运动波动处理