汪嘉杨,王文圣,李祚泳,张 碧
(1.成都信息工程学院,四川 成都 610041;2.四川大学水电学院,四川 成都 610065)
基于TS-SVM模型的水安全评价
汪嘉杨1,2,王文圣2,李祚泳1,2,张 碧1
(1.成都信息工程学院,四川 成都 610041;2.四川大学水电学院,四川 成都 610065)
核函数参数和误差惩罚因子的选择对支持向量机模型(SVM)的精度有较大影响。为充分发挥SVM的性能,提出基于禁忌搜索算法优化的支持向量机模型(TS-SVM)。将TS-SVM应用于山东省水安全指数计算,得到各个水安全利用方案的评价指数值和安全等级。对比分析表明,TS-SVM具有较强的学习能力,能给出合理的评价结果,是一种有效的评价模型。
支持向量机;禁忌搜索算法;水安全评价;安全指数
随着社会经济的发展,水安全问题越来越成为全世界关注的焦点,水安全已不再单是水资源问题,还包括它引发的其他问题,如经济安全、社会安全问题,甚至上升到了国家安全的高度。在水安全研究中,水安全的范畴、水安全的度量、水安全评价和水安全保障体系的建设等都是其研究的主要内容。但国内外对水安全的研究才刚刚起步,定性研究居多,在系统性和量化方面显得不足[1],因此需要尽快从水安全评价、水安全度量和水安全保障体系等方面入手,建立一套完整的水安全评价和管理的理论体系。
由于水资源和水环境系统存在大量的不确定因素,水安全评价方法仍处于探索、发展阶段。传统水安全评价方法有层次分析法、集对分析法、属性识别法、投影寻踪方法等[2-5]。支持向量机(support vector machine,SVM)能够根据有限样本信息在模型的复杂性和学习能力之间寻求最佳折中,获得因变量和自变量之间非常复杂的映射关系,与传统的基于经验风险最小化的神经网络方法相比,具有学习速度快、全局最优和推广能力强的优点,作出的评价和拟合结果大多明显好于其他的模型和方法,因此得到较为广泛的应用[6-9]。然而,支持向量机作为统计学习理论的一项核心内容,其应用远未达到理论期望的效果,支持向量机参数的选取问题是影响其应用的一个重要原因,为了充分发挥SVM的性能,必须选择合适的参数。研究中发现,核函数参数σ和误差惩罚因子C对SVM的精度有较大影响,对机器学习性能至关重要[8]。为此,笔者将禁忌搜索(taboo search,TS)算法用于SVM模型的参数优化,提出TS-SVM耦合模型,并将耦合模型应用于山东省水安全指数计算,相应得到区域各个水安全利用方案的安全评价等级。
支持向量机常用于分类及回归分析,回归支持向量机是在分类方法的基础上,通过引进适当的损失函数推广而来的。给定l个样本数据{xk,yk}(l=1,2,…,n),其中,xk∈Rm为m维输入因子(自变量),yk∈R为输出因子(因变量),则函数逼近问题就是要寻找一个函数f,使之通过x能获得最优的y。函数f一般是一个非线性函数。利用非线性映射φ(x)将训练数据集非线性地映射到一个高维特征空间(Hilbert空间),使得在输入空间中的非线性函数估计问题转化为高维特征空间中的线性函数估计问题[8]。要求拟合的函数形式为:
式中:w为权向量;φ(x)为输入空间到高维特征空间的非线性映射;b为偏置量。
根据结构风险化最小原则,即要寻求最优回归超平面,使风险函数Rreg最小。
式中:‖w‖2为描述函数f(x)复杂度的项;C为设定的惩罚因子(调整参数),用于控制错分样本惩罚的程度,实现错分样本数与模型复杂度之间的折中;Rεemp为经验风险。再引进ε不灵敏损失函数:
它意味着不惩罚偏差小于 ε的误差项,取经验风险为:
则支持向量机的回归问题就等价于解决一个二次规划问题。将其最优化问题利用对偶原理、拉格朗日乘子法和核技术,表示为:
其中,C>0。利用最优化理论中的二次型规划方法,通过求解式(5)可以求得参数 αi、α*i,利用泛函分析的KKT条件可以求得参数b,便可以求出拟合样本集的估计函数f(x)的解析表达式,最后回归支持向量机的输出为:
式(7)中径向基函数的宽度参数 σ精确定义了高维特征空间非线性映射函数的结构,因而控制了最终解的复杂性,从而影响高维特征空间上的线性回归。当σ减小时,回归函数的复杂度增加,容易造成过拟合,σ值过大或过小都会使系统的泛化性能变差。因此适当选择 σ对回归模型的泛化能力很关键。式(5)中惩罚因子C是调节训练误差和模型复杂度之间的折中,间接地影响回归模型的泛化能力,C值过大或过小都会因过学习或欠学习使系统的泛化性能变差[8]。
传统的参数选取多是在实验中采用反复试验的方法,该方法需要试验者的先验知识作为指导,并且需要较高的时间代价,因此传统的参数选取方法不太适应支持向量机理论的发展。针对参数选取问题,一些学者从不同的角度进行了研究和探讨[10-11]。Wang等[12]根据Fisher判别函数得出了在分类问题中计算σ的经验公式,根据Scale space理论给出了在回归问题中计算σ取值的方法,这为σ的优化选择提供了一种可选的途径。Carl利用实验设计方法获得合适的参数取值[13],可以显著地减少搜索代价。
优化算法的引入克服了SVM参数选择的盲目性,提高支持向量机的推广预测能力。与目前普遍应用的通过交叉验证试算确定SVM参数的方法相比,优化算法优选参数具有更明确的理论指导意义。因此,一些学者尝试采用现代优化算法(比如粒子群算法、遗传算法、免疫进化算法等)对SVM模型的参数进行优化求解[7-9]。笔者采用禁忌搜索算法来搜索最佳的数σ和C,建立了TS-SVM耦合模型。禁忌搜索算法是一种启发式全局逐步寻优搜索算法,具体内容可见文献[14-15]。建立TS-SVM模型的步骤如下。
a.TS初始化。设定禁忌列表长度、待优化参数取值范围、邻域生成方式、最大循环次数等。
b.计算适应度大小。从用于训练的样本数据中划分出一小部分(一般取全部训练样本的10%)作为验证样本集。用剩余的训练样本训练SVM模型,达到拟合要求后,用获得的SVM模型对划分出的验证样本进行预测,采用验证样本的预测误差平方和作为适应度值。
c.更新TS算法的禁忌列表、最优值。
d.检查结束条件,若满足,则结束寻优;否则t=t+1,转至步骤b。结束条件为寻优达到最大进化代数或适应度值小于给定精度。
e.将TS算法寻优得到的参数向量(C,σ)赋予SVM,用SVM模型对全体训练样本进行学习,并进行测试集(检验集)样本数据的预测。
为了对TS-SVM耦合模型的计算精度进行检验,以分析模型的学习能力和学习精度,将其应用到3个典型的复杂函数拟合中。多峰正函数、Schaffer函数和Camel函数的表达式分别如式(8)~(10)所示。
分别对各函数的自变量区间范围内生成1000个自变量数值点,采用TS算法优化确定SVM模型中的惩罚因子C和核函数参数σ,得到优化后的用于函数拟合的TS-SVM耦合模型。优化得到的惩罚因子C和核函数参数σ分别为:多峰正函数:C=196.3242,σ=0.2036;Schaffer函数:C=115.0670,σ=0.1310;Camel函数:C=145.1777,σ=0.0857。再在函数区间范围内生成100个不同的点作为函数拟合的自变量数值,采用TS-SVM耦合模型计算得到函数拟合值,3个典型函数的拟合结果如图1所示。从图1可以看出,TS-SVM耦合模型计算得到的函数拟合值与函数的理论值非常接近,拟合精度高,表明TS-SVM耦合模型学习能力强、计算精度高。
以山东省水安全状况评价为例,通过TS-SVM计算区域水安全指数,得到各个水安全利用方案的安全等级。水安全评价指标体系的选择参考了文献[4],将水安全评价的指标体系划分为5个安全评价子系统,共23个评价指标,如表1所示。笔者建立TS-SVM耦合模型由TS模块和SVM模块两部分耦合而成,其中SVM模块采用的LS-SVMlab[16]模式识别与回归软件,在计算机上用Matlab编程实现。参数设置为:禁忌列表长度100,最大迭代次数1 000,惩罚因子C的搜索范围定为[0.001,200],RBF核函数参数 σ的搜索范围定为[0.001,100]。基于TSSVM的山东省水安全评价步骤如下。
a.分别对每个评价子系统,在各安全评价等级范围内随机生成10组数据,共50组评价数据,经过规范化处理后,作为TS-SVM的训练输入样本,并设定相应各等级的指数目标值I0(如表1所示)作为输出样本。用TS-SVM方法寻找各个子系统最优参数向量(C,σ)取值如表2所示。
b.用训练好的SVM模型对方案1、方案2和方案3(各方案数据如表1所示)进行检验,得到各方案的安全指数值I。
图1 函数拟合结果
表1 山东省水安全评价指标分级标准及可行方案
表2 优化得到的支持向量机参数值及水安全评价结果
c.将各个子系统的安全指数值平均,得到综合水安全指数值和对应的评价等级,见表2。表2中还列出了属性识别法[4]的评价结果,可见各方案的评价等级和文献[4]的评价结果是相同的。
a.在对支持向量机参数性能进行分析的基础上,提出了TS-SVM耦合模型,用于水安全评价指数的计算。采用TS算法来优化SVM的参数,克服了模型参数选择的盲目性,与目前普遍应用的通过交叉验证试算确定参数的方法相比,用TS算法优选参数具有更明确的理论指导。
b.笔者仅采用径向基函数作为核函数进行研究,实际上核函数选择的不同对建立SVM模型有直接影响,因而选择其他类型核函数进行比较的研究还有待进一步深入。
c.通过TS-SVM模型计算出的水安全指数,能衡量区域水安全水平,反映区域水安全客观状况。对山东省水安全指数计算的实例分析,表明了TSSVM模型的实用性,为水安全评价和预测提供了一条有效的途径。
[1]阮本清,魏传江.首都圈水资源安全保障体系建设[M].北京:科学出版社,2004:50-52.
[2]樊彦芳,刘凌,陈星,等.层次分析法在水环境安全综合评价中的应用[J].河海大学学报:自然科学版,2004,32(5):512-514.
[3]何焰,由文辉,吴健.上海市水环境生态安全评价[J].水资源保护,2006,22(6):18-20,27.
[4]张龙云,曹升乐,杨尚阳.属性识别理论在水安全评价中的应用研究[J].山东大学学报:工学版,2006,36(5):70-72.
[5]WANG Wen-sheng,JIN Ju-liang,DING Jing,et al.A new approach to water resources system assessment:set pair analysis method[J].Science in China Series E:Technological Sciences,2009,32(10):3004-3016.
[6]MUKHERJEE S,OSU MA E,GIROSI F.Nonlinear prediction of chaotic time series using support vector machines[C]//Proc of the IEEE Workshop on Neural Networks for Signal Processing.Ameliz Island,1997:511-520.
[7]XU P,CHAN A K.An efficient algorithm on multi-class support vector machine model selection[C]//Proceedings ofthe International Joint Conference on Neural Networks 2003.Portland,2003:3229-3232.
[8]熊建秋,邹长武,李祚泳.基于免疫进化支持向量机的年用电量预测[J].四川大学学报:工程科学版,2006,38(2):6-10.
[9]张红梅,卫志农,龚灯才,等.基于粒子群支持向量机的短期电力负荷预测[J].继电器,2006,34(3):28-31.
[10]CHERKASSKY V,MA Yun-qian.Practical selection of SVM parameters and noise estimation for SVM regression[J].Neural Networks,2004,17(1):113-126.
[11]董春曦,饶鲜,杨绍全,等.支持向量机参数选择方法研究[J].系统工程与电子技术,2004,26(8):1117-1120.
[12]WANG Wen-jian,XU Zong-ben,LU Wei-zhen,etal.Determination of the spread parameter in Gaussian kernel for classification and regression[J].Neurocomputer,2003,55:643-663.
[13]STAELIN C.Parameter selection for support vector machines[DB/OL].[2003-10-10]http://www.hpl.hp.com/techreports/2002/HPL-2002-354Rl.html.
[14]ASIC M D,KOVACEVIE-VUJCIC V V.Taboosearch methodology in global optimization[J].Computersand Mathematics with Application,1999,3(3):125-133.
[15]汪嘉杨,李祚泳,倪长健,等.基于混合禁忌搜索算法的水位流量关系拟合[J].系统工程,2006,24(6):107-110.
[16]PELCHMANS K,SUYKENS JA.GESTEL T V,et al.LS-SVM lab:a MATLAB/C toolbox for least squares support vector machines[EB/OL].[2002].http://www.esat.kuleuven.ac.be/sista/lssvmlab/.
Water safety assessment based on TS-SVM model
WANG Jia-yang1,2,WANG Wen-sheng2,LI Zuo-yong1,2,ZHANG Bi1
(1.Chengdu University of Information Technology,Chengdu 610041,China;2.School of Hydraulic Engineering,Sichuan University,Chengdu 610065,China)
The selection of the kernel function parameter and error penalty factor affected the precision of the support vector machine(SVM)significantly.In order to give full play to the SVM model,a TS-SVM model in which parameters were optimized by a taboo search algorithm(TS)was proposed.By using this model to calculate the evaluation indexes of the water safety of Shandong Province,safety indexes and safety grades of every utilization project were obtained.The results show that the TS-SVM model,which has strong learning ability,can yield rational results and is a practicable model for water safety assessment.
support vector machine;taboo search algorithm;water safety assessment;safety index
TV213.4
A
1004-6933(2010)02-0001-04
科技基础性工作专项(2007FY140900);国家自然科学基金(50779042,50739002);成都信息工程学院科研基金(CRF200810)
汪嘉杨(1980—),女,四川泸州人,博士研究生,研究方向为水文水资源及水环境。E-mail:wjj@cuit.edu.cn
book=9,ebook=327
(收稿日期:2008-11-04 编辑:徐 娟)