支持向量机的理论与算法研究
机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,从而不断改善自身性能。 支持向量机是20世纪90年代中期出现的机器学习技术,是近年来机器学习领域的研究热点。这项技术从提出到现在不过十年时间,但其研究进展非常之快、之大。它有坚实的理论基础,应用上也是有口皆碑,在手写体数字识别、文本分类等具体问题上创造和保持着目前的最好记录。 支持向量机本质上是一种非线性数据处理方法。与传统的人工神经网络不同,后者基于“经验风险最小化原理”,前者基于“结构风险最小化原理”。“结构风险最小化...
机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,从而不断改善自身性能。 支持向量机是20世纪90年代中期出现的机器学习技术,是近年来机器学习领域的研究热点。这项技术从提出到现在不过十年时间,但其研究进展非常之快、之大。它有坚实的理论基础,应用上也是有口皆碑,在手写体数字识别、文本分类等具体问题上创造和保持着目前的最好记录。 支持向量机本质上是一种非线性数据处理方法。与传统的人工神经网络不同,后者基于“经验风险最小化原理”,前者基于“结构风险最小化原理”。“结构风险最小化原理”建立在严谨的数学理论基础之上,令人耳目一新,使人们对学习机的认识发生了深刻变化。 支持向量机具有以下显著特征。 (1)结构简单。 (2)凸优化问题。有关的优化问题无局部极小点。 (3)稀疏表示。最优分离超平面之法向量W是训练样本的线性组合,每个样本的系数在某种意义上反映了该样本的重要性。分类问题的有用信息全部包含在系数不为零的那些样本即支持向量中。如果从训练集中去掉非支持向量,或使其在原来位置附近有微小偏移,则重新训练后,所得最优超平面与原来相同。即问题的解仅与支持向量有关。 (4)模块化。它清楚地分成两个模块:一个通用的学习机和与具体问题有关的核函数。这使我们能够把设计一个好的学习算法和设计一个好的核函数分开来研究。这种模块化处理方法便于理论分析和工程实现。 (5)本质上是线性学习机。它是核函数诱导的(隐含的)特征空间上的线性函数,因而便于理论分析。 支持向量机体现了以下重要思想和方法。 (1)边缘最大化思想。通过最优超平面来构造判决函数,实现了“结构风险最小化原理”,避免了对训练集过度拟合,保证了支持向量机的泛化能力。 (2)对偶表示。在对偶表示中训练数据仅以内积形式出现,因此可以用核函数来代替内积。 (3)核方法。从线性分类器转变成非线性分类器,只需要以核函数替换原来的内积。除此之外,原来的线性算法保持不变,线性分类器的全部优点都被继承下来,如计算简单、无局部极小点等。通过核函数能够在输入空间间接地完成高维特征空间(具有更丰富的结构)中的操作,计算复杂度没有实质性增加,但解决了复杂函数的表示问题。引进核函数之后,特征空间的维数变得不再重要了,甚至不必知道特征映射的具体形式,避免了维数灾难。通过改变核函数,可以得到不同的分类器。 支持向量机最初是用来解决分类问题的,其思想和方法后来被拓展到其他领域,如回归分析、函数逼近、密度估计,还有主成分分析、K-近邻、费歇判决等。核方法也发展成了一种方法论,把许多重要的数据处理方法纳入统一的框架,开辟了更加宽广的研究天地。 本文仅研究用来分类的支持向量机。 支持向量机并非尽善尽美,作为发展中的机器学习技术,还有很多问题有待解决。例如,1.训练算法支持向量机的训练归结为求解二次规划问题,但该问题的Hessian矩阵通常是稠密的,处理大规模问题时存储代价很高。例如,当样本个数为50000时,Hessian矩阵元素个数达25亿之巨,普通计算机的内存根本不够用。所以,经典的优化方法不适用,开发耗时短且占用内存少的算法成为人们追求的目标。训练算法又可以分为线性SVM训练算法与非线性SVM训练算法、在线算法与离线算法、精确算法与近似算法等。训练算法一直是最活跃的研究课题。 2.模型选择 模型选择是指:对于具体问题,如何选择核函数,以及支持向量机中的一些参数。这些参数包括:惩罚系数C,它在训练误差与泛化能力之间进行平衡;核函数中的参数,如高斯核中的σ和多项式核中的P等,不同的参数对应着不同的特征空间和特征映射,它们与支持向量机的泛化能力密切相关。怎样自动地进行模型选择? 3.知识嵌入 所谓知识,是指除训练样本外的信息,如问题领域的专业知识,专家经验等。标准的支持向量机是基于训练样本的,隐含的特征映射使得嵌入知识很困难。但经验告诉我们,一个系统所含知识的多少,对知识的利用程度如何,反映了其能力的高低。这在解决具体问题时尤其重要,但SVM还没有从根本上解决嵌入领域知识的问题。 4.多类问题 最初,SVM是针对二分类问题的,但实际应用中常常是多类问题。如何把它推广到多类问题?多类问题训练集的规模通常很大,如何有效地训练? 我的论文就是围绕这些问题开展研究。论文的主要贡献是: (1)提出“有附加信息的统计学习理论框架”。经典统计学习理论的重要结论,都是假设训练样本服从某个固定分布,或者服从任意分布,这是两个极端情形。实际情况是,人们对所处理的问题不全了解,但又知道一部分信息,这个新框架能够描述这种情况(见第二章)。 (2)分六个专题,即支持向量机训练算法、支持向量机的各种表现形式、支持向量机的泛化能力、模型选择、多类问题和支持向量机的应用,系统地论述了(分类)支持向量机的研究进展(见第三章)。 (3)提高支持向量机性能的关键,是设计适合特定问题的核函数,这要求对核函数本身有深入了解。针对三类重要核函数,即平移不变核函数、旋转不变核函数和卷积核,提出了简单易用的判别准则,并给出数学证明(见第四章)。 (4)支持向量机的优势在于处理非线性问题,但设计大规模、非线性支持向量机训练算法比较困难。本文深入研究了NPA算法,分析了该算法存在的不足,对第一、第二类检验下的迭代过程做了实质性改进。实验结果表明,新版本性能稳定,在未增加计算代价的条件下,训练速度明显提高(见第五章)。 (5)利用本文设计的训练算法,开发了一个自动分类模拟系统(见第六章)。 论文共分七章,具体组织如下: 第一章,什么是支持向量机。本章由三部分构成。第一部分阐述什么是支持向量机,先从简单的线性分类器入手,然后推广到更复杂的情况。第二部分概括了支持向量机的特征和重要思想。第三部分简要分析支持向量机与传统神经网络的异同。 第二章,支持向量机的理论基础。本章用严谨、精炼的语言描述了统计学习理论的概貌,它与支持向量机的关系。在此基础上,提出一个“有附加信息的统计学习理论框架”。 第三章,支持向量机研究进展。本章分六个专题,即训练算法、支持向量机的各种表现形式、支持向量机的泛化能力、模型选择、多分类问题和支持向量机的应用,综述支持向量机的研究进展,涵盖了迄今为止主要的研究内容和成果,从中可以了解人们所研究的问题、所付出的努力、所取得的成就和所面临的困难。 第四章,核函数的性质及其构造方法。支持向量机由核函数与训练集完全刻画。提高支持向量机性能的关键之一,是设计适合特定问题的核函数,这就要求对核函数本身有深入了解。本章由四部分组成:第一部分论述核函数与正定矩阵的关系及核函数的基本性质。第二部分对三类重要核函数,即平移不变核、旋转不变核和卷积核,提出了简单实用的判别准则,并在此基础上构造了很多重要核函数。第三部分介绍了一种自适应核函数。第四部分指出把问题领域的知识与核函数设计联系起来,即通过设计特殊的核函数来嵌入领域知识,是今后努力的方向。 第五章,加速NPA算法的收敛。支持向量机的优势在于处理非线性问题,但设计大规模、非线性支持向量机训练算法比较困难。1998年Platt提出的SMO算法(Sequential Minimal Optimization),和2001年Keerthi等人提出的NPA算法(Nearest Point Algorithm)是目前常用的。NPA算法有明确的几何背景,与SMO相比训练速度毫逊色,并且在惩罚系数较大时有显著优势。本章分析了NPA算法存在的不足,对其第一、第二类检验下的迭代过程做了实质性改进。实验结果表明,新版本性能稳定,在未增加计算代价的条件下,训练速度明显提高。 第六章,支持向量机自动分类模拟系统。本章根据第五章设计的算法,开发了一个自动分类模拟系统,它由三个主要模块构成,介绍了系统界面、系统功能,给出了关键代码。其核心模块很容易嵌入到实用系统中。 第七章,存在的问题与今后的研究方向。总结了支持向量机研究中有待解决的关键问题,对今后的研究重点提出建议。
展开
作者: 王国胜
学科专业: 信号与信息处理
授予学位: 博士
学位授予单位: 北京邮电大学
导师姓名: 钟义信
学位年度: 2007
语 种: chi
分类号: TP181
在线出版日期: 2008年11月6日