面板堆石坝渗流量AMPSO-SVM组合监控模型
2019-11-23郑东健张海龙刘永涛
晏 周 郑东健 张海龙 刘永涛
(1. 河海大学 水文水资源与水利工程科学国家重点实验室, 南京 210098; 2. 河海大学 水利水电学院, 南京 210098; 3. 河海大学 水资源高效利用与工程安全国家工程研究中心, 南京 210098; 4. 中国长江三峡集团有限公司, 湖北 宜昌 443000)
渗流量的大小反应面板堆石坝防渗系统的防渗效果,是分析和评价面板堆石坝安全的重要依据,也是大坝监测的必测项目[1].面板堆石坝的渗流监测分析有助于判断大坝是否存在渗漏破坏,掌握面板堆石坝的运行状况,为大坝的安全运行提供依据.为了准确、及时地监测和分析面板堆石坝的渗流状况,应建立渗流量监控模型.渗流量监控模型能够反映大坝效应量监测值的定量变化规律,确定渗流量与影响因素之间的确定性关系.目前对面板堆石坝的渗流监控模型的研究还不多,常用的主要还是统计回归模型,如多元线性回归、逐步回归等.传统的统计回归模型在处理复杂非线性的监测数据时效果不理想,泛化能力弱[2].近年来,人工神经网络也有所应用,但人工神经网络是基于启发式模式的,其理论基础还不十分完整,它的泛化效果差,有时只会记住训练数据,很难归纳样本外数据.基于统计学习理论的支持向量机(SVM)具有很好的泛化能力,能较好地解决小样本、非线性、高维等问题[3].SVM建模时,惩罚参数C和核函数参数σ的选取会直接影响模型非线性能力,进而影响模型精度.粒子群算法(PSO)在非线性函数优化方面表现出良好的性能,经常用于C和σ的寻优,但PSO在运算初期收敛速度快,在运算后期会出现粒子多样性降低,搜索精度低,容易发散等问题[4].本文提出一种新的自适应变异粒子群优化算法(AMPSO),根据平均粒子间距的变化对惯性权重进行非线性调整,在算法后期引入具有突变扰动的速度更新公式增大种群多样性.采用该改进的粒子群优化算法和支持向量机,建立了AMPSO-SVM面板堆石坝监控模型.通过实例的分析与比较,表明该模型具有简便、高效、拟合与预测精度高等优势.
1 支持向量机
支持向量机(Support Vector Machine,SVM)被广泛用作线性和非线性分类以及回归问题简单而有效的工具,它是一种基于统计学习理论的监督机器学习算法.SVM是基于统计学理论的结构风险最小化原则来训练非线性关系的,它提供了更好的泛化能力,并且通过最小化泛化误差的上界来估计函数[5].SVM回归的基本思想是通过非线性映射将数据映射到高维特征空间,并在此特征空间中进行线性回归[6].SVM不仅有很好的理论基础,在实际应用中也很有优势.
假设有一组样本集G={(x1,y1),(x2,y2),…,(xn,yn)},其中x∈Rd(i=1,2,3,…,n)为输入向量以及对应的输出值yi∈{-1,+1}(i=1,2,3,…,n),n为样本数.
(1)
为了方便求解该优化问题,引入拉格朗日函数
(2)
其中,αi为拉格朗日乘数.若要求w、b的最小值,可分别对拉格朗日函数关于w、b求偏导,而且要满足KKT条件
(3)
问题被转化成了对偶问题,可以在约束条件下求αi的最大值
(4)
f(x)=sgn{(w*·x+b*)}=
(5)
式中,sgn是符号函数,b*为分类阈值.
对于线性不可分情况,需要引入松弛变量ξi>0(i=1,2,…,n),松弛的分离约束条件如下:
(6)
最优分类超平面可通过下列公式得到:
(7)
式中,C是一个正则化参数,用于在训练误差和分类间隔之间进行权衡.
SVM将输入向量x从输入空间Rd通过核函数非线性映射到更高维的希尔伯特空间,然后在高纬空间中进行线性回归,找出最优分类超平面.对于一个给定的数据集,正则化参数C和核函数都被确定后,才可以指定一个支持向量机.本文核函数选择计算效果较好的径向基核函数(RBF)
(8)
2 改进粒子群算法
最初的粒子群算法(PSO)是由Kennedy和Eberhart于1995年提出,它是基于集群现象的一种随机全局优化算法,来源于对鸟群捕食等社会行为的研究[7],它具有控制参数少、收敛性好、易于实现等优点,自诞生以来在进化计算领域引起了世界各国的广泛关注.粒子群算法有两个群体:一个群体是粒子S的个体最优解(即Pbest),另一个群体是粒子S的群体最优解(即Gbest).前者作为搜索空间中的候选解,后者用于指导前者的更新.在粒子群算法中,每个粒子根据自身的飞行经验和搜索空间中其他粒子的飞行经验,通过动态改变每个粒子的速度来调整搜索空间中每个个体的轨迹[8].
在D维空间中,第i个粒子的位置可用D维向量表示为Xi=(Xi1,Xi2,…,Xid)T,速度可表示为Vi=(Vi1,Vi2,…,Vid)T.根据用户定义的适应度函数,假设时间t时每个粒子的最佳位置为Pi=(Pi1,Pi2,…,Pid)T,目前发现的最佳粒子为Pg=(Pg1,Pg2,…,Pgd)T.那么,下一次适应度计算时粒子的新速度和位置可按以下两个数学公式表示:
(9)
(10)
式中,c1、c2为加速度系数,用它们对每个粒子飞向Pbest和Gbest位置的随机加速项权重进行修正;r1和r2表示在范围[0,1]内的两个随机数;w是用于平衡全局和局部搜索的惯性权重,一般来说惯性权重较大时有利于全局搜索,较小时有利于局部搜索.
粒子群算法作为一种随机优化技术,不能避免陷入局部最优和收敛速度慢的问题.在上述分析的基础上,提出了一种基于动态非线性变惯性权重的自适应变异粒子群优化算法(AMPSO).采用平均粒子间距作为粒子群多样性的评估依据,根据平均粒子间距的变化对惯性权重进行非线性调整,在算法后期引入具有突变扰动的速度更新公式,使粒子群在后期依然能保持良好的种群多样性.改进后的粒子群算法能够快速收敛,也可有效避免陷入局部最优和过早收敛问题.
2.1 基于APS的惯性权重动态改变
采用平均粒子间距(APS)来评估PSO的早熟收敛现象.APS能识别单个粒子之间距离的大小,可以描述单个粒子之间的分散程度,APS定义如下[9]:
(11)
惯性权重w对粒子群算法的性能有很大的影响,惯性权重w较大时有利于提高算法的收敛速度,惯性权重w较小时有利于提高算法的收敛精度.针对惯性权重w的特点,一般改进w时采用逐渐递减的方法,保证在迭代初期由较大的w值,从而加速收敛,w值逐渐减小,避免陷入局部最优.在这些递减策略中,w值只是逐渐的试探性下降,没有任何因子做指导[10].本文采用一种基于APS新的非线性递减策略,根据种群多样性S(t)的变化来非线性调整惯性权重
(12)
式中,S(t)表示平均粒子间距.改进后的惯性权重w与平均粒子间距S(t)的关系曲线如图1所示.
图1 惯性权重曲线
2.2 算法后期增加粒子种群多样性
粒子多样性的降低,会使粒子群算法在应用中存在过早收敛问题.为了保持种群的多样性,本文引入了慢变函数,可以形成突变扰动,有效地避免陷入局部最优的现象,使所有粒子都能在较大范围内搜索解空间.
在粒子群优化的早期阶段,粒子按照公式(9)相互靠近.粒子向彼此移动会导致种群多样性逐渐减少,当S(t)小于某个特定值dmin时,可采用加入扰动的速度更新公式
(13)
在算法后期,粒子不再相互吸引,而是相互远离.采用加入扰动的速度更新公式,能够增加种群多样性[11].种群粒子将一直处于这个阶段,直到多样性达到一个更高的值dhigh.一旦达到所需的更高值dhigh,群粒子又回到相互吸引阶段,相同的过程不断重复,直到获得全局最优.通过试验得到多样性参数dmin和dhigh的值分别为5×10-6和0.25.
3 AMPSO-SVM模型的建立与实例应用
3.1 AMPSO-SVM模型的建立
1)对监测样本进行归一化处理,确定出训练样本数据和预测样本数据.
3)适应度值计算.使用适应度函数对每个样本数据进行适应度计算,更新个体最优解Pbest和群体最优解Gbest,本文采用的适应度函数为
(14)
4)使用公式(11)计算平均粒子间距S(t).
5)根据步骤4计算出的平均粒子间距,如果S(t)大于dmin,则转到步骤6;如果S(t)小于dmin,则转到步骤7,然后转到步骤8.
8)计算适应度函数F(x),更新个体最优解Pbest和群体最优解Gbest.
9)判断是否满足迭代终止条件,如果满足则停止迭代,否则转到步骤4继续循环.
3.2 实例应用
某钢筋混凝土面板堆石坝,最大坝体高度为120 m,坝顶所处高程为760 m,坝顶的左右岸长度为259.8 m.该坝在下游河床中部坝下0+180的坝后截水墙上,在集水池的左、右两边各布置1个90°角的三角堰量水堰,共2个.大坝总渗漏量通过左、右两边量水堰观测值计算得到.选取2015年8月23日~2018年5月7日共120组数据用来拟合,取2018年5月15日~2018年10月29日20组数据用来预测.
采用下列公式对样本进行归一化处理,将样本数据归一化到[0,1]区间内
(15)
其中,Xmax、Xmin分别为每组样本数据的最大值和最小值.
初始化粒子种群:种群迭代次数设为500,种群数目设为20,加速度系数c1和c2的取值均为2,dmin=5×10-6,惩罚因子C和核函数参数σ的取值范围分别设为[0.1,100]和[0.01,10].图2为两种模型适应度的变化情况,从图可以看出AMPSO-SVM的最佳适应度要好于PSO-SVM模型,在迭代过程中AMPSO-SVM模型的适应度值也基本一直优于PSO-SVM模型.
图2 两种模型的适应度比较
为了更方便比较两个模型的精确度,将两个模型的拟合结果与预测结果放在一起进行比较,两个模型的拟合结果如图3所示,并利用复相关系数R、均方根误差(RMSE)比较改进前后两模型的拟合精度,结果见表1.为了验证改进模型的预测效果,利用改进前后模型对20组监测数据进行了预测,比较结果如图4所示,其中10组监测数据的实测值与预测值的比较见表2.采用均方根误差、平均相对误差(MRE)以及复相关系数R比较两种模型的预测精度,两种预测模型的主要统计参数见表3.
图3 两种模型的拟合曲线
模型RRMSE(L/S)AMPSO-SVM0.95360.2136PSO-SVM0.89760.2601
图4 两种模型的预测曲线
序号实测值AMPSO-SVM预测值 相对误差/%PSO-SVM预测值 相对误差/%14.324.494.173.55-17.6923.413.595.123.698.0833.393.31-2.543.482.4343.333.03-9.043.566.8453.283.21-2.233.434.7562.743.0812.223.3421.7073.503.685.413.767.5983.193.16-1.083.241.5994.233.96-6.334.12-2.60104.133.94-4.763.82-7.62
表3 预测段精度评价指标
由图3可以看出,两种模型的拟合效果都不错,但是AMPSO-SVM模型拟合曲线总体上更接近实测曲线,拟合效果要好于标准PSO-SVM模型.由表1可知,AMPSO-SVM模型拟合曲线的均方根误差为0.213 6 L/S,PSO-SVM模型拟合曲线的均方根误差为0.260 1 L/S,AMPSO-SVM模型复相关系数R为0.953 6,标准PSO-SVM模型复相关系数R为0.897 6,可以看出改进的模型无论在拟合精度还是在拟合稳定性上都要优于标准PSO-SVM模型.
从图4和表2、表3可以看出,运用AMPSO-SVM模型求出的预测值更优,相对误差最大值为12.22%,相对误差平均值为5.28%,均方根误差RMSE为0.296 L/S,复相关系数R为0.905,运用PSO-SVM模型求出的预测值,相对误差最大值为21.70%,相对误差平均值为8.09%,均方根误差RMSE为0.427 L/S,复相关系数R为0.791.通过对比可以看出,AMPSO-SVM模型的预测精度更高,对非线性的面板堆石坝渗漏量的预测更稳定,泛化能力也更强.
4 结 论
提出基于动态非线性变惯量权重的自适应粒子群算法(AMPSO),加入突变扰动的速度更新公式,使粒子群在算法后期依然保持良好的种群多样性,该算法有效避免易陷入局部最优和收敛速度慢和过早收敛等问题.采用改进的粒子群优化算法对影响支持向量机(SVM)性能的惩罚参数C和核函数参数σ进行优化,建立了一个用于面板堆石坝渗流量监控的AMPSO-SVM模型.该模型与标准PSO-SVM模型的比较结果表明,该模型对非线性的面板堆石坝渗漏量的拟合和预测能力明显好于标准PSO-SVM模型.改进后的模型可作为一种有效的面板堆石坝渗漏量监控模型,具有很好的实用价值.