基于GA参数优选的ε-SVR地下水位预测方法

2011-08-03 05:36:40陈海洋滕彦国王金生
水资源保护 2011年4期
关键词:惩罚向量样本

陈海洋,滕彦国,王金生

(北京师范大学水科学研究院,北京 100875)

地下水位预测可以看作是对地下水位及其影响因子间的复杂非线性函数关系的逼近分析,它是实现地下水资源动态均衡管理的重要方法之一。当前,发展较快、应用较广的地下水位预测方法主要有多元回归分析法、灰色聚类分析法、模糊模式识别法、季节性指数平滑法、人工神经网络法等。这些不同的预测方法均力图通过对地下水位动态及其影响因素之间的非线性关系的分析,建立随机性模型来实现地下水位的预报。支持向量机(support vector machine,简称SVM)是由统计学习理论发展起来的一种新型学习机器,它以结构风险最小化原理为理论基础,具有以下优点:逼近复杂非线性系统,较强的学习泛化能力和良好的分类性能,所需样本少,建模方便,计算简单,学习训练时间短,通用性强,可以用于解决非线性系统的模式识别问题[1]。ε-SVR(εsupport vector regression machine)是将不敏感损失函数引入支持向量机,用来解决非线性系统回归拟合问题的一个算法,可以用之来解决地下水位预测问题。

应用ε-SVR进行地下水位预测,需要重点考虑模型参数的优化选择。然而,当前对ε-SVR参数选择缺乏实质性的理论指导,只能是通过反复试验,人工选取参数,这不仅要求技术人员有丰富的实际经验,而且需要付出较高的时间代价。笔者选择径向基核函数建立了地下水位ε-SVR预测模型,基于遗传算法(genetic algorithm,简称GA)实现了惩罚因子C、核函数参数 γ和不敏感损失函数参数ε的自适应优选,并运用建立的模型对某地傍河试验井地下水位进行了预测。

1 支持向量回归机

SVM是由Vapnik等在统计学习理论的基础上提出并发展起来的一种新型通用学习方法,它基于结构风险最小化原理,主要用于解决分类和回归问题[2]。SVM避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的转导推理,大大简化了回归问题的复杂性,具有较高的泛化能力。关于SVM的原理,有很多资料可以参阅,这里做简要介绍。

根据结构风险最小原理,回归估计问题就是寻找使下面函数风险最小的f(x)

该问题是一个典型的凸二次优化问题,引入拉格朗日函数,可得对偶形式:

式中:α、α*是Lagrange乘子。估值函数为:

偏置量b可通过KKT条件计算:

对应非线性回归支持向量机,可通过非线性映射把原始数据变换到高维特征空间,在特征空间设计线性回归支持向量机,运用原空间的函数来实现内积运算,从而取得在原空间非线性回归的效果。假设用非线性函数 Φ(x)把样本映射到高维空间,可得拟合样本集的估计函数为:

根据泛函理论,只要一种核函数满足Mercer条件,它就对应某一空间中的内积,因此只要设计相应的核函数,将原始不具备线性回归的样品数据映射到某一高维特征空间,在特征空间运用内积函数实现线性回归。假设利用核函数K(xi,yi)=(Φ(xi)◦Φ(yi))把原始数据映射到高维特征空间,那么特征空间的核函数线性回归向量机的估计函数为:

很明显,不同的核函数可以构造实现输入空间不同类型的非线性决策面,它类似于一个3层前馈神经网络,其中隐节点对应于输入样本与一个支持向量的内积核函数,而输出节点对应于隐层输出的线性组合。常见的满足Mercer条件的核函数有线性核函数、多项式核函数、径向基核函数(简称RBF)、多层感知机核函数(Sigmoid)。

2 基于GA的参数优化

笔者选取径向基函数,构建ε-SVR地下水位预测模型,基于遗传算法,对其中的惩罚因子C、核函数参数 γ和不敏感损失函数参数ε等3个重要参数进行自适应寻优。

2.1 主要参数分析

惩罚因子C主要用来调和学习机器置信范围和经验风险的比例,以使学习机器的推广能力最好。由式(3)可知,惩罚因子C并没有出现在式(2)的对偶形式中,而是改变了拉格朗日系数的取值范围,因此,对于一个ε-SVR,如果无限制地增大惩罚因子C,当ε-SVR中没有边界支持向量时,C的改变不会再影响回归性能。通常,在确定的数据子空间中,C的取值小表示对经验误差的惩罚小,学习机器的复杂度小而经验风险值较大;反之亦然。前者被称为“欠学习”现象,而后者则被称为“过学习”现象。每个数据子空间至少存在一个合适的C使得SVM推广能力最好。当C超过一定值时,SVM的复杂度达到了数据子空间允许的最大值,此时经验风险和推广能力几乎不再变化。

核函数参数γ同样对模型精度有着重要意义。核函数是原始非线性样本在高维特征空间的映射函数,核参数的改变实际上是隐含地改变映射函数,从而改变决定最大 VC维的样本数据子空间分布的复杂程度,也就决定了超优分类面能达到的最小经验误差。从径向基核函数的表现形式可以看出,参数γ相当于对样本间欧式距离的归一化,判定了特征空间中向量间的距离。当 γ趋向于0时会发生严重的“过学习”现象,此时ε-SVR能实现允许精度下对训练样本的回归拟合,但对测试样本的泛化能力变得极差;当 γ趋向于无穷大时会发生严重的“欠学习”现象,此时ε-SVR的训练回归拟合能力变弱[4]。

不敏感损失函数参数 ε控制不敏感区域的宽度,它的值影响用于建立回归估计函数支持向量的个数,影响对偶变量的稀疏性[5]。合适的参数值能确保全局最小解和可靠泛化界的优势,但参数 ε数值偏大将产生相对较少的支持向量,从而导致回归估计函数比较简单,性能降低。

2.2 基于GA的参数寻优算法

GA是一种基于自然选择和群体遗传机理的新的全局优化求解方法,它模拟了自然选择和自然遗传过程中发生的繁殖、杂交和突变现象,能把自然界有机体的优胜劣汰的自然选择、适者生存的进化机制和在同一群体中个体之间的随机信息交换机制相结合,用以解决复杂问题[6]。GA优化参数步骤如下:

a.确定决策变量和约束条件。决策变量包括惩罚因子C、核函数参数 γ和不敏感损失函数参数ε。其中,核函数参数 γ的搜索区间为:;不敏感损失函数参数ε的搜索区间为:[0.01,0.20];惩罚因子 C的搜索区间采取如下方法确定[7-8]:选定某一足够大的C值,用该值训练ε-SVR求解出一组 αi(i=1,2,…,k),令 C1=max(αi),若 C1<C,则以 C1作为 C 的搜索区间上界,若 C1≥C,表明 C仍对 αi起约束作用,需要选择一个更大的C训练SVM,直至得到的C1远小于C为止,由此可以确定C的搜索区间(0,C1)。

b.染色体编码。染色体r采用二进制编码。每个算子由3段编码组成。即:r=A1,A2,A3,其中A1,A2,A3分别为惩罚因子C、核函数参数γ和损失函数参数ε的代码表示段。

c.初始群体的生成。随机产生 N个初始串结构数据,每个串结构数据即为一个个体,N个个体构成一个初始群体P(0)。遗传算法以这N个串结构作为初始点开始迭代。

d.适应度值评价检测。计算群体P(t)(t=0,1,2,…,n;n表示遗传代数)中各个个体的适应度。遗传算法按与个体适应度成正比的概率来决定当前群体中各个个体遗传到下一代群体中的概率。适应度函数定义如下[9]

式中:Ymin为某染色体rj所在世代的最小值;yi为样品数据实际值;y*i为ε-SVR的计算结果。

e.选择、交叉、变异算子。选择合适的算法,对群体中的个体使用选择、交叉、变异操作,使其产生经过遗传优化的下一代群体。

f.终止条件判断。群体P(t)经过选择、交叉、变异后形成下一代群体P(t+1)。若迭代次数大于某设定值或误差精度达到预定值,则中止迭代。

3 实例研究

利用ε-SVR进行地下水位预测,首先要确定影响地下水位的主要影响因素,构建地下水位ε-SVR预测模型;再通过调查或实测,选择包括影响因素在内的观测资料,建立训练样本集、验证样本集,利用ε-SVR模型进行学习训练,并通过参数优化确定惩罚因子及核函数参数。训练学习好的ε-SVR模型即可用于待测样本的回归拟合。

3.1 ε-SVR模型构建

利用文献[10]中某地傍河试验井24个月地下水位实测序列值作为ε-SVR分析的样本数据,选取河道流量、气温、饱和差、降水量、蒸发量5个因子作为影响该区域地下水位的潜在因素,通过相关性分析进一步确定影响该区域地下水位的因素。利用SPSS V13对经过归一化后的样本数据进行相关分析,分析结果见表1。从表1可以看出,气温与地下水位埋深相关性较小,为此,选取河道流量X1、饱和差 X2、降水量X3和蒸发量X4作为ε-SVR模型的输入向量的分量,并以预测地下水水位值Y作为该预测模型的输出值,选取径向基函数为核函数,建立该区域的地下水位预测ε-SVR模型:

已知该区域地下水水位实际测试数据样本点{Xi,Yi}(i=1,2,…,k;其中:Xi∈R4为影响地下水水位预测因素构成的向量,Yi∈R为相应的地下水预测水位值。用ε-SVR对已知的样本集进行学习训练,得到对应的地下水位预测模型:

表1 某地傍河试验井24个月地下水位因素相关分析

3.2 ε-SVR模型训练及预测

把24个样本数据分为2类:①训练样本20个(序号1~20);②验证样本 4个(序号21~24)。首先对训练样本和验证样本进行归一化处理,以消除单位差异和异常数据的影响;再采用遗传算法对惩罚因子C、模型参数 γ和不敏感损失函数参数ε进行寻优,以10类折叠交叉验证误差最小作为适应度函数,通过matlab编程实现参数自适应选取。实验结果为,惩罚因子C取值92.5695;模型参数γ取值0.3040;不敏感损失函数参数 ε取值0.0100。最后用确定参数对模型进行训练,并用验证样本进行拟合预测,回归结果见表2。作为比较,表2还列出了文献[10]中通过人工神经网络的训练拟合值。

3.3 ε-SVR模型回归分析

从以上回归拟合结果可以看出,经过参数寻优后的ε-SVR模型对训练样本(序号1~20)的拟合程度相当惊人,误差平方和仅为0.0022,回归系数达到0.9933。而利用训练好的模型对序号21~24的检验样本拟合结果也很好,绝对误差分别为:-0.008、0.02、0.08、-0.013,相对误差则分别为 :1.53%、0.31%、1.30%和 1.99%,平均相对误差仅为1.28%。与人工神经网络相比,无论是对训练样本的拟合能力,还是对检验样本的泛化能力均有较大程度的提高。

4 结 语

a.基于结构风险最小化原理的支持向量机具有逼近复杂非线性系统、较强的学习泛化能力,可以很好的用来解决非线性系统分类和回归问题。而基于遗传算法对SVM模型参数的自适应优选可以提升大大模型的泛化能力。

表2 地下水位ε-SVR模型训练结果

b.选择径向基核函数建立了地下水位ε-SVR预测模型,基于GA实现了惩罚因子C、核函数参数γ和不敏感损失函数参数ε的自适应优选,并运用建立的模型对某地傍河试验井地下水位进行了预测。实验结果表明,基于GA参数优选的ε-SVR模型可以很好地用于地下水位预测,其回归拟合能力优于人工神经网络。

c.需要说明的是,影响地下水埋深的因素较多,包括但不限于河道流量、饱和差、降水量、蒸发量等因素。笔者选取这4个变量作为模型输入,主要目的是为了验证模型方法的可行性。实际应用中,应根据研究区域的具体水文地质条件,充分考虑地下水埋深影响因素的时空分布特性,选取合适的影响因子进行地下水位预测。

[1] 祁亨年.支持向量机及其应用研究综述[J].计算机工程,2004,30(10):6-8.

[2] 张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):32-42.

[3] 王景雷,吴景社,孙景生,等.支持向量机在地下水位预报中的应用研究[J].水利学报,2003(5):122-127.

[4] 王睿.关于支持向量机参数选择方法分析[J].重庆师范大学学报:自然科学版,2007,24(2):36-38.

[5] 陈前平,徐斌.基于粒子群算法的支持向量机参数优化方法的研究[J].中国水运:理论版,2006,4(1):97-99.

[6] 雷英杰.MATLAB遗传算法工具箱及应用[M].陕西:西安电子科技大学出版社,2005:78-90.

[7] 周兆永,汪西莉,曹艳龙.基于GA优选参数的SVM水质评价方法研究[J].计算机工程与应用,2008,44(4):190-193.

[8] WANG W,XU Z,LU W.Determination of the spread parameter in the Ganssian kernel for classification and regression[J].Neurocomputing,2003,55(6):643-663.

[9] 于青,赵辉.基于GA的支持向量机参数优化研究[J].计算机工程与应用,2008,44(15):139-131.

[10] 郑书彦,李占斌,李喜安.地下水位动态预测的人工神经网络方法[J].西北水资源与水工程,2002,13(2):14-16.

猜你喜欢
惩罚向量样本
向量的分解
用样本估计总体复习点拨
聚焦“向量与三角”创新题
神的惩罚
小读者(2020年2期)2020-03-12 10:34:06
Jokes笑话
推动医改的“直销样本”
惩罚
趣味(语文)(2018年1期)2018-05-25 03:09:58
随机微分方程的样本Lyapunov二次型估计
向量垂直在解析几何中的应用
村企共赢的样本