1、1支持向量机算法和软件 ChemSVM 介绍陆文聪 1,陈念贻 1 ,叶晨洲 2,李国正 2(1. 上海大学化学系计算机化学研究室,上海,200436)(2. 上海交通大学图象及模式识别研究所,上海,200030)摘要 V ladimir N. Vapnik 等 提 出 的 统 计 学 习 理 论 ( statistical learning theory, 简 称 SLT) 和 支 持 向 量 机(support vector machine,简称 SVM)算 法 已 取 得 令人鼓舞的 研究成果。 本文旨在对这一新理论和新算法的原理作一介绍,并展望这一计算机学界的新成果在化学化工领域的应用
2、前景。“ChemSVM”软件提供了通用的支持向量机算法,并将其与数据库、知识库、原子参数及其它数据挖掘方法有机地集成起来。关 键 词 模 式 识 别 ;支 持 向 量 机 ;支持向量分类;支持向量回归中 图 分 类 号 : O 06-04Introduction to the Algorithm of Support Vector Machine and the Software ChemSVMLU Wen-cong1, CHEN Nian-yi1, YE Chen-zhou2, LI Guo-zheng2(1. Laboratory of Chemical Data Mining, Depa
3、rtment of Chemistry, Shanghai University, Shanghai, 200436, China)(2. Institute of Image and Pattern Recognition, Jiaotong University, Shanghai, 200030, China)Abstracts: The great achievements have been approached in the development of statistical learning theory (STL) and support vector machine (SV
4、M) as well as kernel techniques. This paper aimed at introducing the principle of SLT and SVM algorithm and prospecting their applications in the fields of chemistry and chemical industryKey Words: Statistical learning theory, Support vector machine, Support vector classification, Support vector reg
5、ression众 所 周 知 , 统 计 模 式 识 别 、 线 性 或 非 线 性 回 归 以 及 人 工 神 经 网 络 等 方 法 是 数 据 挖 掘 的 有 效 工 具 ,已 随 着 计 算 机 硬 件 和 软 件 技 术 的 发 展 得 到 了 广 泛 的 应 用 1-4, 我 们 亦 曾 将 若 干 数 据 挖 掘 方 法 用 于 材 料设 计 和 药 物 构 效 关 系 的 研 究 5-12。但 多 年 来 我 们 也 受 制 于 一 个 难 题 : 传 统 的 模 式 识 别 或 人 工 神 经 网 络 方 法 都 要 求 有 较 多 的 训 练 样本 , 而 许 多 实 际
6、课 题 中 已 知 样 本 较 少 。 对 于 小 样 本 集 , 训 练 结 果 最 好 的 模 型 不 一 定 是 预 报 能 力 最 好的 模 型 。 因 此 , 如 何 从 小 样 本 集 出 发 , 得 到 预 报 ( 推 广 ) 能 力 较 好 的 模 型 , 遂 成 为 模 式 识 别 研 究 领域 内 的 一 个 难 点 , 即 所 谓 “小 样 本 难 题 ”。 最 近 我 们 注 意 到 : 数 学 家 Vladimir N. Vapnik 等 通 过 三 十余 年 的 严 格 的 数 学 理 论 研 究 , 提 出 来 的 统 计 学 习 理 论 ( statistica
7、l learning theory, 简 称 SLT) 13和 支 持向 量 机 (support vector machine,简称 SVM)算 法 已 得 到 国 际 数 据 挖 掘 学 术 界 的 重 视 , 并 在 语 音 识别 14、 文 字 识 别 15、 药物设计 16、组合化学 17、时间序列预测 18等研究领域得到成功应用,该新方法从严格的数学理论出发,论证和实现了在小样本情况下能最大限度地提高预报可靠性的方法,其研究成果令人鼓舞。张学工、杨杰等率先将有关研究成果引入国内计算机学界,并开展了 SVM 算法及其应用研究 19,但国内化学化工领域内尚未见 SVM 的应用报道。收稿
8、日期:2002-06-10;修回日期:2002-09-10资金资助:国家自然科学基金委和美国福特公司联合资助,批准号:9716214作者简介:陆文聪(1964 ),男,教授。研究方向:计算机化学。2本文是本论文系列的第一篇,主要介绍 Vapnik 等 在 SLT 基 础 上 提 出 的 SVM 算 法 , 包 括 支持向量分类(support vector classification,简称 SVC)算法和支持向量回归( support vector regression,简称 SVR)算法,并展望这一计算机学界的新成果在化学化工领域的应用前景。1 统 计 学 习 理 论 ( SLT) 简 介
9、 131.1 背 景现实世界中存在大量我们尚无法准确认识但却可以进行观测的事物,如何从一些观测数据(样本)出发得出目前尚不能通过原理分析得到的规律,进而利用这些规律预测未来的数据,这是统计模式识别(基于数据的机器学习的特例)需要解决的问题。统计是我们面对数据而又缺乏理论模型时最基本的(也是唯一的)分析手段。Vapnik 等人早在20世纪60年代就开始研究有限样本情况下的机器学习问题,但这些研究长期没有得到充分的重视。近十年来,有限样本情况下的机器学习理论逐渐成熟起来,形成了一个较完善的SLT 体系。而同时,神经网络等较新兴的机器学习方法的研究则遇到一些重要的困难,比如如何确定网络结构的问题、过
10、拟合与欠拟合问题、局部极小点问题等。在这种情况下,试图从更本质上研究机器学习的SLT 体系逐步得到重视。19921995年,Vapnik 等在SLT的基础上发展了SVM算法,在解决小样本、非线性及高维模式识别问题中表现出许多特有的优势,并能够推广应用到函数拟合等其它机器学习问题。很多学者认为,它们正在成为继模式识别和神经网络研究之后机器学习领域中新的研究热点,并将推动机器学习理论和技术有重大的发展。神经网络研究容易出现过拟合问题,是由于学习样本不充分和学习机器设计不合理的原因造成的,由于此矛盾的存在,所以造成在有限样本情况下:1)经验风险最小不一定意味着期望风险最小;2)学习机器的复杂性不但与
11、所研究的系统有关,而且要和有限的学习样本相适应。SLT体系及其SVM算法在解决“小样本难题”过程中所取得的核函数应用等方面的突出进展令人鼓舞,已被认为是目前针对小样本统计估计和预测学习的最佳理论。1.2 原 理Vapnik的SLT的核心内容包括下列四个方面:1) 经验风险最小化原则下统计学习一致性的条件;2) 在这些条件下关于统计学习方法推广性的界的结论;3) 在这些界的基础上建立的小样本归纳推理原则;4) 实现这些新的原则的实际方法(算法)。设训练样本集为 ,其拟合(建模)的数学实质是从函数集中Ryxyxmn,1,选出合适的函数 f(x),使风险函数:(1)dxyPffRYX),()(2为最
12、小。但因其中的几率分布函数 为未知,上式无法计算,更无法求其极小。传统的统计,yx数学遂假定上述风险函数可用经验风险函数 代替:fRemp(2)niiempxf12)(根据大数定律,式(2)只有当样本数 n 趋于无穷大且函数集足够小时才成立。这实际上是假定最小二乘意义的拟合误差最小作为建模的最佳判据,结果导致拟合能力过强的算法的预报能力反而降低。为此,SLT 用结构风险函数 代替 ,并证明了 可用下列函数求极小而得:fRhfempfRh(3)nempSh )4/l()1/2(lin3此处 n 为训练样本数目,S h 为 VC 维空间结构,h 为 VC 维数,即对函数集复杂性或者学习能力的度量。
13、1- 为表征计算的可靠程度的参数。 SLT 要求在控制以 VC 维为标志的拟合能力上界(以限制过拟合)的前提下追求拟合精度。控制 VC 维的方法有三大类:1拉大两类样本点集在特征空间中的间隔;2缩小两类样本点各自在特征空间中的分布范围;3降低特征空间维数。一般认为特征空间维数是控制过拟合的唯一手段,而新理论强调靠前两种手段可以保证在高维特征空间的运算仍有低的 VC 维,从而保证限制过拟合。对于分类学习问题,传统的模式识别方法强调降维,而 SVM 与此相反。对于特征空间中两类点不能靠超平面分开的非线性问题,SVM 采用映照方法将其映照到更高维的空间,并求得最佳区分二类样本点的超平面方程,作为判别
14、未知样本的判据。这样,空间维数虽较高,但 VC 维仍可压低,从而限制了过拟合。即使已知样本较少,仍能有效地作统计预报。对于回归建模问题,传统的化学计量学算法在拟合训练样本时,将有限样本数据中的误差也拟合进数学模型了。针对传统方法这一缺点,SVR 采用“ 不敏感函数”,即对于用 f (x)拟合目标值y 时 ,目标值 yi 拟合在 时,即认为进一步拟合是无意义的。这bxwfT bxwyTi样拟合得到的不是唯一解,而是一组无限多个解。SVR 方法是在一定约束条件下,以 取极小2w的标准来选取数学模型的唯一解。这一求解策略使过拟合受到限制,显著提高了数学模型的预报能力。2 支持向量分类(SVC)算法2
15、.1 线性可分情形SVM算法是从线性可分情况下的最优分类面(Optimal Hyperplane)提出的。所谓最优分类面就是要求分类面不但能将两类样本点无错误地分开,而且要使两类的分类空隙最大。d维空间中线性判别函数的一般形式为 ,分类面方程是 ,我们将判别函数进行归一化,bxwgT0bxwT使两类所有样本都满足 ,此时离分类面最近的样本的 ,而要求分类面对所有样11g本都能正确分类,就是要求它满足。 (4)nixyiTi ,21,0)(式(4)中使等号成立的那些样本叫做支持向量(Support Vectors)。两类样本的分类空隙(Margin)的间隔大小:Margin= (5)w/因此,最
16、优分类面问题可以表示成如下的约束优化问题,即在条件(4)的约束下,求函数(6)(21T的最小值。为此,可以定义如下的Lagrange函数:(7) 1)(),(1bxwybwLiTiniT其中, 为Lagrange系数,我们的问题是对w和b求Lagrange函数的最小值。把式(7)分别对0iaw、b 、 求偏微分并令它们等于0,得:i4inixywL100iib)(bxyLiTii以上三式加上原约束条件可以把原问题转化为如下凸二次规划的对偶问题: (8)0,1,.max112inii jTijijnijiniyts xy这是一个不等式约束下二次函数机制问题,存在唯一最优解。若 为最优解,则*i(
17、9) niixyaw1*不为零的样本即为支持向量,因此,最优分类面的权系数向量是支持向量的线性组合。*ib*可由约束条件 求解,由此求得的最优分类函数是 :0)(bxyiTi(10) )sgn()sgn( *1* bxyabxf iiT sgn()为符号函数。2.2 非线性可分情形当用一个超平面不能把两类点完全分开时(只有少数点被错分),可以引入松弛变量( 0, ),使超平面 满足:iin,10bxwT(11)iiiy1)(当0 1时样本点x i仍旧被正确分类,而当 1时样本点x i被错分。为此,引入以下目标函数:ii(12)niTC12),(其中C是一个正常数,称为惩罚因子,此时SVM 可以
18、通过二次规划(对偶规划)来实现:(13)0,1,.max11inii jTijijnjiniyCts xy53 支持向量机(SVM)的核函数若在原始空间中的简单超平面不能得到满意的分类效果,则必须以复杂的超曲面作为分界面,SVM算法是如何求得这一复杂超曲面的呢?首先通过非线性变换 将输入空间变换到一个高维空间,然后在这个新空间中求取最优线性分类面,而这种非线性变换是通过定义适当的核函数(内积函数)实现的,令:(14)(),(jiji xxK用核函数 代替最优分类平面中的点积 ,就相当于把原特征空间变换到了某一新),(jixjTi的特征空间,此时优化函数变为: (15)aQjijijnijini
19、 xKy,112而相应的判别函数式则为:(16)),(sgn()(sgn *1* babxwxf iiiT 其中 为支持向量, 为未知向量,(16)式就是 SVM,在分类函数形式上类似于一个神经网络,其ix输出是若干中间层节点的线性组合,而每一个中间层节点对应于输入样本与一个支持向量的内积,因此也被叫做支持向量网络,如图 1由于最终的判别函数中实际只包含未知向量与支持向量的内积的线性组合,因此识别时的计算复杂度取决于支持向量的个数。目前常用的核函数形式主要有以下三类,它们都与已有的算法有对应关系。(1) 多项式形式的核函数,即 ,对应 SVM 是一个 q 阶多项式分类器。ixK,qiT1(2)
20、 径向基形式的核函数,即 ,对应 SVM 是一种径向基函数分类器。i, ep2ix(3) S 形核函数,如 则 SVM 实现的就是一个两层的感知器神经网络,ix, ),(tanhcviT只是在这里不但网络的权值、而且网络的隐层节点数目也是由算法自动确定的。k(x1,) k(x2,) k(x3,)x1x2x3 x4y图 1 支 持 向 量 网 络 预 报 未 知 样 本 类 别 的 示 意 图 Fig.1 The sketch map of suport vector network to predict an uknown sample siibxKya1,gn S个 支 撑 向 量 机 的
21、非 线 性 变 换 输 入 向 量 x=(1,x2,xd) 图 1 支 持 向 量 网 络 预 报 未 知 样 本 类 别 的 示 意 图 Fig.1 Thesketch map of suport vector network to predict an uknown sample 64 支持向量回归(SVR)方法SVR 算法的基础主要是 不敏感函数( -insensitive function)和核函数算法。若将拟合的数学模型表达为多维空间的某一曲线,则根据 不敏感函数所得的结果就是包络该曲线和训练点的“ 管道”。在所有样本点中,只有分布在“管壁”上的那一部分样本点决定管道的位置。这一部分
22、训练样本称为“支持向量”(support vectors)。为适应训练样本集的非线性,传统的拟合方法通常是在线性方程后面加高阶项。此法诚然有效,但由此增加的可调参数未免增加了过拟合的风险。SVR 采用核函数解决这一矛盾。用核函数代替线性方程中的线性项可以使原来的线性算法“非线性化”,即能作非线性回归。与此同时,引进核函数达到了“升维”的目的,而增加的可调参数却很少,于是过拟合仍能控制。4.1 线性回归情形设样本集为: ,回归函数用下列线性方程来表示,Ryxyxnl,1,(17)bwfT最佳回归函数通过求以下函数的最小极值得出, 其中C是设定的惩罚因子值,、 为松弛变量的上限与下限。Vapnik
23、提出运用下列不敏感损耗函数:通过下面的优化方程:在下列约束条件下:求解:(21)li liii jTijjlijiiyx12mnarg,由此可得拉格朗日方程的待定系数 和 ,从而得回归系数和常数项:i*i(18)(19)(20)7(22)sriliixwb214.2 非线性回归情形类似于分类问题,一个非线性模型通常需要足够的模型数据,与非线性SVC方法相同,一个非线性映射可将数据映射到高维的特征空间中,在其中就可以进行线性回归。运用核函数可以避免模式升维可能产生的维数灾难,即通过运用一个非敏感性损耗函数,非线性SVR的解即可通过下面方程求出:其约束条件为:由此可得拉格朗日待定系数 和 ,回归函
24、数f(X) 则为:i*i5 ChemSVM 应用软件介绍以解决化学化工上问题为目的,我们参照国际文献自编了包含 SVM 模块的应用软件“ChemSVM”,其中 SVM 算法涉及到凸二次规划的求解,采用了序贯极小优化(Sequential Minimal Optimization)算法 20。由于 SVM 算法在应用上不够方便的地方主要是核函数及其参数如何选取的问题,为此,“ChmSVM”针对该问题上作了一些改进,即一方面在程序的操作界面上提供各种核函数及其参数,给用户自由选择和研究的方便;另一方面,程序可用单纯形优化方法自动选出待选的核函数及其参数,并根据数据集留一法预报正确率最高的目标来确定
25、最终计算用核函数及其参数,从而建立推广能力强的数学模型。以软件使用上的方便性、算法上的先进性和解决具体问题的有效性为目的,“ChemSVM”软件将不断地发展和完善。“ChemSVM”软件提供了通用的支持向量机算法。在具体应用问题上,还可以将其与数据库(含分门别类的数据表)、知识库(含数据挖掘规则等)、原子参数(由系统自动采集)及其它数据挖掘方法有机地集成起来。比如,“ChemSVM”已与熔盐相图智能数据库相融合,使 SVM 算法成为熔盐相图智能数据库的有效的数据挖掘手段。这方面应用成果已另文报导在本刊有关 SVM 应用的系列论文中 21,22 。6 应用前景(23)(24)(25)8SLT 和
26、 SVM 算法之所以从 20 世纪 90 年代以来受到很大的重视,在于它们对有限样本情况下模式识别中的一些根本性问题进行了系统的理论研究,并且在此基础上建立了一种较好的通用学习算法。以往困扰很多机器学习方法的问题,比如模型选择与过拟合问题、非线性和维数灾难问题、局部极小点问题等,在这里都得到了很大程度上的解决。而且,很多传统的机器学习方法都可以看作是 SVM 算法的一种实现,因而 SLT 和 SVM 被很多人视作研究机器学习问题的一个基本框架。一方面研究如何用这个新的理论框架解决过去遇到的很多问题;另一方面则重点研究以 SVM 为代表的新的学习方法,研究如何让这些理论和方法在实际应用中发挥作用
27、。SLT 有比较坚实的理论基础和严格的理论分析,但其中还有很多问题仍需人为决定。比如结构风险最小化原则中的函数子集结构的设计、SVM 中的内积函数(包括参数)的选择等。尚没有明确的理论结果指导我们如何进行这些选择。另外,除了在监督模式识别中的应用外,SLT 在函数拟合、概率密度估计等机器学习问题以及在非监督模式识别问题中的应用也是一个重要研究方向。我们认为,SLT 和 SVM 算法(包括 SVC 和 SVR)有可能在化学化工领域得到深入和广泛的应用,以往用人工神经网络、传统统计模式识别和线性及非线性回归等数据挖掘算法研究和处理的化学化工数据都可能在应用 SVM 算法后得到更好的处理结果 23。
28、特别是样本少、维数多的 “小样本难题”,应用 SVM 算法建模会特别有效。可以预计,将来在分析化学的数据处理、化学数据库的智能化、有机分子的构效关系(QSAR, QSPR)、分子和材料设计、试验设计、化工生产优化、以及环境化学、临床化学、地质探矿等多方面都有可能展开 SLT 和 SVM 算法的应用研究,并取得良好效果。参考文献1. Domine D., Devillers J., Chastrette M., Karcher W Non-linear mapping for structure-activity and structure-property modeling. Journal
29、of Chemomatrics 1993, 7: 227-2422. Wang Ziyi, Jenq-Hwang, Kowalski Bruce R., ChemNets: Theory and Application, Analytical Chemistry, 1995, 67(9):1497-15043. Ruffini R. et al., Using neural network for springback minimization in a channel forming process, SAE Trans. J. Mater. Manufacture, 1998, 107,
30、654. Fukunaga K Introduction to statistical pattern recognition. Academic. New York; 19725. Chen Nianyi(陈念贻),Qin Pei(钦佩),Chen Ruiliang(陈瑞亮),Lu Wencong(陆文聪),Application of Pattern Recognition in Chemistry and Chemical Engineering(模式识别在化学化工中的应用),Peking(北京), Science Publisher(科学出版社),20006. Chen Nianyi,
31、 Lu Wencong, Chemometric Methods Applied to Industrial Optimization and Materials Optimal Design, Chemometrics and intelligent laboratory systems, 1999, 45, 329-3337. Chen Nianyi, Lu Wencong, Software Package “Materials Designer” and its Application in Materials Research, IPMM99, Hawaii, USA, July,
32、19998. LU Wencong, YAN Li-cheng, CHEN Nian-yi, Pattern Recognition and ANNS Applied to the Formobility of Complex Idide, Journal of Molecular Science, 1995,11(1): 339. Liu Liang(刘亮), Bao Xinhua(包新华),Feng Jianxing(冯建星 ),Lu Wencong(陆文聪),Chen Nianyi(陈念贻),Molecular Sieving of Pinacolone (or 1-Arylethano
33、ne) Containing 1H-1, 2, 4-Triazole Group and Their Reduced Products(-唑基- -芳氧烷基频哪酮(芳乙酮) 及其醇式衍生物抗真菌活性的分子筛选),Computer and Applied Chemistry (计算机与应用化学),2002,19(4) : 465910. Lu Wencong(陆文聪), Bao Xinhua(包新华),Wu Lan(吴兰),Kong Jie(孔杰),Yan Licheng(阎立诚),Chen Nianyi(陈念贻),Studies on Hierarchical Projection Metho
34、d Applied to Regularities of Formation of Binary Complex Compound in MBr-MBr2 System(二元溴化物系(MBr-MBr 2)中间化合物形成规律的逐级投影法研究), Computer and Applied Chemistry(计算机与应用化学),2002,19(4) : 47411. Lu Wencong(陆文聪), Feng Jianxing(冯建星 ),Chen Nianyi(陈念贻),Ternary Intermetallic Compounds between two Transition and one
35、Nontransition Elements(二种过渡元素和一种非过渡元素间形成三元金属间化合物的规律),Computer and Applied Chemistry(计算机与应用化学),2000,17(1) : 4312. LU Wencong(陆文聪),Yan Licheng(阎立诚),Chen Nianyi(陈念贻),Expert System PVPEC for Optimized Design of PTC and V-PTC Materials(PVPEC-PTC 和 V-PTC 材料优化设计专家系统),Computer and Applied Chemistry(计算机与应用化学
36、) , 1996, 13(1): 3913. Vapnik Vladimir N., The Nature of Statistical Learning Theory. Berlin, Springer, 199514. Wan, Vincent; Campbell, William M., Support vector machines for speaker verification and identification, Neural Networks for Signal Processing - Proceedings of the IEEE Workshop 2, 2000:77
37、5-78415. Thorsten Joachims, Learning to Classify Text Using Support Vector Machines. Dissertation, Universitaet Dortmund, February 2001. 16. Burbidge R, Trotter M, Buxton B, Holden S, Drug design by machine learning: support vector machines for pharmaceutical data analysis, Computer and Chemistry, 2
38、001, 26 (1): 5-1417. Trotter M.W.B., Buxton, B.F., Holden, S.B., Support vector machines in combinatorial chemistry, Measurement and Control, 2001, 34(8): 235-23918. Van Gestel, T.; Suykens, J.A.K.; Baestaens, D.E.; Lambrechts, A.; Lanckriet, G.; Vandaele, B.; De Moor, B.; Vandewalle, J., Financial
39、time series prediction using least squares support vector machines within the evidence framework, IEEE Transactions on Neural Networks, 2001, 12(4): 809-82119. V.Vapnik,(Zhang Xuegong, 张学工译):The Nature of Statistical Learning Theory(统计学习理论的本质),Peking(北京), Tsinghua University Press(清华大学出版社), 200020.
40、Platt J. C., Fast training of Support Vector Machines using Sequential Minimal Optimization, Microsoft Research, http:/ Ding Yimin(丁益民),Chi Liang(迟亮),Chen Nianyi(陈念贻),Computerized Prediction and Experimental Confirmation of the Phase Diagram of CsF-CaF2 System (CsF-CaF 2系熔盐相图的计算机预报与实验测定),Computer an
41、d Applied Chemistry (计算机与应用化学),2002, 19(6) : 页数待定22. Bao Xinhua(包新华),Lu Wencong(陆文聪),Chen Nianyi(陈念贻),Support Vector Machine Applied to Intelligent Database of Phase Diagrams of Molten Salt Systems(支持向量机算法在熔盐相图数据库智能化中的若干应用),Computer and Applied Chemistry(计算机与应用化学),2002, 19(6) : 页数待定23. Chen Nianyi(陈念贻),Lu Wencong(陆文聪), Ye Chenzhou(叶晨洲),Li Guozheng(李国正),Application of Support Vector Machine and Kernel Function in chemometrics(支持向量机及其它核函数算法在化学计量学中的应用),Computer and Applied Chemistry(计算机与应用化学),2002, 19(6) : 页数待定