高 宁,苗林光,苑春雨,高彩云
(1.河南城建学院 测绘与城市空间信息学院,河南 平顶山 467036;2.河南理工大学 测绘与国土信息工程学院,河南 焦作 454000)
中国是世界上自然灾害最严重的国家之一,滑坡灾害作为其中一种主要的地质灾害,因其分布广、破坏性强,所引起的损失惨重,已引起社会的广泛关注[1]。据中国地质环境信息网发布的中国地质灾害通报显示:2018-2020年3年间全国共发生地质灾害16 987起,其中滑坡发生的比例居地质灾害首位,占地质灾害总数的62.75%,因此,针对滑坡开展全面、科学的形变监测、预测及危险性评价,不仅是国际学术研究的热点问题,且对防灾、减灾具有重要的应用价值与现实意义。
由于滑坡成因的复杂性和多样性、数据的高度非线性等特点,使得滑坡灾变数据分析显得尤为困难[2]。基于数据驱动的机器学习方法SVM(Support Vector Machine,SVM)可根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以期获得最好的分析拟合效果,鉴于此,SVM已被广泛应用于各类滑坡灾变数据分析。文献[3-7]采用SVM算法构建了滑坡变形位移预测及危险评价模型,取得较好效果,并基于不同视角,对SVM算法进行了优化改进,例如核函数的构造形式、惩罚系数、核函数参数及松弛系数等关键参数的选取等,各种改进方法在一定程度上提高了SVM的预测评价精度。但面对具体的滑坡灾变数据,究竟应该采用何种类型的SVM并没有一定标准,而是通过大量尝试比较确定,而且SVM算法复杂,也没有成熟的商品化软件,特别是对SVM缺少了解的研究人员,很难用好这些模型,这给SVM算法在滑坡方面的大规模推广应用带来困难。
基于此,以标准SVM算法为基础,同时融合交叉验证CV(Cross-validation,CV)、遗传算法GA(Genetic Algorithm,GA)、粒子群PSO(Particle Swarm Optimization,PSO)等,构建了滑坡灾变数据智能分析体系,借助 MATLAB APP Designer强大的交互设计功能,实现滑坡灾变数据智能分析可视化系统的开发,以期实现滑坡灾害监测信息的科学化、信息化、标准化等,为防灾减灾决策提供科学支撑。
滑坡灾变数据智能可视化分析系统是集合多学科、多专业知识的一项复杂工程,主要涉及地质学、测绘数据处理、数学建模、智能算法、系统开发等。该系统总体功能结构分为数据源的导入、数据预处理及参数设置、滑坡位移预测、滑坡危险性评价、图形的可视化、成果输出与管理等功能。
1.2.1 支持向量机理论
支持向量机是一种以统计学习理论为基础的机器学习算法,它通过结构风险最小化原则,根据有限样本信息在模型的复杂性和学习能力之间寻求得到最优解,多用于非线性、多维度的数据处理[8-9]。
设滑坡数据的训练样本为:
D={(x1,y1),(x2,y2),…,(xi,yi)}i=1,2,…,i
(1)
将式(1)中的数据映射到高维特征空间,可以优化函数的解:
(2)
(3)
高斯核函数作为支持向量机模型中的核函数,引入γ为径向基函数(RBF),其数学表达式为:
K(Xi,Xj)=(φ(Xi)*φ(Xj))=exp(-γ||xi-xj||2)
(4)
将式(2)、式(3)优化方向转换为:
(5)
(6)
式(5)的最优化函数为:
(7)
式(7)中:αi为Lagrange乘子。
支持向量机要想构建最佳预测模型,需要寻找最佳的惩罚因子c和核函数参数g[4,10],为此本系统的核心算法关键技术设计在于参数优化。
1.2.2 交叉验证法CV优化参数c&g
交叉验证是一种统计分析方法,基本思想是在某种意义下将数据进行分组,一部分作为训练集,另一部分作为验证集,先对训练集进行训练,然后用验证集测试训练集得到的模型,以训练样本均方误差作为性能指标,流程图见图1所示。
图1 交叉验证算法流程图
1.2.3 遗传算法GA优化参数c&g
遗传算法是一种搜索最优解方法,它模拟生物进化机制,即从任意一个种群出发,通过随机选择、交叉、变异操作,产生更适应环境的新个体,通过群体不断进化,最后收敛于最适应环境的个体,从而求得问题的最优解[2],算法流程图见图2,在遗传算法应用在SVM模型中寻优时,将训练集的均方误差作为GA优化过程中的适应度函数值。
图2 GA-SVM模型计算流程图
图3 PSO-SVM模型计算流程图
1.2.4 粒子群PSO优化参数c&g
粒子群优化算法是一种有效的全局寻优算法,通过群体中粒子间的合作与竞争产生群体智能,在解空间追随最优的粒子进行搜索,找到全局最优解[5,10-11]。算法流程图见图3。
粒子群的核心算法见式(8):
(8)
式中:ω为惯性权重,c1,c2为学习因子,r1,r2为[0,1]随机数,vid为粒子的速度,xid为粒子所在的位置。
点击菜单栏数据读入的下拉菜单,可读取滑坡位移数据和滑坡危险性因素,见图4。
图4 数据读取界面
点击菜单栏数据预处理及参数设置的下拉菜单可以完成标准化区间设置、 SVM核函数设置、动态预测维数设置 、数据的滤波处理 、 CV优化参数设置、 GA优化参数设置 、PSO优化参数设置,如图5所示。
系统设计时,针对不同的滑坡位移曲线,设计了5种预测模型,分别为:标准SVM算法、滤波-SVM、CV-SVM、GA-SVM、PSO-SVM,如图6所示。
图5 数据预处理及参数设置界面
图6 滑坡位移预测界面
针对滑坡危险性评价时,考虑不同滑坡体所受内在因素与外界影响因素的不同,设计了4种评价模型,分别为:标准SVM算法、CV-SVM、GA-SVM、PSO-SVM,见图7。
图7 滑坡危险性评价界面
在滑坡预测过程中,通过可视化系统,可以完成滑坡原始数据可视化表达、智能优化算法寻优过程可视化表达、各类算法预测结果的可视化表达等,以交叉验证算法为例,参数优选图如图8所示。
图8 交叉验证SVM优选参数图
数据1:滑坡位移数据—古树屋滑坡。古树屋滑坡位于湖北省境内,沪-蓉-西高速宜昌至恩施段,地质环境属于典型的喀斯特地貌,其断面跨越两道峡谷,穿越8座高山,线路走向复杂,在巴东古树屋段施工过程中发现边坡有较大变形,对主滑方向3#监测点进行监测,位移监测数据共33期[12]。
数据2:滑坡危险性评价数据—重庆万州区滑坡体。重庆万州区地势东高西低,主要地貌形态是海拔500~1 000 m低山区,属于亚热带季风湿润带,雨量充沛,境内河流众多,呈枝状分布,溪涧切割深,落差大,均属长江水系,地质年代以侏罗纪分布最广,三叠纪次之,由于特殊的自然条件和地质环境,一直以来,该区域为受到滑坡和危岩崩塌地质灾害影响最为严重的地方之一,选取代表性滑坡体16个[13-14]。
利用所开发的智能预测系统,加载数据集1数据,1~25期作为建模样本,26~33期作为预测,分别采用CV-SVM、GA-SVM、PSO-SVM 3种模型,预测精度评价指标如表1所示。
表1 古树屋滑坡位移预测效果比较
由表1可知:CV-SVM、GA-SVM、PSO-SVM三种模型的预测值与实测值间的相关系数均可达到0.99以上,说明预测结果具有较高的可信性,其中GA-SVM的预测效果最优,PSO-SVM次之,CV-SVM相对较差。
利用所开发的智能预测系统,加载数据集2数据,1~10滑坡体作为建模样本,11~16滑坡体作为待评价样本,分别采用CV-SVM、GA-SVM、PSO-SVM 3种模型进行滑坡危险等级评价,评价结果如表2所示。
表2 万州区滑坡危险等级评价结果比较
从几种方法的判别结果并结合万州区滑坡现场调查情况来看,系统所构建的几种分级模型均具有较高的准确性。
(1)针对SVM经典算法的特点及其在滑坡灾变数据分析中存在的不足,采用CV、GA、PSO等算法进行优化改进,用户可以根据不同的滑坡数据特点灵活选择系统中的模型进行预测,扩展了 SVM算法的应用范围,提高了预测精度;
(2)基于MATLAB APP Designer进行系统设计开发,简化了布置用户界面可视组件的过程,能够开发稳定良好的图形窗口,可构建较好的交互环境,并充分发挥MATLAB的数值计算及图形可视化等功能;
(3)采用大量滑坡灾变数据对智能可视化分析系统进行测试,结果表明该系统可灵活导入导出数据,并进行可视化图形展示,所建立的模型预测值与实际值吻合,预测结果稳定;系统操作简单,可视化程度高,能够对滑坡灾害进行预测预报。