支持向量机与AdaBoost的结合算法研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

α i
才可能为非零值
,
即只有支持向量影响最终的划分结果

当训练样本为非线性可分时 , 可以通过一个非线性函数
φ( ·)将训练样本集 x映射到一个高维线性特征空间 ,在这个
维数可能无穷大的线性空间中构造最优分类超平面 ,并得到分
类判别函 数 。因 此 , 在 非 线 性 情 况 下 , 分 类 超 平 面 为 w ×
2 算法设计
SVM 算法与 AdaBoost算法有一个共同点 ,即在学习过程
中都是不断 地 迭 代 训 练 最 富 信 息 的 样 本 点 。本 文 的 Boost2
SVM 算法结合了两种算法的优点 ,在学习过程中重点训练错
分的样本点 ,即支持向量 ,试图通过结合这一特点提高算法的
分类性能 。
本算法是以 L IBSVM [5 ]为基础平台的 , L IBSVM 软件包是
那么在构造下一个训练集中 ,它被选中的概率就被降低 ;相反 ,
如果某个样本点没有被正确分类 ,那么它的权重就得到提高 。
通过这样的方式 , AdaBoost方法能够聚焦于那些较困难 (更富
信息 )的样本上 。在其具体实现上 ,最初令每个样本的权重都
相等 。对于第 k次迭代操作 ,根据这些权重来选取样本点 ,进
(4)
其中 :αi ≥0, ∑αi yi = 0。
于是
,
最优分类问题就转换为对
α i
求解式
( 4)的最大值问

。其中
α i
是与每个样本对应的拉格朗日乘子
。这是一个不
等式约束下二次函数寻优问题 , 存在惟一解 , 且其最优解满足
条件
α i
(
yi
(wT
x
+
b)
-
1)
= 0, Π i。显然 ,只有支持向量的系数
·78·
计算机应用研究
第 26卷
i∑=l 1αi -
(1
/2)
l

i =1
j∑=l 1ααi j
y
i
y
j
K
(
xi,
xj)
(7)
使得
0
≤α i
≤c,
∑l α
i=1 i
yi
= 0。
上式中的 K ( xi, xj ) =φ( xi ) ×φ( xj )称为核函数 。在 SVM
中 ,不同的内积核函数将形成不同的算法 。常用的核函数主要
而训练分类器 Ck ;然后根据这个分类器来提高被它错分的那 些样本点的权重 ,并降低可以被正确分类的样本权 。权重更新
过的样本集被用来训练下一个分类器 Ck +1 ,整个训练过程如 此进行下去 。
当改变样本点权重后 ,必须考虑到分类器 Ck 的误差率
β k
。βk
对最终形成的各分量分类器的决策权有很大的影响
在大多数情况下 ,如果 kmax足够大 ,总体分类器的训练误差概 率就能够任意小。但是在实际应用中 ,通常令 kmax比达到零误差 率所需要的值要小一些 ,这样做的好处是增强分类器的推广能力。
虽然在原理上比较大的 kmax值可能导致过拟合 ,但是仿真实验却 表明 ,甚至当 kmax非常大时 ,过拟合现象也很少发生。
支持向量机
SVM 的基本思想是在二维两类现行可分情况下 ,有很多 可能的线性分类器可以把这组数据分开 ,但是只有一个使两类 的分类间隔 (margin)最大 ,这个分类器就是最优分类超平面 。 假设该分类超平面表示为 wT x + b = 0, x∈Rd , 它对样本集中任 意样本点都满足式 ( 1) :
迭代学习后 ,根据分量学习器对其进行的分类正确与否更新样
本点的权重 。这样 ,在下一次迭代学习时就可以根据最新的权
重选择待训练 m 个样本点构成新的训练集 。具体的 Boost2
1
算法
基本 Boosting方法有许多不同的变形 ,其中最流行的一种
就是 AdaBoost方法 。这个方法允许设计者不断地加入新的分
类器 ,直到达到某个预定的足够小的误差率 。在 AdaBoost方
法中 ,每个训练样本都被赋予一个权重 ,表明它被某个分量分
类器选入训练集的概率 。如果某个样本点已经被准确地分类 ,
第 26卷第 1期 2009年 1月
计算机应用研究 App lication Research of Computers
Vol. 26 No. 1 Jan. 2009
支持向量机与 AdaBoost的结合算法研究 3
张晓龙 , 任 芳
(武汉科技大学 计算机科学与技术学院 , 武汉 430081)
Abstract: This paper described an algorithm ———Boost2SVM , which put SVM into A daBoost framework, trying to imp rove the learning accuracy of the SVM algorithm. The experimental results show that the p roposed method has a competitive learning ability and acquires better accuracy than SVM. Key words: SVM; Boosting algorithm; A daBoost algo rithm; algorithm op tim ization
摘 要 : 将支持向量机与 AdaBoost算法相结合 ,称其为 Boost2SVM。从提升泛化性能和预测精度等方面对支持 向量机的学习算法进行了研究与比较 。Boost2SVM 实验结果表明 ,该算法提高了支持向量机的预测精度并优化 了学习机的性能 。 关键词 : 支持向量机 ; 增强法 ; 自适应增强算法 ; 算法优化 中图分类号 : TP301. 6 文献标志码 : A 文章编号 : 100123695 (2009) 0120077202
= i∑= 1αi -
(
1
/2)

i=1
j∑= 1ααi j
y
i
yφj (
xi
)φ(
xj)
=
收稿日期 : 2008203222; 修回日期 : 2008206205 基金项目 : 国家自然科学基金资助项目 (60674115) 作者简介 :张晓龙 (19632) ,男 ,江西人 ,教授 ,博士 ,主要研究方向为机器学习 、数据挖掘 ;任芳 (19842) ,女 ,河北沧州人 ,硕士研究生 ,主要研究 方向为机器学习 ( r020f@163. com ).
L (w , b,α) = w Tw /2 - i∑=l 1αi [ yi (w T xi + b) - 1 ]
(2)
yi (w T x + b) ≥1; i = 1, 2, …, l
(3)
对式 ( 2)求其偏导可得其相应的对偶形式 :
L (w, b,α) = i∑=l 1αi - ( 1 /2) ∑yi yαj αi j ( xi ×xj )
支持 向 量 机 是 建 立 在 统 计 学 习 理 论 的 VC 维 (Vapnik2 Chervonenkis dimension)理论和结构风险最小化原则基础上的 新型机器学习方法 。最初于 20世纪 90年代由 Vapnik[1 ]提出 , 近年来在其理论研究和算法实现方面都取得了突破性进展 。 与传统统计学的经验风险最小化 ( ERM )不同 ,支持向量机基 于结构风险最小化 ( SRM )原理 [2 ] ,从而表现出优于已有方法 的性能 ,成为克服维数灾难和过学习等传统困难的有力手段 , 并且迅速引起各领域的注意和研究兴趣 ,取得了大量的应用研 究成果 ,推动了各领域的发展 。但是 ,在实际应用支持向量机 方法时 ,经常会遇到不平衡数据集或高精度要求等问题 。为保 证稳定的学习性能 ,本文引入了模式识别中分类器设计的重采 样技术 ———Boosting方法 (增强法 ) 。Boosting是一种试图提升 任意给定学习算法精度的普遍方法 ,可以集成任何分类算法的 算法框架 ,有比较完整的数学理论基础 。与其他算法相比 , Boosting具 有 适 应 性 强 、精 度 高 的 优 点 。AdaBoost ( adap tive boosting,自适应增强 )算法是 Freund等人 [3 ]提出的 Boosting算 法的一种变形 ,它有效地解决了早期 Boosting算法在实际应用 中的困难 ,其最终判别准则的精确度是依赖所有学习过程得出 的假设 ,因而更能全面地挖掘学习算法的能力 。本文将 SVM 作为 AdaBoost集成学习框架的学习器 ,结合 UC I数据进行实 验和比较 。
本文选择的核函数为径向基核函数 。径向基核函数有两个优
点 : a)它可以将数据特征映射到更高维的特征空间 ,而并不增
加计算复杂度 ; b)径向基核函数只有一个参数 ,也降低了计算
复杂度 。
算法原理
1
算法
Boosting算法 [4 ]的目标是提高任何给定的学习算法的分 类准确率 。在 Boosting算法中 ,首先根据已有的训练样本集设 计一个分类器 ,要求该分类器的准确率比平均性能要好 ;然后 依次顺序地加入多个分量分类器系统 ;最后形成一个总体分类 器 ,它对训练样本集的准确率能够任意高 。在这种情况下 ,分 类准确率被增强了 。概括地说 ,此方法依次训练一组分量分类 器 ,其中每个分量分类器的训练集都选择自己已有的其他各个 分类器所给出的最富信息 (most information) 的样本点组成 。 而最终的判决结果则是根据这些分量分类器的结果共同决定 。
w T xi + b≥ + 1 当 yi = + 1时 (1)
w T xi + b≤ - 1 当 yi = - 1时 这样 ,任意样本点到分类超平面的距离 margin = 2 / ‖w ‖。因 此使 margin最大的超平面就是最优分类超平面 ,要使分类间 隔 2 / ‖w ‖最大 ,就等价于使 ‖w ‖ /2最小 。因此可将构造最 优超平面的问题转换为拉格朗日函数 :
φ( x) + b = 0。
最优分类面问题可描述为
m in ‖w ‖2
w, b,ξ
/2
+
ci∑=l 1ξi
(5)
其中 :ξ为线性不可分问题的松弛变量 ; c为惩罚参数 ,使得
yi (w
×φ( xi )
+
b)
≥1
- ξi;
ξ i
≥0;
i = 1, 2, …,
l
(6)
进而可得到其对偶形式为
l
ll
L (w, b,ξ,α)
,

文定义
β k
=
(1 /2)
ln [ ( 1 - Ek ) / Ek ], hk ( xi ) 为分量分类器 Ck
给出的对任意样本点 xi 的标记 ( + 1或 21) 。最后总体分类的
判决可以使用各个分量分类器加权平均来得到 :
g (ቤተ መጻሕፍቲ ባይዱx) = kkm∑=a1xβk hk ( x)
(8)
这样 ,最后的判定规则简单形式就是 sgn[ g ( x) ]。
Study on combinability of SVM and AdaBoost algorithm
ZHANG Xiao2long, REN Fang
( S chool of Com pu ter S cience & Technology, W uhan U n iversity of S cience & Technology, W uhan 430081, China)
有以下几种 :
a)线性核函数 , K ( x, xi ) = x ×xi; b)多项式核函数 , K ( x, xi ) = [ ( x ×xi ) + 1 ]q; c)径向基核函数 , K ( x, xi ) = exp ( - | x - xi |2 ) /σ2 ) ; d) Sigmoid核函数 , K ( x, xi ) = tahn ( v ( x ×xi ) + c) 。 核函数的作用是可以将数据特征映射到高维的特征空间 。
由台湾大学林智仁教授等人开发完成的 。本文所采用的训练
算法是由 L IBSVM [6 ]软件包中提供的 SMO[7 ]算法 。其中 ,训练 算法所用到的参数 C、γ(γ即为 RBF核函数中 σ的倒数 )的选
择是由 L IBSVM 软件包中的 grid. py运用网格法实现的 。
输入数据集的格式为 ( yi, xi1 , …, xin ) 。其中 : n 为样本点 的特征个数 ; yi 为表示正负样本的标志 。为了得到每次迭代学 习的最富信息 ,本文对各样本点添加了一个属性 D i, 用于表示 训练样本的权重 。在迭代学习前对其进行初始化 ,随后在每次
相关文档
最新文档