支持向量机的数学原理(1)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*f(x)称为仿射函数,如果它满足f(x)=ax+b, a∈ Rn, b∈ Rn,x∈ Rn
凸二次规划问题求解
原始问题转换为
形式后,原问题成了一个凸二次规划问题。解此问题除了用解决QP 问题的常规方法之外,还可以通过求解对偶问题得到最优解,这就 是线性可分条件下支持向量机的对偶算法,这样做的优点在于:一 者对偶问题往往更容易求解;二者可以自然的引入核函数,进而推 广到非线性分类问题。 首先构建拉格朗日函数,通过给每一个约束条件加上一拉格朗 日乘值,即引入拉格朗日乘子,如此我们便可以通过拉格朗日函数 将约束条件融和到目标函数里去。
对偶算法求解
对偶算法求解
最大间隔分离超平面的存在唯一性
最大间隔分离超平面的存在唯一性
• 第二部分
线性支持向量机 与 软间隔最大化
线性支持向量机
在第一部分最开始讨论支持向量机的时候,我们就假定,数据是线性可分 的,亦即我们可以找到一个可行的超平面将数据完全分开。然而,这只是 一种理想状态,通常情况下数据往往不是线性可分的,因为数据中一般存 在噪声。对于这种偏离正常位置很远的噪声点,我们称之为 outlier ,在 我们原来的 SVM 模型里,outlier 的存在有可能造成很大的影响,因为超 平面本身就是只有少数几个 support vector 组成的,如果这些 support vector 里又存在 outlier 的话,其影响就很大了。
再考察驻点是否是极值点
拉格朗日对偶性
拉格朗日对偶性
拉格朗日对偶性
拉格朗日对偶性
拉格朗日对偶性
拉格朗日对偶性
拉格朗日对偶性
对偶算法求解
对偶算法求解
对偶算法求解
对偶算法求解
对偶算Байду номын сангаас求解
对偶算法求解
对偶算法求解
对偶算法求解
对偶算法求解
对偶算法求解
对偶算法求解
对偶算法求解
条件极值的一种求解方法是代入法.,将条件极值化为无条件极值。 V z xyz V 例如,在上述例子中,由条件 解出 xy 代入目标函数中,S 2( xz yz) xy 得到
1 1 S 2V ( ) xy 然后求这个函数的无条件极值。 y x
然而在一般情形下,这种方法往往是行不通的,因为要从条件组
定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于 T中所有样本点(xi,yi)的函数间隔最小值,其中,x是特征,y是结果 标签,i表示第i个样本,有:
几何间隔
函数间隔虽然可以表示分类预测的正确性和确信度,但在选择分类超 平面时,只有函数间隔还远远不够,因为如果成比例的改变w和b,如 将他们改变为2w和2b,虽然此时超平面没有改变,但函数间隔的值 f(x)却变成了原来的2倍。其实,我们可以对法向量w加些约束条件, 使其表面上看起来规范化,如此,我们很快又将引出真正定义点到超 平面的距离--几何间隔的概念。 对于给定的训练数据集T和超平面(w,b),定义超平面关于样本点 (x,y)的几何间隔为:
k ( x1 , x2 , , xn ) 0, k 1, 2, , m (m n)
解出 m 个变元常常是不可能的. 下面介绍的拉格朗日乘数法是求条件极值的一种有效方法.
条件极值与拉格朗日乘数法
在条件 (x ,y ) 0 下 ,求函数 z f ( x , y ) 的极值 . ( x , y ) 0 可确定函数 y g ( x ) , 则问题等价于一元函数 z f ( x , g ( x )) h( x ) 的极值问题, 由极 值的必要条件,知极值点 x0 必满足
支持向量机(1)
线性支持向量机的求解
重庆大学
余俊良
什么是支持向量机
在右图中A图表示有两 类的数据集,图B,C,D 都提供了一个线性分 类器来对数据进行分 类?但是哪个效果好 一些?
什么是支持向量机
• 支持向量机(SVM)是90年代中期发展起来的 基于统计学习理论的一种机器学习方法,通过寻 求结构化风险最小来提高学习机泛化能力,实现 经验风险和置信范围的最小化,从而达到在统计 样本量较少的情况下,亦能获得良好统计规律的 目的。在深度学习出现之前,SVM一直霸占着机 器学习老大哥的位子。他的理论很优美,各种变 种改进版本也很多,比如latent-SVM, structural-SVM等。通俗来讲,它是一种二类分 类模型,其基本模型定义为特征空间上的间隔最 大的线性分类器,即支持向量机的学习策略便是 间隔最大化,最终可转化为一个凸二次规划问题 的求解。支持向量机的学习算法是求解凸二次规 划的最优化算法。
关于凸优化的一些简单概念
凸函数的定义为:
其几何意义表示为函数任意两点连线上的值大于对应自变量处的函数值, 示意图如下:
常见的凸函数有:指数函数族;非负对数函数;仿射函数;二次函数;常 见的范数函数;
关于凸优化的一些简单概念
凸优化问题(OPT)的定义为:
即要求目标函数是凸函数,变量所属集合是凸集合的优化问题。或者目标 函数是凸函数,变量的约束函数是凸函数(不等式约束时),或者是仿射 函数(等式约束时)。
定义超平面(w,b)关于训练数据集T的几何间隔为超平面(w,b)关于T 中所有样本点(xi,yi)的几何间隔最小值, r = min ri (i=1,2,…n)
支持向量和间隔边界
在线性可分情况下,训练数据集的样本点与分离超平面距离最近的 样本点的实力称为支持向量,支持向量是使约束条件式 y(i)(wTx(i)+b)≥1, i=1,2,3……m中等号成立的的点。在决定分离超平 面时只有支持向量起作用,而其他实例点并不起作用
这是一个凸二次规划问题。如果求出了该问题的解w*、b*,那么就可以得到最大间隔 分离平面w*x + b* = 0及分类决策函数f(w) = sign(w*x + b* ),即线性可分支持向量 机模型。
关于凸优化的一些简单概念
凸集的定义为:
其几何意义表示为:如果集合C中任意2个元素连线上的点也在集合C中, 则C为凸集。其示意图如下所示:
xyz V
这类附有约束条件的极值问题称为条件极值 条件极值问题的一般形式是等式约束:即在条件组:
的限制下,求目标函数 y f ( x1 , x2 , , xn ) 的极值。
k ( x1 , x2 , , xn ) 0, k 1, 2, , m (m n)
条件极值与拉格朗日乘数法
h( x0 ) f x ( x0 , y0 ) f y ( x0 , y0 ) g ( x0 ) 0
因 即
g
x , y
故有 f x f y 记
x
fx fy
x
fx
fy
x 0 y
y
y
极值点必满足
f x x 0
f y y 0
什么是支持向量机
• 支持向量机学习方法包含构建由简至繁的模型:线性可分支持向量机、 线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过 硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机;当 训练数据近似可分时,通过软间隔最大化,也学习一个线性的分类器, 即线性支持向量机;当训练数据线性不可分时,通过使用核技巧及软 间隔最大化,学习非线性支持向量机。
间隔最大化
支持向量机学习的基本想法是求解能够正确划分训练数据集并且几何 间隔最大的分离超平面,对线性可分的数据集而言,线性可分分离超 平面有无穷多个(等价于感知机),但是几何间隔最大的分离超平面 是唯一的。 间隔最大化的直观解释是:对训练数据集找到几何间隔最大的超平面 意味着以充分大的确信度对训练数据进行分类,也就是说,不仅将正 负实例分开,而且对最难分的实例点(离超平面最近的点)也有足够 大的确信度将它们分开,这样的超平面应该对未知的新实例有很好的 分类预测能力。
条件极值与拉格朗日乘数法
利用拉格朗日乘数法求函数 z f ( x , y ) 在条件 ( x , y ) 0 下的极 值步骤如下: 1. 作拉格朗日函数
L( x , y , ) f ( x , y ) ( x , y )
2. 求拉格朗日函数的极值 先求解拉格朗日函数的偏导数构成的方程组
( x, y) 0
想法:把上面的条件极值点转化为一般极值点问题
条件极值与拉格朗日乘数法
构造一个函数使得其极值点就是上面函数的条件极值点 引入辅助函数 L( x , y , ) f ( x , y ) ( x , y )
则极值点满足:
辅助函数L 称为拉格朗日( Lagrange )函数.利用拉格朗日函数求极值 的方法称为拉格朗日乘数法.
线性可分支持向量机
如何确定分类函数 中的两个参数w和b? 寻找两条边界端或极端划分直线中间的 最大间隔(之所以要寻最大间隔是为了 能更好的划分不同类的点),从而确定 最终的最大间隔分类超平面和分类函数; 进而把寻求分类函数 的问 题转化为对w,b的最优化问题。
函数间隔
一般而言,一个点距离超平面的远近可以表示为分类预测的确信或准 确程度。 在超平面w*x+b=0确定的情况下,|w*x+b|能够相对的表示点x到距 离超平面的远近,而w*x+b的符号与类标记y的符号是否一致表示分 类是否正确,所以,可以用量y*(w*x+b)的正负性来判定或表示分类 的正确性和确信度。 于此,我们便引出了定义样本到分类间隔距离的函数间隔functional margin的概念。我们定义函数间隔functional margin 为:
*此处公式有问题,约束条件左边应除以一个||w||
即我们希望最大化超平面(w,b)关于训练数据集的几何间隔,约束条 件表示的是超平面(w,b)关于每个训练样本点的几何间隔至少是γ。 考虑到几何间隔和函数间隔的关系式,可将这个问题改写为:
间隔最大化
函数间隔的取值并不影响最优化问题的解。事实上,假设将w和b按比例改变为λw和 λb,这时函数间隔成为λ γ’。函数间隔的这一改变对上面最优化问题的不等式约束,对 目标函数的优化也没有影响,也就是说,它产生一个等价的最优化问题。这样,就 可以取γ’=1,将γ’=1代入前面的最优化问题,也即是将离超平面最近的点的距离定义 为1/||w||,由于最大化1/||w||和最小化1/2||w||2等价,于是得到下面的线性可分支 持向量机学习的最优化问题:
条件极值与拉格朗日乘数法
例:要设计一个容量为 V 的长方体开口水箱,试问水箱的长、宽、 高各为多少时,其表面积最小? 为此,设水箱的长、宽、高分别为 x , y , z , 则表面积为
S 2( xz yz) xy
依题意,上述的长、宽、高不仅要符合定义域的要求:x > 0 , y > 0, z > 0, 而且还须满足条件
• 第一部分
线性可分支持向量机 与 硬间隔最大化
线性可分支持向量机
• 下面举个简单的例子,一个二维平面 (一个超平面,在二维空间中的例子就 是一条直线),如下图所示,平面上有 两种不同的点,分别用两种不同的颜色 表示,一种为红颜色的点,另一种则为 蓝颜色的点,红颜色的线表示一个可行 的超平面。 • 从右图中我们可以看出,这条红颜色的 线把红颜色的点和蓝颜色的点分开来了。 而这条红颜色的线就是我们上面所说的 超平面,也就是说,这个所谓的超平面 的的确确便把这两种不同颜色的数据点 分隔开来,在超平面一边的数据点所对 应的 y 全是 -1 ,而在另一边全是 1 。
线性可分支持向量机
接着,我们可以令分类函数: 显然,如果 f(x)=0 ,那么 x 是位于超平 面上的点。我们不妨要求对于所有满 足 f(x)<0 的点,其对应的 y 等于 -1 , 而 f(x)>0 则对应 y=1 的数据点。
当然,有些时候,或者说大部分时候 数据并不是线性可分的,这个时候满足 这样条件的超平面就根本不存在(不过关 于如何处理这样的问题我们后面会讲), 这里先从最简单的情形开始推导,就假 设数据都是线性可分的,亦即这样的超 平面是存在的。
间隔最大化
按照前面的分析,对一个数据点进行分类,当它的 间隔越大的时候, 分类的 可信度越大。对于一个包含 n 个点的数据集,我们可以很自 然地定义它的 间隔为所有这 n 个点的 间隔值中最小的那个。于是, 为了使得分类的可信度高,我们希望所选择的超平面能够最大化这 个间隔值。
间隔最大化
下面考虑如何求得一个几何间隔最大的分离超平面,即最大间隔分 离超平面,具体地,这个问题可以表示为下面的约束最优化问题: