6_支持向量机_分类
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
w i yi ( xi )
i 1 n i i
y
i 1
0
C i i 0, i 1,2,, n
带入Lagrange函数,得优化问题的对偶形式: 在约束条件:
yHale Waihona Puke Baidu
i 1 i
n
i
0
0 i C , i 1,2,, n
下,求下列函数的最大值:
线性不可分情况 对于线性不可分(非线性)问题:采用一个非线性变换φ (x)把输入数据映射到 一个高维特征空间,然后在高维特征空间进行线性分类,最后再映射回到原空 间就成为输入空间的非线性分类。 考虑到可能存在一些样本不能被分离超平面分离,增加一个松弛变量,优化问 n 题为: 1 2
min ( w, ) min 2 w C i
1 n Q( ) i i j yi y j ( xi ) ( x j ) 2 i , j 1 i 1
n
6.2、基于二次规划的支持向量机分类
线性不可分情况(续)——核方法 特征空间的维数非常高,在大多数情况下难以直接在特征空间计算最优分类面。 支持向量机通过定义核函数(Kernel Function)方法将这一问题转化到输入空间 进行计算: 假设有非线性映射φ :Rn→H将输入空间的样本映射到高维特征空间H中,当在特 征空间构造最优分类面时,训练算法仅使用特征空间的点积,即φ (xi)•φ (xj)。 所以,只要构造一个函数K()使得K(xi,xj)=φ (xi)•φ (xj),这样,在高维空间中 实际上只需进行内积计算,不必知道变换φ 的形式。 根据泛函的有关理论,只要一种函数K(xi,xi)满足Mercer条件,它就对应某一变 换空间的内积。满足Mercer条件的内积函数K(xi,xi)称为核函数,常用的核函数 主要有: d次多项式: K ( x, xi ) (1 x xi ) d 高斯径向基函数: K ( x, xi ) exp x xi 2 2 神经网络函数: K ( x, xi ) tanh vx xi c
6.2、基于二次规划的支持向量机分类
线性不可分情况(续)——核方法(续) 优化问题变为: 约束条件:
y
i 1 i
n
i
0
y
s 输出y sgn i yi K xi x b i 1
0 i C , i 1,2,, n
求下列函数的最大值
i 1
约束为
yi w, ( xi ) b 1 i
i 1,2,, n
i 0 i 1,2,, n
其中,C为一常数,起控制对错分样本惩罚的程度的作用,实现在错分样本的比 例与算法复杂度之间的折衷。C值越大,表示主要把重点放在减少分类错误上, C值越小,表示主要把重点放在分离超平面,避免过学习问题。 Lagrange函数定义如下:
w i yi xi ,
i 1 n
b
1 w xs ys
其中,xs为任一支持向量。最后得到的最优分类函数为:
f ( x) sgn w x b
n sgn i yi ( xi x) b i 1
6.2、基于二次规划的支持向量机分类
Q( ) i
i 1 n
1 n i j yi y j K xi x j 2 i , j 1
α1y1
K(x1,x)
对应的分类函数为:
f ( x) sgn i yi K xi x b i 1
n
α2y2
αsys
权值wi=αiyi
y
i 1 i
i
0
i 0, i 1,2, , n
之下对α i求解下列函数的最大值:
1 n Q( ) i i j yi y j ( xi x j ) 2 i , j 1 i 1
n
对偶问题完全是根据训练数据来表达的。所得到的解α i只有一部分(通常是少 部分)不为零,对应的样本就是支持向量。 若 i 为最优解,则
第6章 支持向量机简介
1
引言
2
基于二次规划的支持向量机分类
6.2、基于二次规划的支持向量机分类
线性可分情况 先考虑二维情况下的线性可分的两类样本(○,×), 如图所示,存在很多条可能的分类线能够将训练样 本分开。显然分类线a最好,因为它更远离每一类 样本,风险小。而其他的分类线离样本较近,只要 样本有较小的变化,将会导致错误的分类结果。因 此分类线a是代表一个最优的线性分类器。 所谓最优分类线就是要求分类线不但能将两类无误 地分开,而且要使两类的分类间隔最大。图中H是 最优分类线,H1和H2分别为过各类样本中离分类线 最近的点且平行于分类线的直线,H1和H2之间的距 离叫做两类的分类空隙或者分类间隔(margin)。 将二维推广到高维,最优分类线就成为最优分类超 平面。
智能信息处理技术
华北电力大学
第6章 支持向量机简介
1
引言
2
基于二次规划的支持向量机分类
6.1、引言
支持向量机(Support Vector Machine,简称SVM)是在统计学习理论的基础上 发展起来的一种新的机器学习方法,它是建立在统计学习理论的VC维理论和结 构风险最小化原则上的,避免了局部极小点(支持向量机算法是一个凸二次优 化问题,能够保证找到的极值解就是全局最优解),并能有效地解决过学习问 题,具有良好的推广性能和较好的分类精确性(由有限训练样本得到的决策规 则对独立的测试集仍能够得到小的误差)。 支持向量机在解决小样本、非线性及高维模式识别问题中表现出的许多特有的 优势,使它成为一种优秀的机器学习算法。目前,支持向量机已经成为国际上 人工智能领域和机器学习领域新的研究热点。
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法(续) 序贯最小优化算法(SMO) 该算法是将分解算法推向极致得出的,每次迭代仅优化两个点的最小子集 (工作集中只有两个样本)。该算法的优点在于两个数据点的优化问题可以获 得解析解,从而不需要将二次规划优化算法作为算法的一部分。它的工作集 的选择不是传统的最陡下降法,而是采用启发式,通过两个嵌套循环来寻找 优化的样本变量。在外循环寻找不满足要求的样本,然后在内循环再选择另 一个样本,进行一次优化,然后再循环进行下一次优化,直到全部样本都满 足优化条件。
n n n 1 L( w, b, , ) ( w w) C i i yi w ( xi ) b 1 i ii 2 i 1 i 1 i 1
式中,α i≥0,γ i≥0。
6.2、基于二次规划的支持向量机分类
线性不可分情况(续) 分别对w,b和ξ i求偏微分并置0,得 n
a c
b
H2
H
H1
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 设线性可分样本集为(xi,yi),i=1,2,…n,x∈Rd,y∈{+1,-1}是类别号。d维空间 中线性判别函数的一般形式为g(x)=w•x+b,则分类超平面方程为: w•x+b=0 其中,w为分类超平面的法线,是可调的权值向量;b为偏置,决定相对原点的 位置。当两类样本是线性可分时,满足条件: (w•xi)+b≥+1 yi=+1 (w•xi)+b≤-1 yi=-1 1 b 超平面(w•xi)+b=+1距离原点的垂直距离为 w ,而超平面(w•xi)+b=-1距离 1 b 1 b 1 b 2 原点的垂直距离为 w ,因此分类间隔就等于 ,所以使间 w w 2 隔最大等价于使 w (或 w )最小。 若要求分类线对所有样本正确分类,则要求它满足: yi[(w•xi)+b]-1≥0,i=1,2,…,n 2 因此满足该条件且使 w 最小的分类超平面就是最优分类超平面。 过两类样本中离分类超平面最近点且平行于最优分类面的超平面的训练样本就 是使等号成立的哪些样本,它们叫做支持向量(Support Vectors)。
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 最优分类超平面问题可以表示成如下约束优化问题
min ( w) min
w ,b
其约束条件为 yi[(w•xi)+b]-1≥0,i=1,2,…,n 定义Lagrange函数: n
L( w, b, )
1 w 2
2
min
w ,b
6.2、基于二次规划的支持向量机分类
支持向量机的多类分类问题 “一对多”方法 其思想是把某一种类别的样本当作一个类别,剩余其他样本当作另一个类别, 这样就变成了一个二分类问题。然后在剩余的样本中重复上面的步骤。这种 方法需要构造k个SVM模型,其中k是待分类的个数。 “一对一”方法 在多类分类中,每次只考虑两类样本,即对每两类样本设计一个SVM模型, 因此总共需要设计k(k-1)/2个SVM模型。
n
1
n f ( x) sgn i yi K xi x b i 1
为+1或-1,决定x属于哪一类。
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法
支持向量机求解实际是二次规划问题,经典的解法有积极方集法、对偶 方法、内点算法等。当训练样本增多时,这些算法便面临“维数灾难” 将导致无法训练,近年来许多学者提出了多种算法来解决对偶寻优问题。
基于s个支持 K(x2,x) … K(xs,x) 向量x1,x2,…, Xs的非线性变 换(内积)
… x1 x2 xd
输入向量x
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法 ① 给出一组输入样本xi,i=1,2,…,n及其对应的期望输出yi∈{+1,-1}; n ② 在约束条件: i yi 0
块算法 选择一部分样本构成工作样本集,在工作样本集上使用通用的优化算法训练 数据。算法保持了支持向量而剔除其中的非支持向量,并用训练结果对剩余 样本进行检验,将不符合训练结果的样本与本次结果的支持向量合并成为一 个新的工作样本集,重新训练,如此重复直至获得最优结果。当支持向量的 数目远远小于训练样本数目时,块算法能够大大提高运算速度。 分解算法 分解算法把问题分解成为固定样本数的子问题,工作样本集的大小固定在算 法速度可以容忍的限度内,每次只针对工作集中固定样本个数进行训练。在 对工作集进行优化训练后,该方法只更新乘子α i的一个固定大小的子集, 其他保持不变。即每当一个新样本加入到工作集中,工作集中另一个样本要 被移走,即使支持向量的个数超过工作样本集的大小也不改变工作样本集的 规模。然后再进行优化训练,重复进行。该方法关键是如何选择一种最优工 作集,使得对应的二次规划子问题的优化成为整个目标函数的改进。
1 ( w w) 2
其中,α i>0为Lagrange系数。分别对w和b求偏微分并令它们等于0,得
n L( w, b, ) w yi i xi 0 w i 1 n L( w, b, ) yi i 0 b i 1
1 ( w w) i yi w xi b 1 2 i 1
n
w yi i xi
i 1
y
i 1 i
n
i
0
带入原始Lagrange函数,得
1 n Q( ) i i j yi y j ( xi x j ) 2 i , j 1 i 1
n
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 因此,原问题转换为对偶问题: 在约束条件: n
i 1
0 i C , i 1,2,, n
下求解下面函数的最大值,得到 i ;
1 n Q( ) i i j yi y j K xi x j 2 i , j 1 i 1
n
w xs ③ 计算:w i yi xi , b ys i 1 其中xs为一个特定的支持向量; ④ 对于待分类向量x,选择某一特定类型的核函数K(x,xi),计算:
i 1 n i i
y
i 1
0
C i i 0, i 1,2,, n
带入Lagrange函数,得优化问题的对偶形式: 在约束条件:
yHale Waihona Puke Baidu
i 1 i
n
i
0
0 i C , i 1,2,, n
下,求下列函数的最大值:
线性不可分情况 对于线性不可分(非线性)问题:采用一个非线性变换φ (x)把输入数据映射到 一个高维特征空间,然后在高维特征空间进行线性分类,最后再映射回到原空 间就成为输入空间的非线性分类。 考虑到可能存在一些样本不能被分离超平面分离,增加一个松弛变量,优化问 n 题为: 1 2
min ( w, ) min 2 w C i
1 n Q( ) i i j yi y j ( xi ) ( x j ) 2 i , j 1 i 1
n
6.2、基于二次规划的支持向量机分类
线性不可分情况(续)——核方法 特征空间的维数非常高,在大多数情况下难以直接在特征空间计算最优分类面。 支持向量机通过定义核函数(Kernel Function)方法将这一问题转化到输入空间 进行计算: 假设有非线性映射φ :Rn→H将输入空间的样本映射到高维特征空间H中,当在特 征空间构造最优分类面时,训练算法仅使用特征空间的点积,即φ (xi)•φ (xj)。 所以,只要构造一个函数K()使得K(xi,xj)=φ (xi)•φ (xj),这样,在高维空间中 实际上只需进行内积计算,不必知道变换φ 的形式。 根据泛函的有关理论,只要一种函数K(xi,xi)满足Mercer条件,它就对应某一变 换空间的内积。满足Mercer条件的内积函数K(xi,xi)称为核函数,常用的核函数 主要有: d次多项式: K ( x, xi ) (1 x xi ) d 高斯径向基函数: K ( x, xi ) exp x xi 2 2 神经网络函数: K ( x, xi ) tanh vx xi c
6.2、基于二次规划的支持向量机分类
线性不可分情况(续)——核方法(续) 优化问题变为: 约束条件:
y
i 1 i
n
i
0
y
s 输出y sgn i yi K xi x b i 1
0 i C , i 1,2,, n
求下列函数的最大值
i 1
约束为
yi w, ( xi ) b 1 i
i 1,2,, n
i 0 i 1,2,, n
其中,C为一常数,起控制对错分样本惩罚的程度的作用,实现在错分样本的比 例与算法复杂度之间的折衷。C值越大,表示主要把重点放在减少分类错误上, C值越小,表示主要把重点放在分离超平面,避免过学习问题。 Lagrange函数定义如下:
w i yi xi ,
i 1 n
b
1 w xs ys
其中,xs为任一支持向量。最后得到的最优分类函数为:
f ( x) sgn w x b
n sgn i yi ( xi x) b i 1
6.2、基于二次规划的支持向量机分类
Q( ) i
i 1 n
1 n i j yi y j K xi x j 2 i , j 1
α1y1
K(x1,x)
对应的分类函数为:
f ( x) sgn i yi K xi x b i 1
n
α2y2
αsys
权值wi=αiyi
y
i 1 i
i
0
i 0, i 1,2, , n
之下对α i求解下列函数的最大值:
1 n Q( ) i i j yi y j ( xi x j ) 2 i , j 1 i 1
n
对偶问题完全是根据训练数据来表达的。所得到的解α i只有一部分(通常是少 部分)不为零,对应的样本就是支持向量。 若 i 为最优解,则
第6章 支持向量机简介
1
引言
2
基于二次规划的支持向量机分类
6.2、基于二次规划的支持向量机分类
线性可分情况 先考虑二维情况下的线性可分的两类样本(○,×), 如图所示,存在很多条可能的分类线能够将训练样 本分开。显然分类线a最好,因为它更远离每一类 样本,风险小。而其他的分类线离样本较近,只要 样本有较小的变化,将会导致错误的分类结果。因 此分类线a是代表一个最优的线性分类器。 所谓最优分类线就是要求分类线不但能将两类无误 地分开,而且要使两类的分类间隔最大。图中H是 最优分类线,H1和H2分别为过各类样本中离分类线 最近的点且平行于分类线的直线,H1和H2之间的距 离叫做两类的分类空隙或者分类间隔(margin)。 将二维推广到高维,最优分类线就成为最优分类超 平面。
智能信息处理技术
华北电力大学
第6章 支持向量机简介
1
引言
2
基于二次规划的支持向量机分类
6.1、引言
支持向量机(Support Vector Machine,简称SVM)是在统计学习理论的基础上 发展起来的一种新的机器学习方法,它是建立在统计学习理论的VC维理论和结 构风险最小化原则上的,避免了局部极小点(支持向量机算法是一个凸二次优 化问题,能够保证找到的极值解就是全局最优解),并能有效地解决过学习问 题,具有良好的推广性能和较好的分类精确性(由有限训练样本得到的决策规 则对独立的测试集仍能够得到小的误差)。 支持向量机在解决小样本、非线性及高维模式识别问题中表现出的许多特有的 优势,使它成为一种优秀的机器学习算法。目前,支持向量机已经成为国际上 人工智能领域和机器学习领域新的研究热点。
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法(续) 序贯最小优化算法(SMO) 该算法是将分解算法推向极致得出的,每次迭代仅优化两个点的最小子集 (工作集中只有两个样本)。该算法的优点在于两个数据点的优化问题可以获 得解析解,从而不需要将二次规划优化算法作为算法的一部分。它的工作集 的选择不是传统的最陡下降法,而是采用启发式,通过两个嵌套循环来寻找 优化的样本变量。在外循环寻找不满足要求的样本,然后在内循环再选择另 一个样本,进行一次优化,然后再循环进行下一次优化,直到全部样本都满 足优化条件。
n n n 1 L( w, b, , ) ( w w) C i i yi w ( xi ) b 1 i ii 2 i 1 i 1 i 1
式中,α i≥0,γ i≥0。
6.2、基于二次规划的支持向量机分类
线性不可分情况(续) 分别对w,b和ξ i求偏微分并置0,得 n
a c
b
H2
H
H1
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 设线性可分样本集为(xi,yi),i=1,2,…n,x∈Rd,y∈{+1,-1}是类别号。d维空间 中线性判别函数的一般形式为g(x)=w•x+b,则分类超平面方程为: w•x+b=0 其中,w为分类超平面的法线,是可调的权值向量;b为偏置,决定相对原点的 位置。当两类样本是线性可分时,满足条件: (w•xi)+b≥+1 yi=+1 (w•xi)+b≤-1 yi=-1 1 b 超平面(w•xi)+b=+1距离原点的垂直距离为 w ,而超平面(w•xi)+b=-1距离 1 b 1 b 1 b 2 原点的垂直距离为 w ,因此分类间隔就等于 ,所以使间 w w 2 隔最大等价于使 w (或 w )最小。 若要求分类线对所有样本正确分类,则要求它满足: yi[(w•xi)+b]-1≥0,i=1,2,…,n 2 因此满足该条件且使 w 最小的分类超平面就是最优分类超平面。 过两类样本中离分类超平面最近点且平行于最优分类面的超平面的训练样本就 是使等号成立的哪些样本,它们叫做支持向量(Support Vectors)。
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 最优分类超平面问题可以表示成如下约束优化问题
min ( w) min
w ,b
其约束条件为 yi[(w•xi)+b]-1≥0,i=1,2,…,n 定义Lagrange函数: n
L( w, b, )
1 w 2
2
min
w ,b
6.2、基于二次规划的支持向量机分类
支持向量机的多类分类问题 “一对多”方法 其思想是把某一种类别的样本当作一个类别,剩余其他样本当作另一个类别, 这样就变成了一个二分类问题。然后在剩余的样本中重复上面的步骤。这种 方法需要构造k个SVM模型,其中k是待分类的个数。 “一对一”方法 在多类分类中,每次只考虑两类样本,即对每两类样本设计一个SVM模型, 因此总共需要设计k(k-1)/2个SVM模型。
n
1
n f ( x) sgn i yi K xi x b i 1
为+1或-1,决定x属于哪一类。
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法
支持向量机求解实际是二次规划问题,经典的解法有积极方集法、对偶 方法、内点算法等。当训练样本增多时,这些算法便面临“维数灾难” 将导致无法训练,近年来许多学者提出了多种算法来解决对偶寻优问题。
基于s个支持 K(x2,x) … K(xs,x) 向量x1,x2,…, Xs的非线性变 换(内积)
… x1 x2 xd
输入向量x
6.2、基于二次规划的支持向量机分类
支持向量机的学习算法 ① 给出一组输入样本xi,i=1,2,…,n及其对应的期望输出yi∈{+1,-1}; n ② 在约束条件: i yi 0
块算法 选择一部分样本构成工作样本集,在工作样本集上使用通用的优化算法训练 数据。算法保持了支持向量而剔除其中的非支持向量,并用训练结果对剩余 样本进行检验,将不符合训练结果的样本与本次结果的支持向量合并成为一 个新的工作样本集,重新训练,如此重复直至获得最优结果。当支持向量的 数目远远小于训练样本数目时,块算法能够大大提高运算速度。 分解算法 分解算法把问题分解成为固定样本数的子问题,工作样本集的大小固定在算 法速度可以容忍的限度内,每次只针对工作集中固定样本个数进行训练。在 对工作集进行优化训练后,该方法只更新乘子α i的一个固定大小的子集, 其他保持不变。即每当一个新样本加入到工作集中,工作集中另一个样本要 被移走,即使支持向量的个数超过工作样本集的大小也不改变工作样本集的 规模。然后再进行优化训练,重复进行。该方法关键是如何选择一种最优工 作集,使得对应的二次规划子问题的优化成为整个目标函数的改进。
1 ( w w) 2
其中,α i>0为Lagrange系数。分别对w和b求偏微分并令它们等于0,得
n L( w, b, ) w yi i xi 0 w i 1 n L( w, b, ) yi i 0 b i 1
1 ( w w) i yi w xi b 1 2 i 1
n
w yi i xi
i 1
y
i 1 i
n
i
0
带入原始Lagrange函数,得
1 n Q( ) i i j yi y j ( xi x j ) 2 i , j 1 i 1
n
6.2、基于二次规划的支持向量机分类
线性可分情况(续) 因此,原问题转换为对偶问题: 在约束条件: n
i 1
0 i C , i 1,2,, n
下求解下面函数的最大值,得到 i ;
1 n Q( ) i i j yi y j K xi x j 2 i , j 1 i 1
n
w xs ③ 计算:w i yi xi , b ys i 1 其中xs为一个特定的支持向量; ④ 对于待分类向量x,选择某一特定类型的核函数K(x,xi),计算: