基于PSO优化K-Means算法的边坡安全等级评价研究
2020-03-11仲静文郝利朋
仲静文,郝利朋,周 健
(南京市水利规划设计院股份有限公司,江苏 南京 210001)
1 概述
据自然资源部发布2018年《全国地质灾害通报》,2009_2018年的十年,泥石流等各种地质灾害造成了约440亿元的直接经济损失,死亡或失踪总人数达6000余人[1]。由此可见,我国仍是滑坡泥石流灾害高发国。由于滑坡和泥石流在本质上都是边坡失稳的过程,所以做好边坡的安全评价的工作尤为重要,从而做好危险边坡的预警除险[2]。由于影响岩石边坡稳定性的因素众多,对于边坡的稳定性研究,主要包括3大类[3~6]:理论计算法,比如传统的极限状态平衡分析法;通过软件数值计算模拟的途径,例如突变理论法;具体工程对比法,有SOFM神经网络法、改进蚁群算法及支持向量机评价法等[7~10],其具有影响边坡安全的复杂因素整体综合分析的特性及运用快速简易的特点。因此可采用聚类分析方法展开边坡的工程类比,依据相似性对工程进行聚类研究,则可以根据工程的相似性方法对边坡安全等级展开分析评价。
在前人研究的大量聚类算法中,其中由于K-Means聚类算法的优点明显,比如该算法实现操作简单并可以解决大资料库问题[11],所以K-Means算法是该领域分析应用深度较深的聚类算法之一。但同时K-Means聚类算法也存在对初值k比较敏感,使得聚类结果的不稳定,而且易陷入局部最优而非全局最优的困境等缺陷。为了尽可能避免K-means聚类算法的这些劣势,在实际运用时应对其优化。在优化算法中,粒子群优化混合算法已经被广泛地运用到水工建筑物的评价,例如吕蓓蓓等人[12]采用粒子群算法,对输入大坝安全监测数据进行聚类处理,验证了混合算法的预测精度更高。王伟等人[13]将逐步模糊聚类和粒子群与模糊聚类混合算法应用于大坝安全监控模型,结果表明结合智能算法的混合聚类算法能够有效提高区间预报精度。由于粒子群算法具有全局寻优能力和分布式随机搜索特性能较好地解决K-Means算法的问题,并提高其结果精度。本文引入粒子群算法,给出改进K-Means聚类算法的实现过程,并结合实际工程进行计算。
2 基于粒子群优化聚类算法在边坡安全评价的实现
2.1 K-Means算法
K-Means算法是一种通过计算簇中对象平均值进而实现划分的聚类算法,其中该算法为了能得到全局最优的结果采用穷举所有的划分。K-Means算法的输入为数据库和划分簇的数目k;输出为满足聚类准则最小的k个簇。该算法实现的基本步骤[14]:
(1)在整个数据库样本n中,随机确定k个簇中心mi(i=1,2,…,k),通过式(1)可以得到信息库中所有p与k个mi的距离d(p,mi)。
(1)
式中,i=(xi1,xi2,…,xin)与j=(ji1,ji2,…,,jin)均为n维的数组。
(2)把距离dmin的p划进和族中心一样的簇;接着依次处理每一个p,通过式(2)再次得到簇中心。
(2)
式中,mk—第k个簇中心,N—第k个簇中元素的数量。
(3)把信息库中的对象给到最相近的簇,并要满足式(3)的聚类准则。衡量簇内对象p的相似度采用平方误差准则,即聚类准则函数:
(3)
式中,E—全部对象p的平方误差和,mi—聚类簇Ci的中心值。
2.2 PSO优化算法
由于K-Means算法选取初始聚类的随机性强,使得聚类结果随着k不同而不稳定。本文引进PSO优化算法,通过PSO优化改进后避免常规K-Means算法因局部最优而陷入极值的缺点而得到较优的初始聚类中心,从而结果全局最优。Omran等人[15]于2002年为高效地解决图像分类问题编写了PSO优化的聚类算法。其中,粒子的适应度函数Je:
(4)
式中,Nc—聚簇的个数,zp—数据向量,mj—簇Cj的中心。
PSO聚类算法首先随机选择簇中心,并幅值给各个粒子,随机生成一批速度向量V,迭代过程中,粒子通过跟踪全局极值Gbes与个体极值Pbestt以更新自己的速度与位置:
Vk+1=wVk+c1r1(Pbest-Xk)+c2r2(Gbest-Xk)
(5)
Xk+1=Xk+Vk+1
(6)
式中,k—当前迭代次数;V—粒子速度;X—粒子位置;粒子速度与位置由用户自定义,在聚类中即为当前粒子所代表的聚类中心的位置;c1和c2—加速常数;w—惯性因子;r1、r2均是[0,1]均匀分布的随机数。
2.3 基于粒子群优化聚类算法的实现流程
由于K-Means聚类方法的结果不稳定且对初值敏感度高,为了提高K-Means方法的稳定性和精度,则利用具有全局性和随机性强的粒子群算法对K-Means方法进行优化[16]。从而可以将对边坡安全评价的具体问题转化为数学问题进行分析解决。基于PSO优化K-Means法的实现步骤:
(1)首先选择聚类族的数目,给出起始聚类中心矩阵以及或然给出粒子的V初始。
(2)得出所有粒子的隶属度,再次确定聚类中心并求出粒子的适应值与极值。
(3)依据所有粒子的极值,确定全局极值及其位置。
(4)重新确定粒子的速度且要求其速度不超过Vmax,继而通过位置关系再次确定粒子位置。
(5)假如不符合迭代条件,再次转到(2)执行;假如符合,即得到最优粒子的位置。
基于粒子群算法优化的K-Means聚类算法的流程图如图1所示。
图1 基于粒子群的K-Means算法的流程图
3 优化聚类算法的应用实例
本文采用基于粒子群优化的聚类算法对文献[17]中提供的36个三峡库岸边坡数据展开研究计算,基本数据见表1。表1中资料数据是根据对影响边坡稳定安全的因子定量化分析确定的结果,采用10分制指标。为了和文献中方法进行对比,也采用边坡稳定6级分类法,以Ⅰ-Ⅵ表示。
表1 三峡库岸边坡综合评价指标
表2 边坡稳定性分析结果
表2列出了文献中常规K-Means聚类法及PSO优化聚类法的计算结果。由表2可以分析得到:粒子群优化聚类算法的结果与传统聚类方法结果总体一致,但与极限平衡法的结果[18]跟更为接近,且降低了计算结果的误差。其中在36个边坡中,有28个与传统聚类方法结果一致,有1个边坡稳定级别比传统聚类算法高一级,有7个边坡稳定级别比传统聚类算法低一级。这表明粒子群聚类具有良好的处理局部极值的能力,提高了分析结果的稳定性,且计算简便、精度较高,可以用来作为岩石边坡稳定性分析的方法。
4 结语
(1)本文建立了基于粒子群优化K-Means聚类算法的边坡评价方法,并针对三峡库岸的监测数据进行了粒子群优化聚类分析,计算过程简单,结果能够较好拟合理论计算方法,表明聚类方法在水工领域中有着广泛的应用与较大的潜力。
(2)该优化算法快捷方便,结果可靠度高,能迅速对边坡安全情况进行评价分级,可以推广至其它类型的边坡安全评价和监控。
(3)如何将优化聚类算法更好地结合大坝资料分析以及建立实时的监控模型,是需要研究者进一步深入研究的。