[发明专利]基于直觉模糊密母PSO-LSTM的滑坡位移预测方法有效
申请号: | 202110244201.6 | 申请日: | 2021-03-05 |
公开(公告)号: | CN113033879B | 公开(公告)日: | 2023-07-07 |
发明(设计)人: | 王毅;王侃琦;张茂省;李静;段焱中;李晓梦 | 申请(专利权)人: | 西北大学 |
主分类号: | G06N3/0442 | 分类号: | G06N3/0442;G06N3/048;G06N3/082;G06N3/086;G06N3/006;G06N7/02 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 王芳 |
地址: | 710069 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 直觉 模糊 pso lstm 滑坡 位移 预测 方法 | ||
1.一种基于直觉模糊密母PSO-LSTM模型的滑坡位移预测方法,其特征在于,包括如下步骤:
第1步:收集造成滑坡位移的特征数据并清洗数据,构成训练样本和测试样本,建立初始LSTM模型,为所述基于直觉模糊密母PSO-LSTM模型的滑坡位移预测方法设定参数;所述特征包括滑坡位移距离、降雨量、气温、湿度和土壤水分;
第2步:初始化探索子种群和开发子种群,并计算各子种群中每个粒子的适应度;具体包括如下子步骤:
步骤21:在第1步的搜索空间范围内,随机产生n1个粒子作为探索子种群,初始化探索子种群中第i个粒子的位置xi、粒子的历史最优解pi、粒子的速度vi,公式如下:
xi,j=r(ubj-lbj)+lbj,i∈{1,2,...,N},j∈{1,2,...,D} (1)
vi,j=r(Vmaxj-Vminj)+Vminj (2)
其中,r是一个[0,1]上的随机数,ubj、lbj分别表示ub和lb的第j维向量,Vmaxj和Vminj分别表示第j维上每个粒子的速度的上、下限,探索子种群的速度在j维的上、下限分别为Vmaxj=ubj、Vminj=lbj;初始时pi=xi;xi、pi、vi分别为14维的向量;xi,j表示粒子i在第j维上的位置;vi,j表示粒子i在第j维上的速度;
步骤22:计算步骤21的初始化后的探索子种群中每个粒子的适应度,选出适应度最小的探索子种群粒子的位置EBest;
步骤23:在步骤22得到的Ebest邻域范围内,随机产生n2个粒子作为开发子种群,初始化开发子种群中第i个粒子的位置xi、粒子的历史最优解pi、粒子的速度vi的公式如下:
vi,j=r(Vmaxj-Vminj)+Vminj (4)
其中,r是一个[0,1]上的随机数,xi,j表示粒子i在第j维上的位置,vi,j表示粒子i在第j维上的速度,EBestj表示探索子种群中适应度最小粒子的位置在第j维上的值;
步骤24:计算步骤23的初始化后的开发子种群的每个粒子的适应度;
第3步:若探索子种群聚集度到达阈值时执行碰撞反弹算子,否则执行第4步;所述探索子种群聚集度是否大于阈值的具体判断方法:
从当前的探索子种群中随机选出一个粒子,计算该粒子邻域内中包含的探索子种群的粒子数量,记为neib;粒子i邻域定义为[xi,j-Rj,xi,j+Rj],j∈{1,2,...,j,...,D};若neib>λn1则执行碰撞反弹算子,具体是利用式(6)更新探索子种群中所有粒子的速度、利用式(5)更新粒子的位置,得到更新后的探索子种群;
xi,j=max(min(xi,j+vi,j,ubj),lbj) (5)
vi,j=max(min(u′i,j,Vmaxj),Vminj) (6)
式(7)中collSeti表示粒子i邻域内粒子的集合,u′i=[u′i,1,u′i,2,...,u′i,j,...,u′i,D]是一个D维向量,其中u′i,j是u′i在第j维上的标量;式(8)中vi和vk表示粒子i和k的速度,mi和mk表示粒子i和粒子k的质量,是两个实数,都由式(9)计算而得;式(9)中fiti表示粒子i的适应度,minfit表示探索子种群中最小的适应度值,δ是一个防止分母为0的量,δ=1;
第4步:更新探索子种群位置和速度,计算适应度并更新历史最优解;具体包括如下子步骤:
步骤41,分别利用式(11)、式(13)更新第3步得到的更新后的探索子种群中所有粒子的速度和位置,得到更新后的探索子种群;
式中,CE1,CE2是两个[0,2]上的常数CE1=CE2=2;是一个[0.4,1]上的随机数,表示第t次迭代时探索子种群的惯性权重;r1,r2是两个[0,1]上的随机数;对于任意粒子i的速度其所有维度上的标量共用同样的r1,r2;是的第j维标量,表示第t次迭代时探索子种群中适应度最小的EB个粒子位置之一,k从EB个粒子中随机选择,EB提前预设且EB∈{1,2,...,n1},EB=3;是的第j维标量,表示粒子i至第t次迭代为止所找到的最优位置;是在第j维上的标量,是在第j维上的标量;
步骤42:计算步骤41得到的更新后的探索子种群中每个粒子的适应度;
步骤43:更新探索子种群所有粒子的历史最优解;
具体是:遍历步骤41得到的更新后的探索子种群的粒子i,若则令否则对前EB个最优的粒子执行精英保留策略,也即是若这些粒子在更新后比未更新时适应度更大,则是最佳的RB个粒子之一对应的位置;
第5步:计算开发子种群中每个粒子的拉马克因子;具体包括如下步骤:
步骤51:判断当前的开发子种群的所有粒子对应的集合seti是否都是空集,是则执行本步骤,然后执行第6步,否则执行52;
具体操作为:遍历开发子种群中每个粒子;从开发子种群中随机选出两个粒子k和粒子1;若则令否则令setl=setl∪i;
步骤52:计算开发子种群中每个粒子的拉马克因子η;
具体是:(1)计算所有满足的粒子的拉马克因子;
其中表示粒子k在第t次迭代时的适应度;表示粒子i在第t次迭代时的拉马克因子;
(2)对满足的粒子i,其ηi等于第t次迭代时所有大于0的η的均值,即如下式:
其中avg表示求平均值函数;
步骤53:判断的粒子个数是否少于2,是则执行本步骤,然后执行第6步,否则执行54;
具体是:先将当前的开发子种群所有粒子对应的集合seti置为空集;随后遍历开发子种群中的每个粒子,从中随机选出两个粒子k和粒子1;若则令setk=setk∪i;否则setl=setl∪i;执行第6步;
步骤54:通过联赛机制为当前的开发子种群的每个粒子选择
具体操作为:先将当前的开发子种群的所有粒子所对应的集合seti置为空集,随后遍历当前的开发子种群中每个粒子;从的粒子中随机选出两个粒子k和1;若则令否则setl=setl∪i;执行第6步;
第6步:更新开发子种群粒子的速度和位置,计算开发子种群中每个粒子的适应度,并更新历史最优解;具体包括如下子步骤:
步骤61:对于开发子种群中的每个粒子,分别利用式(17)、式(19)更新粒子i的速度、位置;
式中,CM1、CM2是两个[0,2]上的常数,CM1=CM2=2;是一个[0.2,0.8]上的随机数,表示第t次迭代时开发子种群的惯性权重;r1、r2是两个[0,1]上的随机数;对于任意粒子i的速度其所有维度上的标量共用同样的r1,r2;是MBestt的第j维标量,MBestt表示在第t次迭代时开发子种群中适应度最小的粒子的位置;是在第j维上的标量;是在第j维上的标量;
步骤62:计算步骤61得到的更新后开发子种群中每个粒子的适应度;
步骤63:更新开发子种群所有粒子的历史最优解;
具体是:遍历步骤62得到的更新后的开发子种群的粒子i,若适应度则令否则
第7步:判断开发子种群是否收敛,若收敛则通过直觉模糊决策从当前的探索子种群中选出最优目标区域,否则执行第8步;
第8步:判断是否满足迭代结束条件,若不满足则迭代次数加1,返回第3步,若满足则进入第9步;
第9步:将搜索得到的最优解解释为LSTM;用训练样本训练该LSTM模型,得到最终预测模型,具体包括如下子步骤:
步骤91:从第4步更新后的探索子种群和第6步更新后的开发子种群中选出适应度最小的粒子作为最优粒子Best,将Best的位置xbest上每一维上的值转化为LSTM模型中对应的超参数;
步骤92:用第1步得到的训练样本训练该模型,得到训练好的LSTM模型;
步骤93:将待测试的滑坡位移的特征数据代入训练好的LSTM模型,得到预测的滑坡位移距离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110244201.6/1.html,转载请声明来源钻瓜专利网。