支持向量机训练算法综述_姬水旺
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于训练样本数很大或支持向量数很大的问题 ,块算法仍 然无法将矩阵放入内存中 。
3 分解算法( Decomposition Algorithm) 当支持向量的数目远远小于训练样本数目时 ,块算法Biblioteka Baidu
显然能够大大提高运算速度 ;然而 ,如果支持向量的数目 本身就比较多 ,随着算法迭代次数的增多 ,工作样本集也 会越来越大 ,算法依旧会变得十分复杂 。因此 ,如果把问 题分解成为固定样本数的子问题 :工作样本集的大小固定 在算法速度可以容忍的限度内 ,迭代过程中只是将剩余样 本中部分“情况最糟的样本”与工作样本集中的样本进行 等量交换 ,即使支持向量的个数超过工作样本集的大小也 不改变工作样本集的规模 ,而只对支持向量中的一部分进 行优化 ,这就是分解算法的基本思想 。
i =1
下 ,求
l
∑ ∑ W (α) = αi i =1
1 2
ααi jyiyj{ Ψ( xi) ·Ψ( xj) }
i,J
∑ ∑ l
= αi -
i =1
1 2
ααi jyiyj K ( xi , xj)
i,J
(3)
的最 大 值 , 其 中 K ( xi , xj) = Ψ( xi) ·Ψ( xj) 是 满 足
训练 SVM 的本质是解决一个二次规划问题[4 ] :
收稿日期 :2003 - 06 - 13 作者简介 :姬水旺 (1977 —) ,男 ,陕西府谷人 ,硕士 ,研究方向为机器 学习 、模式识别 、数据挖掘 。
在约束条件
0 Φ αi Φ C , i = 1 , …, l
(1)
l
∑αiyi = 0
(2)
分解算法最早是由 Osuna 等人[7 ] 提出的 。后来 C. W. Hsu 和 T. Joachims[8 ,9 ]等人又对其进行了改进 。在文 献[ 7 ,10 ]中 ,麻省理工学院生物与计算学习中心的 Edgar Osunal 等人介绍了一种具体的算法 ,并对人脸识别问题进 行了实验 。他们将样本集分为两个集合 B 和 N ,集合 B 中 包含 b 个样本 ,他们作为子问题工作样本集进行 SVM 训 练 ,集合 N 中 n 有个样本 ,且 b + n = l ,在每一个子问题 的训练过程中 , 所有 N 中的样本所对应的 Lagrange 乘数 固定不变 。子问题训练结束后 , 用所得到的决策函数对 N 中的样本进行测试 ,用违反 Kohn - Tucker 条件 (公式 7~ 8) 最严重的样本替换初始工作集中 Lagrange 乘子为零的 样本 ,于是可以按照以下步骤迭代求解 :
(1) 随机选择 b 个样本组成集合 B ,构造子问题 ; (2) 求子问题最优解αi , i ∈ B 及 b ,并置αj = 0 , j ∈
N; (3) 计算 Fj , j ∈ N ,找出其中不满足条件 (公式 7 ~
8) 的样本 j ,与 B 中满足αi = 0 的样本 i 交换 ,构成新的子 问题 ,返回第二步 ,直到 N 中所有样本满足条件 (公式 7~ 8) 。
的训练速度就必然很慢 ,这是阻碍 SVM 广泛应用的一个
很大的障碍 。其主要原因是 ,首先 ,SVM 方法需要计算和
存储核函数矩阵 ,当样本点数目较大时 ,需要很大的内存 ,
例如 ,当样本点数目超过 4 000 时 ,存储核函数矩阵需要
多达 128MB 内存[6 ] ,这使得在大样本情况下不可能将整
第
14 卷 第 1 2004 年 1 月
期
Micro微com p机ute r 发Dev e展lopment
VoJla. n1.4
No . 2004
1
支持向量机训练算法综述
姬水旺 ,姬旺田
(陕西移动通信有限责任公司 ,陕西 西安 710082)
个矩阵同时保存在内存中 ,增加了虚拟内存页替换的频
率 ;其次 ,SVM 在二次型寻优过程中要进行大量的矩阵运
算 ,多数情况下 ,矩阵运算占用了算法时间的主要部分 。
SVM 方法的训练速度是限制它的广泛应用的主要原
因 ,近年来人们针对方法本身的特点提出了许多算法来解
决对偶寻优问题 ,这些算法的一个共同的思想就是采用分
摘 要 :训练 SVM 的本质是解决二次规划问题 ,在实际应用中 ,如果用于训练的样本数很大 ,标准的二次型优化技术就很 难应用 。针对这个问题 ,研究人员提出了各种解决方案 ,这些方案的核心思想是先将整个优化问题分解为多个同样性质的 子问题 ,通过循环解决子问题来求得初始问题的解 。由于这些方法都需要不断地循环迭代来解决每个子问题 ,所以需要的 训练时间很长 ,这也是阻碍 SVM 广泛应用的一个重要原因 。文章系统回顾了 SVM 训练的三种主流算法 :块算法 、分解算 法和顺序最小优化算法 ,并且指出了未来发展方向 。 关键词 :统计学习理论 ;支持向量机 ;训练算法 中图分类号 : TP30116 文献标识码 :A 文章编号 : 1005 - 3751 (2004) 01 - 0018 - 03
而治之的原则将原问题分解为规模较小的子问题 ,通过循
环解决一系列子问题来求得原问题的解 。根据分解策略 、
分解后子问题的大小以及子问题的求解策略可以将现有
的训练算法分为三种 :块算法 、分解算法和顺序最小优化
算法 。
2 块算法( Chunking Algorithm) 块算法最早是由 Boser 等人[1 ] 提出来的 ,它的出发点
Mercer 定理[4] 条件的核函数 。
如果令 Λ = (α1 ,α2 , …,αl) T , Dij = yiyj K ( xi , xj)
以上问题就可以写为 :
在约束条件
ΛTy = 0
(4)
0 ΦΛ Φ C
(5)
下 ,求
W (Λ)
= ΛTl -
1 2
ΛTDΛ
(6)
的最大值 。
由于矩阵 D 是非负定的 , 这个二次规划问题是一个 凸函数的优化问题 ,因此 Kohn - Tucker 条件[5 ] 是最优点
是 :删除矩阵中对应于 Lagrange 乘数为零的行和列不会 对最终结果产生影响 。对于给定的训练样本集 ,如果其中 的支持向量是已知的 ,寻优算法就可以排除非支持向量 , 只需对支持向量计算权值 ( 即 Lagrange 乘数) 即可 。但 是 ,在训练过程结束以前支持向量是未知的 ,因此 ,块算法 的目标就是通过某种迭代方式逐步排除非支持向量 。具 体的做法是 ,在算法的每一步中块算法解决一个包含下列 样本的二次规划子问题 :即上一步中剩下的具有非零 La2 grange 乘数的样本 ,以及 M 个 (事先确定的) 不满足 Kohn - Tucker 条件 (公式 7~8) 的最差的样本 ;如果在某一步 中 ,不满足 Kohn - Tucker 条件的样本数不足 M 个 ,则这 些样本全部加入到新的二次规划问题中 。每个二次规划 子问题都采用上一个二次规划子问题的结果作为初始值 。 在最后一步时 ,所有非零 Lagrange 乘数都被找到 ,因此最 后一步解决了初始的大型二次规划问题 。块算法将矩阵 的规模从训练样本数的平方减少到具有非零 Lagrange 乘 数的样本数的平方 ,大大减少了训练过程对存储的要求 , 对于一般的问题这种算法可以满足对训练速度的要求 。
Osuna 等证明了一个定理 ,该定理指出 : 如果存在不 满足 Kohn - Tucker 条件的样本 ,那么在把它加入到上一 个子问题的集合中后 , 重新优化这个子问题 , 则可行点 (Feasible Point) 依然满足约束条件 ,且性能严格地改进。 因此 ,如果每一步至少加入一个不满足 Kohn - Tucker 条件 的样本 ,一系列的二次规划子问题可保证最后单调收敛。
(8)
αi = C Ζ yif ( xi) Φ 1
(9)
其中 f ( xi) 为 SVM 决策函数关于第 i 个样本的输出 。
传统的标准二次型优化技术大都是针对矩阵 D 的维
数较低的情况进行讨论的[5 ] ,即假设同时可以方便地对矩
阵的所有行和列进行操作 ,对于 SVM 的训练问题矩阵 D
的维数就是训练样本的个数 ,因此在大样本情况下 SVM
0 引 言 支持向量机 ( Support Vector Machine) 是贝尔实验室
研究人员 V. Vapnik[1~3 ] 等人在对统计学习理论三十多 年的研究基础之上发展起来的一种全新的机器学习算法 , 也使统计学习理论第一次对实际应用产 生 重 大 影 响 。 SVM 是基于统计学习理论的结构风险最小化原则的 ,它 将最大分界面分类器思想和基于核的方法结合在一起 , 表现出了很好的泛化能力 。由于 SVM 方法有统计学习 理论作为其坚实的数学基础 ,并且可以很好地克服维数灾 难和过拟合等传统算法所不可规避的问题 ,所以受到了越 来越多的研究人员的关注 。近年来 ,关于 SVM 方法的研 究 ,包括算法本身的改进和算法的实际应用 ,都陆续提了 出来 。尽管 SVM 算法的性能在许多实际问题的应用中 得到了验证 ,但是该算法在计算上存在着一些问题 ,包括 训练算法速度慢 、算法复杂而难以实现以及检测阶段运算 量大等等 。
A Tutorial Survey of Support Vector Machine Tra ining Algorithms
J I Shui2wang ,J I Wang2tian
(Shaanxi Mobile Communication Co. , Ltd , Xi’an 710082 ,China)
第 1 期 姬水旺等 :支持向量机训练算法综述
·19 ·
应满足的充要条件 。Kohn - Tucker 条件可化简为一个简
单的形式[6 ] ,即所有训练样本应满足 :
αi = 0 Ζ yif ( xi) Ε 1
(7)
0 < αi < C Ζ yif ( xi) = 1
Abstract :Training SVM can be formulated into a quadratic programming problem. For large learning tasks wit h many training examples , off - t he - shelf optimization techniques quickly become intractable in t heir memory and time requirements. Thus , many efficient tech2 niques have been developed. These techniques divide t he original problem into several smaller sub - problems. By solving t hese sub - prob2 lems iteratively , t he original larger problem is solved. All proposed met hods suffer from t he bottleneck of long training time. This severely limited t he widespread application of SVM. This paper systematically surveyed t hree mainstream SVM training algorit hms : chunking , de2 composition , and sequential minimal optimization algorit hms. It concludes wit h an illustration of future directions. Key words :statistical learning t heory ; support vector machine ; training algorit hms
分解算法的关键是如何确定替换策略 ,即每一步中把 哪些不在工作集中的样本替换进去 。很明显 ,替换策略的 好坏直接影响算法的收敛速度 。