基于多拓扑分级协同粒子群LSTM的滑坡位移预测方法与流程

专利2022-05-09  36


基于多拓扑分级协同粒子群lstm的滑坡位移预测方法
技术领域
1.本发明属于滑坡治理技术领域,尤其涉及一种基于多拓扑分级协同粒子群lstm(multi

topology hierarchical collaborative hybrid particle swarm optimizerfor long

short term memory,mhchpso

lstm)模型的滑坡位移预测方法。


背景技术:

2.粒子群

长短时记忆网络(pso

lstm)模型是一种组合优化预测模型。其中,粒子群(particle swarm optimization,pso)算法是一种全局优化算法。由于pso能够在不可导、不连续、甚至不存在目标函数的黑箱问题上寻优,以及实现简单等优势,其被广泛的应用于各种实际工程问题中。lstm(long

shortterm memory)神经网络是循环神经网络(recurrent neural network,rnn)的一种。由于其内部的lstm单元包含输入门、输出门、遗忘门,具有高效处理具有顺序关系的序列数据,以及有效计算序列前后的关联性能力。因此,其在自然语言处理和时间序列预测上有较大的优势。pso

lstm模型通常利用粒子群算法的全局优化能力参与神经网络训练过程中的特征选择以及神经网络模型超参数选择两个步骤。具体而言,该模型首先利用粒子群算法的全局搜索能力分析所有备选特征并在全局空间上优化备选特征,减少冗余、非必要特征以及对预测结果无关的特征,从而到达减少模型计算量、减少非必要特征干扰、提高模型精度的目的。其次,利用粒子群算法的快速收敛能力对lstm模型的网络结构进一步的优化,从而提升lstm模型对具体预测模型的适应能力。
3.然而,滑坡位移预测问题天生拥有特征维数高、数据信息冗余度高、特征非线性等客观问题。而外部环境因素(降雨、地震、人类活动等)和设备因素(检测设备损毁、检测设备精度不足等)造成的信息不确定、模糊、高噪声等问题更进一步加剧了滑坡位移预测的复杂性。这些问题致使粒子群算法容易陷入局部最优,导致lstm网络结构不能适应实际滑坡问题,进一步导致pso

lstm模型预测精度不高。
4.综上所述,现存的问题是:由于滑坡位移预测天然存在的一些问题,造成了特征数据抽象、模糊、非线性、高噪声等问题,这些问题共同造成了pso

lstm模型不适配,预测精度难以提高。


技术实现要素:

5.针对现有技术存在的问题,本发明的目的是提供一种基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,具体包括如下步骤:
6.步骤1:收集滑坡位移数据并对数进行预处理;
7.步骤2:建立初始lstm网络模型,并设计解向量结构;
8.步骤3:设定参数;
9.步骤4:根据解向量结构初始化种群,计算个体适应度并划分拓扑;
10.步骤5,计算快速收敛拓扑中每个个体的拉马克因子,并利用得到的拉马克因子更
新快速收敛拓扑,得到更新后的快速收敛拓扑;
11.步骤6,根据拓扑更新公式更新各拓扑中所有个体的速度及位置;
12.步骤7,计算所有拓扑中的个体适应度,并更新各拓扑的最优个体;
13.步骤8,判断快速收敛拓扑已收敛,若未收敛则进入步骤9;否则进入步骤10;
14.步骤9,判断快速收敛拓扑的最优解是否为全局最优解,若是,则用快速收敛拓扑的最优解替换任一协同拓扑中的任意一个个体;否则用全局最优解替换快速收敛拓扑的最优解;
15.步骤10,判断协同拓扑1和协同拓扑2都已收敛,若收敛,则从多样性拓扑中随机选择两个个体,分别替换两协同拓扑中的一个个体,执行步骤11;否则直接执行步骤11;
16.步骤11,判断是否至少存在1个协同拓扑收敛。若是,则从协同拓扑1和协同拓扑2分别随机选出一个个体,然后进行交换;
17.步骤12,令迭代数加1,判断是否满足迭代结束条件,是则返回步骤5;否则进入步骤13。
18.步骤13,输出最终lstm模型;利用训练样本进行训练得到最终lstm模型,将待测试的滑坡位移的特征数据代入lstm模型,得到预测结果。
19.进一步的,所述步骤1中,滑坡位移数据包括但不限于以下特征数据:降雨量、土壤湿度、滑坡位移距离、气温、气压、大气湿度;
20.所述清洗收集到的数据,处理方式包括:统一格式/单位、去除无效数据、去除不合理数据、去除离群噪声点、填充数据。
21.进一步的,所述步骤2包括如下操作:
22.建立初始网络模型,包括1层lstm、2层全连接层fc、输出层;lstm模型的损失函数为均方误差函数,反向传播算法为adam算法;
23.解向量结构设计包括三部分的设计:特征选择、时间步步长stepn、lstm模型超参数;
24.特征选择:通过二进制与十进制间的转换压缩搜索空间维数,共14个特征,化为2个0

127的十进制数;
25.时间步步长:时间步stepn是一个整数,取值为2

7;
26.模型超参数:每一层网络都有两个参数分别是隐藏单元个数以及激活函数,所有隐藏单元个数在16

48之间寻优,激活函数由0,1,2表示,分别表示sigmoid、tanh、relu函数;模型共3三层6个超参数,前三个超参数表示层1、层2、层3的隐藏单元个数,后三个超参数表示层1、层2、层3的激活函数;
27.搜索空间的上界ub=[127.4,127.4,7.4,47.4,47.4,47.4,2.4,2.4,2.4];下界1b=[0.5,0.5,1.5,15.5,15.5,15.5,

0.4,

0.4,

0.4];搜索维数d=9,搜索空间中的每个解是一个9维向量,其中前两个标量用于表示第一部分信息进行特征选择;第3维标量表示第二部分信息用于构成样本;第4

9维表示第三部分信息用于构成网络模型。
[0028]
进一步的,所述步骤3包括如下操作:
[0029]
需设定的参数有包括:种群规模n;最大迭代次数maxiter;搜索空间上界ub;搜索空间下界lb;搜索维数d;多样性拓扑中levy飞行控制参数β=[1,3];拉马克机制阈值s,s=2,

,n;快速收敛拓扑收敛判定次数n,n=2,

,16;快速收敛拓扑收敛判定精度∈;协同拓
扑邻域neig;协同拓扑1权重控制参数a∈(0,1),u1和l1;协同拓扑2权重控制参数u2和l2;个体的速度上限vmax和下限vmin;粒子群控制参数c1∈[0,2],c2∈[0,2];
[0030]
n=12;maxiter=20;β=1.5;s=2;n=2;∈=0.001;邻域neig第j维上的标量a=0.9;u1=u2=1.2,l1=l2=0.8;vmax第j维上的标量vmin=

vmax;c1=c2=2;ub
j
和lb
j
分别表示搜索空间上界ub和下界lb的第j维向量;
[0031]
令迭代计数器t=1,激活点ap=1。
[0032]
进一步的,所述步骤4包括如下操作:
[0033]
步骤4

1:根据步骤3中的种群规模n,初始化n个个体,得到由初始化个体构成的种群;
[0034]
其中,初始化个体包括初始化个体的位置个体的速度个体的历史最优位置初始化方法采用随机初始化;其公式如下:
[0035][0036][0037]
上式中是在第j维上的标量,是在第j维上的标量,ub
j
,lb
j
,vmax
j
,vmin
j
分别表示ub,lb,vmax,vmin在第j维上的标量,ub,lb,vmax,vmin定义如步骤3,任意时刻lb
j
≤x
i,j
≤ub
j
,vmin
j
≤x
i,j
≤vmaxj。r表示[0,1]上的随机数;
[0038]
所有个体的位置和速度初始化完毕后,令个体的历史最优位置
[0039]
步骤4

2:遍历步骤4

1得到的种群中的所有个体,对于每个个体,解释个体i的位置x
i
所包含的特征选择、时间步长、lstm模型超参数;计算每个个体的适应度;
[0040]
步骤4

3:将步骤4

1得到的所有个体随机分配到4个拓扑中,分别是多样性拓扑、协同拓扑1、协同拓扑2及快速收敛拓扑。将每个拓扑中适应度最小的个体的位置作为每个拓扑的最优解;为快速收敛拓扑的每个个体设置一个集合set,初始时set为空集。
[0041]
进一步的,所述步骤4

2中所述计算每个粒子的适应度,具体操作如下:
[0042]
(1)将x
i
的第1、2维标量由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串组成一个二进制串;
[0043]
(2)将拼接后的二进制串中所有数字1对应的特征选中,再根据x
i
上的时间步长stepn构成样本,将样本按7∶3的比例分为训练样本和测试样本;
[0044]
所述构成样本的方法:将被选中的特征作为输入特征,位移特征作为模型的输出;stepn为时间步长;将周期t到t setpn

1作为一个样本,将周期t setpn作为该样本的输出,t∈{1,2,maxt

setpn},maxt表示最大周期数,t的单位为天,以此类推合成所有样本;
[0045]
(3)将x
i
的4

9维标量转化为lstm模型中对应的超参数;将训练样本代入lstm模型进行训练,训练完毕后用测试样本预测结果并与真实值比较,将所有测试样本误差求和后乘以一个放大基数作为个体i的适应度其中,放大基数为100。
[0046]
进一步的,所述步骤5包括如下操作:
[0047]
步骤5

1:若迭代计数器t不等于1,进入步骤5

2;否则,遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,并进入步骤6;
[0048]
步骤5

2:遍历快速收敛拓扑中所有个体i,并计算拉马克因子η
i
,计算公式如下:
[0049][0050][0051][0052][0053][0054]
式(3)中表示第i个粒子在第t次迭代时的适应度值;式(4)中的abs(
·
)表示绝对值函数;式(6)中rank(a,b)是一个升序排序函数,表示先对a排序,a相等时按b排序;num表示快速收敛拓扑中个体的数量。tanh(x)表示双曲正切函数;diff是一个中间变量;
[0055]
步骤5

3:若拉马克因子η>0的个体数量大于阈值,步骤3中的拉马克机制阈值s,否则,令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,并结束步骤5;
[0056]
步骤5

4:令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中所有η>0的个体中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,
[0057]
进一步的,所述步骤6包括如下操作:
[0058]
步骤6

1:更新多样性拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,即v
i
中的超过vmax的标量v
i,j
用vmax
j
代替,小于vmin
j
的标量v
i,j
用vmin
j
代替,速度更新公式如下:
[0059][0060][0061][0062]
[0063]
上式中和定义如步骤4

1;α是一个[0,1]的随机数;表示两向量对应位置上的标量相乘;表示多样性拓扑的最优解;是一个向量,其每一维标量step
i
(β)是一个d维向量,表示levy飞行的步长计算公式;式(9)用于计算step
i
(β)第j维上的标量,β如步骤3定义;n(0,σ2)表示服从均值为0、方差为σ的正态分布;г(
·
)表示gamma函数;
[0064]
步骤6

2:更新协同扑1中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0065][0066][0067][0068]
式(12)中,分别表示表示粒子i在第t次迭代时的位置和速度,c1,c2是两个[0,2]上的常数,c1=c2=2;r1,r2是两个[0,1]上的随机数;表示协同拓扑1在第t次迭代时的最优个体;表示个体i的历史最优位置;表示第t次迭代时协同拓扑1的惯性权重;式(13)中激活点ap表示最近一次其它拓扑与协同拓扑1交互发生时的迭代次数;maxiter,u1,l1,a的定义如步骤3;
[0069]
步骤6

3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0070][0071][0072][0073][0074][0075][0076]
式(15)中co2表示协同拓扑2,表示协同拓扑2的最优个体,表示协同拓扑2的惯性权重,其余参数解释如式(12);式(16)中r表示[0,1]上的随机数,式(18)中表示第t次迭时协同拓扑2的直觉模糊熵,示第t次迭时协同拓扑2的直觉模糊熵,表示协同拓扑2的隶属度、非隶属度、犹豫度。表示个体i与协同拓扑2的最优个体之间的距离,d
max
表示搜索空间中最远两点间的距离,的邻域范围为
[0077]
步骤6

4:更新快速收敛拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0078][0079]
式(20)中,表示快速收敛拓扑在第t次迭代时的最优个体,表示快速收敛拓扑的惯性权重,是一个[0.2,0.6]上的随机数,p

it
表示个体k的历史最优位置,其余参数解释如式(12);
[0080]
步骤6

5:更新所有拓扑中的个体位置,并将其限制在搜索空间[lb,ub]中,位置更新公式如下:
[0081][0082]
进一步的,所述步骤7包括如下操作:
[0083]
步骤7

1:遍历所有拓扑的个体,解释个体i的位置x
i
所包含的特征选择、时间步、lstm模型超参数信息;计算每个粒子的适应度;
[0084]
步骤7

2:令等于步骤7

1得到的多样性拓扑中适应度最优的个体的位置令等于协同拓扑1中适应度最优的个体的位置令等于协同拓扑2中适应度最优的个体的位置若快速收敛拓扑中存在优于适应度的个体则令执行步骤8;否则直接执行步骤8。
[0085]
进一步的,所述步骤13包括如下操作:
[0086]
步骤13

1:输出最优模型;具体包括:
[0087]
(1)从所有拓扑的所有个体中选出适应度最小的个体作为最优个体best;
[0088]
(2)将最优个体的位置x
best
第1、2维标量由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串以组成一个二进制串。
[0089]
(3)将拼接后的二进制串中所有数字1所对应的特征选中,再根据解x
best
中时间步stepn所对应的标量的值合成样本,并将样本以7∶3的比例分为预测样本和验证样本;
[0090]
(4)将x
best
的第4

9维标量转化为lstm模型中对应的超参数;
[0091]
步骤13

2:将步骤13

1得到的训练样本代入步骤13

1得到的lstm模型进行训练,训练完毕后得到最终预测模型;
[0092]
步骤13

3:将待测试的滑坡位移的特征数据代入最终预测模型,得到预测的滑坡位移距离。
[0093]
相较于现有技术,本发明的有益效果如下:
[0094]
1、利用levy飞行的随机能力以支持粒子群算法在全局范围内有效寻优,克服pso易于陷入局部最优的问题。
[0095]
2、通过直觉模糊集对模糊数据的刻画能力分析滑坡数据中模糊、高噪声的信息,使粒子群算法能够有效分析存在于滑坡数据中的不确定、模糊、高噪声的特征数据,能够有效在特征维数高、数据冗余大的滑坡数据中过滤不可靠的特征数据。
[0096]
3、通过mhchpso优化lstm网络结构,使lstm网络进一步适应滑坡数据,提高滑坡预测精度。
附图说明
[0097]
图1是本发明的算法流程图。
[0098]
图2是lstm初始网络结构图。
[0099]
图3是现有的pso

lstm滑坡位移预测结果。
[0100]
图4是本发明的方法得到的滑坡位移预测结果。
具体实施方式
[0101]
为了使本发明的目的、技术方案及优点更加清楚直白,以下结合实施例,对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0102]
针对现有技术存在的问题,本发明提供了一种基于mhchpso

lstm模型的滑坡位移预测方法,下面结合附图和具体实施方式对本发明进行详细说明。
[0103]
本发明的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,具体包括如下步骤:
[0104]
步骤1:收集滑坡位移数据并对数进行预处理。
[0105]
滑坡位移数据包括但不限于以下特征数据:降雨量、土壤湿度、滑坡位移距离、气温、气压、大气湿度。
[0106]
清洗收集到的数据。处理方式包括:统一格式/单位、去除无效数据、去除不合理数据、去除离群噪声点、填充数据。
[0107]
步骤2:建立初始lstm网络模型,并设计解向量结构。
[0108]
初始网络模型如图2所示,包括1层lstm、2层全连接层fc、输出层。lstm模型的损失函数为均方误差(mse)函数,反向传播算法为adam算法。
[0109]
解向量结构设计包括三部分的设计:特征选择、时间步步长stepn、lstm模型超参数。
[0110]
第一部分:特征选择。通过二进制与十进制间的转换压缩搜索空间维数,用以提高搜索效率。例如,共有7个特征维度,二进制0000101表示选择特征5和特征7,转化为十进制5即可用于表示解向量中的一个标量。同时,为保证搜索精度,二进制位数不建议超过7,即解向量的每一维的搜索范围在0

127之间。此外,由于滑坡位移数据中往往存在含有x、y、z轴的信息的特征,例如滑坡在x轴、y轴、z轴上的滑距会分别用三个特征列表示。因此为使信息有效、可解释,这类特征用1位二进制表示,即三者都在或三者都不在。例如滑坡在x,y,z轴上的滑距分别由d
x
,d
y
,d
z
表示,滑坡在x,y,z轴上的滑速分别用v
x
,v
y
,v
z
则对于一个两位的二进制数01表示考虑所有滑速特征而不考虑滑距特征,11表示即考虑滑距特征也考虑滑速特征。
[0111]
本实施例中共14个特征,因此化为2个0

127的十进制数。
[0112]
第二部分∶时间步步长。时间步stepn是一个整数,大小视具体周期t的大小而定。由于本实施例中所有数据按天获取,即周期t的单位为天,因此取值在2

7之间,既保证了存在足够的信息,也能够防止计算量过大导致计算时间过长的问题。
[0113]
第三部分:模型超参数。包括隐藏单元个数和激活函数。
[0114]
每一层网络都有两个参数分别是隐藏单元个数以及激活函数。本实施例中所有隐
藏单元个数在16

48之间寻优,激活函数由0,1,2表示,分别表示sigmoid、tanh、relu函数。本模型共3三层6个超参数,前三个超参数表示图2中层1、层2、层3的隐藏单元个数,后三个超参数表示图2中层1、层2、层3的激活函数。
[0115]
经上述步骤处理后,搜索空间的上界ub=[127.4,127.4,7.4,47.4,47.4,47.4,2.4,2.4,2.4];下界lb=[0.5,0.5,1.5,15.5,15.5,15.5,

0.4,

0.4,

0.4];搜索维数d=9。
[0116]
由此可知,本实施例中搜索空间中的每个解(mhchpso中的每个个体)是一个9维向量,其中前两个标量用于表示第一部分信息,在解码过程中需要转为二进制形式,并根据第一部分所述进行特征选择;第3维标量表示第二部分信息用于构成样本;第4

9维表示第三部分信息用于构成网络模型。
[0117]
步骤3:为mhchpso设定参数。
[0118]
需设定的参数有包括:种群规模n;最大迭代次数maxiter;搜索空间上界ub;搜索空间下界1b;搜索维数d;多样性拓扑中levy飞行控制参数β=[1,3];拉马克机制阈值s,s=2,

,n;快速收敛拓扑收敛判定次数n,n=2,

,16;快速收敛拓扑收敛判定精度∈;协同拓扑邻域neig;协同拓扑1权重控制参数a∈(0,1),u1和l1;协同拓扑2权重控制参数u2和l2;个体的速度上限vmax和下限vmin;粒子群控制参数c1∈[0,2],c2∈[0,2]。
[0119]
本实施例中,n=12;maxiter=20;β=1.5;s=2;n=2;∈=0.001;邻域neig第j维上的标量a=0.9;u1=u2=1.2,l1=l2=0.8;vmax第j维上的标量vmin=

vmax;c1=c2=2;ub
j
和lb
j
分别表示搜索空间上界ub和下界lb的第j维向量,ub,lb,d由步骤2定义;
[0120]
令迭代计数器t=1,激活点ap=1。
[0121]
步骤4:根据解向量结构初始化种群,计算个体适应度并划分拓扑,具体如下:
[0122]
步骤4

1:根据步骤3中的种群规模n,初始化n个个体,得到由初始化个体构成的种群。
[0123]
其中,初始化个体包括初始化个体的位置个体的速度个体的历史最优位置初始化方法采用随机初始化。其公式如下:
[0124][0125][0126]
上式中是在第j维上的标量,是在第j维上的标量,ub
j
,lb
j
,vmax
j
,vmin
j
分别表示ub,lb,vmax,vmin在第j维上的标量,ub,lb,vmax,vmin定义如步骤3,任意时刻lb
j
≤x
i,j
≤ub
j
,vmin
j
≤x
i,j
≤vmaxj。r表示[0,1]上的随机数。
[0127]
所有个体的位置和速度初始化完毕后,令个体的历史最优位置
[0128]
步骤4

2:计算每个个体的适应度。
[0129]
具体是:遍历步骤4

1得到的种群中的所有个体,对于每个个体,解释个体i的位置x
i
所包含的特征选择、时间步长、lstm模型超参数;每个个体适应度的计算方式具体如下:
[0130]
(1)将x
i
的第1、2维标量(即x
i
上关于特征选择的部分)由十进制转化为二进制,转
化后将有2个7位二进制串,按顺序拼接这两个二进制串组成一个二进制串;
[0131]
(2)将拼接后的二进制串中所有数字1对应的特征选中,再根据x
i
上的时间步长(即x
i
的第3维标量)stepn构成样本,并将样本按7:3的比例分为训练样本和测试样本。
[0132]
该方案中,种群每个个体的前三维用于构成样本,其中前两维选择特征,第三维用于组成样本。即每个个体都会生成各自的样本组合方案。
[0133]
构成样本的方法:将被选中的特征作为输入特征,位移特征(滑坡位移距离)作为模型的输出;stepn为时间步长;将周期t到t setpn

1作为一个样本,t∈{1,2,maxt

setpn},maxt表示最大周期数。本实施例中t的单位为天,以stepn=5为例,将第1天到第5天的数据合成一个样本,并将第六天的滑坡位移特征作为该样本的输出。同理,将第2天到第6天的数据合成一个样本,并将第7天的滑坡位移特征作为该样本的输出。以此类推合成所有样本。
[0134]
(3)将x
i
的4

9维标量(步骤2所述的模型超参数部分)转化为lstm模型中对应的超参数。将训练样本代入lstm模型进行训练,训练完毕后用测试样本预测结果并与真实值比较,将所有测试样本误差求和后乘以一个放大基数作为个体i的适应度其中,放大基数用以放大不同个体间的差距,令算法更好的评估个体,本实施例放大基数为100。
[0135]
步骤4

3:将步骤4

1得到的所有个体随机分配到4个拓扑中,分别是多样性拓扑、协同拓扑1、协同拓扑2及快速收敛拓扑。将每个拓扑中适应度最小的个体的位置作为每个拓扑的最优解。为快速收敛拓扑的每个个体设置一个集合set,初始时set为空集。
[0136]
步骤5,计算快速收敛拓扑中每个个体的拉马克因子,并利用得到的拉马克因子更新快速收敛拓扑,得到更新后的快速收敛拓扑,具体如下:
[0137]
步骤5

1:若迭代计数器t不等于1,进入步骤5

2;否则,遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,并进入步骤6。
[0138]
步骤5

2:遍历快速收敛拓扑中所有个体i,并计算拉马克因子η
i
,计算公式如下:
[0139][0140][0141][0142][0143][0144]
式(3)中表示第i个粒子在第t次迭代时的适应度值。式(4)中的abs(
·
)表示绝对值函数。式(6)中rank(a,b)是一个升序排序函数,表示先对a排序,a相等时按b排序。num表示快速收敛拓扑中个体的数量。tanh(x)表示双曲正切函数。diff是一个中间变量,每
个个体对应的diff由第t次迭代时的fit和第t

1次迭代时的fit得到。
[0145]
步骤5

3:若拉马克因子η>0的个体数量大于阈值,步骤3中的拉马克机制阈值s,s=2,

,n,(此处表示s取2~n中任一个)则进入步骤5

4;否则,令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
ui,否则set
k
=set
k
∪i,并结束步骤5。
[0146]
步骤5

4:令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中所有η>0的个体中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,
[0147]
步骤6,根据拓扑更新公式更新各拓扑中所有个体的速度及位置,具体如下:
[0148]
步骤6

1:更新多样性拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,即v
i
中的超过vmax的标量v
i,j
用vmax
j
代替,小于vmin
j
的标量v
i,j
用vmin
j
代替,速度更新公式如下:
[0149][0150][0151][0152][0153]
上式中和定义如步骤4

1;α是一个[0,1]的随机数;表示两向量对应位置上的标量相乘;表示多样性拓扑的最优解;是一个向量,其每一维标量step
i
(β)是一个d维向量,表示levy飞行的步长计算公式;式(9)用于计算step
i
(β)第j维上的标量,β如步骤3定义;n(0,σ2)表示服从均值为0、方差为σ的正态分布。г(
·
)表示gamma函数;
[0154]
步骤6

2:更新协同扑1中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0155][0156][0157][0158]
式(12)中,分别表示表示粒子i在第t次迭代时的位置和速度,c1,c2是两个[0,2]上的常数,本实施例中c1=c2=2;r1,r2是两个[0,1]上的随机数;表示协同拓扑1在第t次迭代时的最优个体;表示个体i的历史最优位置;表示第t次迭代时协同拓扑1的惯性权重;式(13)中激活点ap表示最近一次其它拓扑与协同拓扑1交互发生时的迭代次数;maxiter,u1,l1,a的定义如步骤3;
[0159]
步骤6

3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0160][0161][0162][0163][0164][0165][0166]
式(15)中co2表示协同拓扑2,表示协同拓扑2的最优个体,表示协同拓扑2的惯性权重,其余参数解释如式(12)。式(16)中r表示[0,1]上的随机数,u2和l2的定义如步骤3,式(18)中表示第t次迭时协同拓扑2的直觉模糊熵,表示协同拓扑2的隶属度、非隶属度、犹豫度。表示个体i与协同拓扑2的最优个体之间的距离,d
max
表示搜索空间中最远两点间的距离,本实施例中的邻域范围为的邻域范围为
[0167]
步骤6

4:更新快速收敛拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
[0168][0169]
式(20)中,表示快速收敛拓扑在第t次迭代时的最优个体,表示快速收敛拓扑的惯性权重,是一个[0.2,0.6]上的随机数,p

it
表示个体k的历史最优位置,其余参数解释如式(12)。
[0170]
步骤6

5:更新所有拓扑中的个体位置,并将其限制在搜索空间[lb,ub]中,位置更新公式如下:
[0171][0172]
步骤7,计算所有拓扑中的个体适应度,并更新各拓扑的最优个体,具体如下:
[0173]
步骤7

1:遍历所有拓扑的个体,解释个体i的位置x
i
所包含的特征选择、时间步、lstm模型超参数信息;每个粒子适应度的计算方式具体如下:
[0174]
(1)将x
i
的第1、2维标量(即x
i
上关于特征选择的部分)由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串以组成一个二进制串。
[0175]
(2)将拼接后的二进制串中所有数字1所对应的特征选中,再根据x
i
上的时间步长(即x
i
的第3维标量)stepn构成样本,并将样本按7∶3的比例分为训练样本和测试样本;其中,构成样本的方法同步骤4

2中所述。
[0176]
(3)将x
i
的4

9维标量转化为lstm模型中对应的超参数。将训练样本代入lstm模型进行训练,训练完毕后用测试样本预测结果并与真实值比较,将所有测试样本误差求和后乘以一个放大基数作为个体i的适应度放大基数用以放大不同个体间的差距,令算法更好的评估个体,本实施例放大基数为100。
[0177]
步骤7

2:令等于步骤7

1得到的多样性拓扑中适应度最优的个体的位置令等于协同拓扑1中适应度最优的个体的位置令等于协同拓扑2中适应度最优的个体的位置若快速收敛拓扑中存在优于适应度的个体则令执行步骤8;否则直接执行步骤8。
[0178]
步骤8,若则认为快速收敛拓扑已收敛,进入步骤9;否则进入步骤10。n定义如步骤3,∈定义如步骤3,本实施例中∈=0.001。
[0179]
步骤9,判断快速收敛拓扑的最优解是否为全局最优解(全局最优解就是所有拓扑中所有个体的适应度最小的个体的位置),若是,则用快速收敛拓扑的最优解替换任一协同拓扑中的任意一个个体;否则用全局最优解替换快速收敛拓扑的最优解。
[0180]
步骤10,判断协同拓扑1和协同拓扑2都已收敛,若收敛,则从多样性拓扑中随机选择两个个体,分别替换两协同拓扑中的一个个体,执行步骤12;否则直接执行步骤11;
[0181]
协同拓扑收敛的判定条件:协同拓扑中的所有个体都处于该拓扑最优个体位置的邻域neig的范围内,则认为该拓扑已收敛;否则未收敛。
[0182]
步骤11,判断是否至少存在1个协同拓扑收敛。若是,则从协同拓扑1和协同拓扑2分别随机选出一个个体,然后进行交换。收敛判定条件如步骤10中所述。
[0183]
步骤12,令t=t 1,然后判断是否t<maxiter,是则返回步骤5;否则进入步骤13。
[0184]
步骤13,从所有拓扑的所有个体中选出适应度最小的个体作为最优个体,将最优解转化为特征选择、时间步、lstm超参数;利用训练样本进行训练得到最终lstm模型,将待测试的滑坡位移的特征数据代入lstm模型,得到预测结果。具体如下:
[0185]
步骤13

1:从所有拓扑的所有个体中选出适应度最小的个体作为最优个体,将最优解转化为特征选择、时间步、lstm超参数;具体包括:
[0186]
(1)从所有拓扑的所有个体中选出适应度最小的个体作为最优个体best;
[0187]
(2)将最优个体的位置x
best
第1、2维标量(即其关于特征选择部分的标量)由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串以组成一个二进制串。
[0188]
(3)将拼接后的二进制串中所有数字1所对应的特征选中,再根据解x
best
中时间步stepn(即x
best
的第3维标量)所对应的标量的值合成样本,并将样本以7:3的比例分为预测样本和验证样本。(合成样本的方法如步骤4

2中所述)
[0189]
(4)将x
best
的第4

9维标量(步骤2所述的模型超参数部分)转化为lstm模型中对应的超参数。
[0190]
步骤13

2:将步骤13

1得到的训练样本代入步骤13

1得到的lstm模型进行训练,训练完毕后得到最终预测模型。
[0191]
步骤13

3:将待测试的滑坡位移的特征数据代入最终预测模型,得到预测的滑坡位移距离。
[0192]
本发明的方法结束。
[0193]
为了验证本发明的方法的效果,以下对比实验使用pso

lstm模型,该方法所采用的lstm模型与本发明的方法一致,且损失函数和反向传播算法同样采用均方误差(mse)函数和adam算法。所采用的数据处理步骤与本发明的方法相同,即步骤1。计算适应度的方法也与本发明的方法相同,即如步骤4

2。本发明的方法与pso

lstm模型不同仅在于,本发明的方法所采用的优化算法为mhchpso,而pso

lstm模型采用经典pso算法。
[0194]
对比试验的pso算法参数为c1=c2=2,速度上限和搜索空间设置与本方法相同。其中t表示迭代次数,maxiter表示最大迭代次数。最终,pso

lstm模型的预测结果如图3所示。
[0195]
用测试样本代入步骤13

2得到的最终预测模型,得到预测结果并与真实值比较。预测结果如图4所示,其中横轴表示测试样本编号,纵轴表示滑坡的实际位移距离,实线表示测试样本的真实值,虚线表示模型的预测结果。
[0196]
可以明显看到,图4中虚线和实线几乎一致,而图3中的预测结果和实际结果略有偏差。这是因为本发明的mhchpso通过引入直觉模糊理论克服了滑坡预测问题中的特征不确定、高噪声,数据冗余等问题,使得mhchpso能在搜索空间中搜索到全局最优解。因此,本发明的方法能够更好的适应滑坡位移特征,并优化lstm网络结构,优于现有pso

lstm模型。

技术特征:
1.一种基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,具体包括如下步骤:步骤1:收集滑坡位移数据并对数进行预处理;步骤2:建立初始lstm网络模型,并设计解向量结构;步骤3:设定参数;步骤4:根据解向量结构初始化种群,计算个体适应度并划分拓扑;步骤5,计算快速收敛拓扑中每个个体的拉马克因子,并利用得到的拉马克因子更新快速收敛拓扑,得到更新后的快速收敛拓扑;步骤6,根据拓扑更新公式更新各拓扑中所有个体的速度及位置;步骤7,计算所有拓扑中的个体适应度,并更新各拓扑的最优个体;步骤8,判断快速收敛拓扑已收敛,若未收敛则进入步骤9;否则进入步骤10;步骤9,判断快速收敛拓扑的最优解是否为全局最优解,若是,则用快速收敛拓扑的最优解替换任一协同拓扑中的任意一个个体;否则用全局最优解替换快速收敛拓扑的最优解;步骤10,判断协同拓扑1和协同拓扑2都已收敛,若收敛,则从多样性拓扑中随机选择两个个体,分别替换两协同拓扑中的一个个体,执行步骤11;否则直接执行步骤11;步骤11,判断是否至少存在1个协同拓扑收敛。若是,则从协同拓扑1和协同拓扑2分别随机选出一个个体,然后进行交换;步骤12,令迭代数加1,判断是否满足迭代结束条件,是则返回步骤5;否则进入步骤13。步骤13,输出最终lstm模型;利用训练样本进行训练得到最终lstm模型,代入待测试的滑坡位移的特征数据,得到预测结果。2.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤1中,滑坡位移数据包括但不限于以下特征数据:降雨量、土壤湿度、滑坡位移距离、气温、气压、大气湿度;所述清洗收集到的数据,处理方式包括:统一格式/单位、去除无效数据、去除不合理数据、去除离群噪声点、填充数据。3.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤2包括如下操作:建立初始网络模型,包括1层lstm、2层全连接层fc、输出层;lstm模型的损失函数为均方误差函数,反向传播算法为adam算法;解向量结构设计包括三部分的设计:特征选择、时间步步长stepn、lstm模型超参数;特征选择:通过二进制与十进制间的转换压缩搜索空间维数,共14个特征,化为2个0

127的十进制数;时间步步长:时间步stepn是一个整数,取值为2

7;模型超参数:每一层网络都有两个参数分别是隐藏单元个数以及激活函数,所有隐藏单元个数在16

48之间寻优,激活函数由0,1,2表示,分别表示sigmoid、tanh、relu函数;模型共3三层6个超参数,前三个超参数表示层1、层2、层3的隐藏单元个数,后三个超参数表示层1、层2、层3的激活函数;搜索空间的上界ub=[127.4,127.4,7.4,47.4,47.4,47.4,2.4,2.4,2.4];下界1b=
[0.5,0.5,1.5,15.5,15.5,15.5,

0.4,

0.4,

0.4];搜索维数d=9,搜索空间中的每个解是一个9维向量,其中前两个标量用于表示第一部分信息进行特征选择;第3维标量表示第二部分信息用于构成样本;第4

9维表示第三部分信息用于构成网络模型。4.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤3包括如下操作:需设定的参数有包括:种群规模n;最大迭代次数maxtter;搜索空间上界ub;搜索空间下界lb;搜索维数d;多样性拓扑中levy飞行控制参数β=[1,3];拉马克机制阈值是s,s=2,

,n;快速收敛拓扑收敛判定次数n,n=2,

,16;快速收敛拓扑收敛判定精度∈;协同拓扑邻域neig;协同拓扑1权重控制参数a∈(0,1),u1和l1;协同拓扑2权重控制参数u2和l2;个体的速度上限vmax和下限vmin;粒子群控制参数c1∈[0,2],c2∈[0,2];n=12;maxiter=20;β=1.5;s=2;n=2;∈=0.001;邻域neig第j维上的标量a=0.9;u1=u2=1.2,l1=l2=0.8;vmax第j维上的标量vmin=

vmax;c1=c2=2;ub
j
和lb
j
分别表示搜索空间上界ub和下界1b的第j维向量;令迭代计数器t=1,激活点ap=1。5.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤4包括如下操作:步骤4

1:根据步骤3中的种群规模n,初始化n个个体,得到由初始化个体构成的种群;其中,初始化个体包括初始化个体的位置个体的速度个体的历史最优位置初始化方法采用随机初始化;其公式如下:初始化方法采用随机初始化;其公式如下:上式中是在第j维上的标量,是在第j维上的标量,ub
j
,lb
j
,vmax
j
,vmin
j
分别表示ub,lb,vmax,vmin在第j维上的标量,ub,lb,vmax,vmin定义如步骤3,任意时刻lb
j
≤x
i,j
≤ub
j
,vmin
j
≤xi,j≤vmaxj。r表示[0,1]上的随机数;所有个体的位置和速度初始化完毕后,令个体的历史最优位置步骤4

2:遍历步骤4

1得到的种群中的所有个体,对于每个个体,解释个体i的位置x
i
所包含的特征选择、时间步长、lstm模型超参数;计算每个个体的适应度;步骤4

3:将步骤4

1得到的所有个体随机分配到4个拓扑中,分别是多样性拓扑、协同拓扑1、协同拓扑2及快速收敛拓扑。将每个拓扑中适应度最小的个体的位置作为每个拓扑的最优解;为快速收敛拓扑的每个粒子设置一个集合set,初始时set为空集。6.如权利要求5所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤4

2中所述计算每个粒子的适应度,具体操作如下:(1)将x
i
的第1、2维标量由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串组成一个二进制串;
(2)将拼接后的二进制串中所有数字1对应的特征选中,再根据x
i
上的时间步长stepn构成样本,将样本按7∶3的比例分为训练样本和测试样本;所述构成样本的方法:将被选中的特征作为输入特征,位移特征作为模型的输出;stepn为时间步长;将周期t到t setpn

1作为一个样本,将周期t setpn作为该样本的输出,t∈{1,2,maxt

setpn},maxt表示最大周期数,t的单位为天,以此类推合成所有样本;(3)将x
i
的4

9维标量转化为lstm模型中对应的超参数;将训练样本代入lstm模型进行训练,训练完毕后用测试样本预测结果并与真实值比较,将所有测试样本误差求和后乘以一个放大基数作为个体i的适应度其中,放大基数为100。7.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤5包括如下操作:步骤5

1:若迭代计数器t不等于1,进入步骤5

2;否则,遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,并进入步骤6;步骤5

2:遍历快速收敛拓扑中所有个体i,并计算拉马克因子η
i
,计算公式如下:,计算公式如下:,计算公式如下:,计算公式如下:,计算公式如下:式(3)中表示第i个粒子在第t次迭代时的适应度值;式(4)中的abs(
·
)表示绝对值函数;式(6)中rank(a,b)是一个升序排序函数,表示先对a排序,a相等时按b排序;num表示快速收敛拓扑中个体的数量。tanh(x)表示双曲正切函数;diff是一个中间变量;步骤5

3:若拉马克因子η>0的个体数量大于阈值,步骤3中的拉马克机制阈值s,否则,令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,并结束步骤5;步骤5

4:令快速收敛拓扑中所有个体i对应的并遍历快速收敛拓扑中的个体i,从快速收敛拓扑中所有η>0的个体中随机选出个体l和个体k,若η
l
>η
k
,则令set
l
=set
l
∪i,否则set
k
=set
k
∪i,8.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征
在于,所述步骤6包括如下操作:步骤6

1:更新多样性拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,即v
i
中的超过vmax的标量v
i,j
用vmax
j
代替,小于vmin
j
的标量v
i,j
用vmin
j
代替,速度更新公式如下:代替,速度更新公式如下:代替,速度更新公式如下:代替,速度更新公式如下:上式中和定义如步骤4

1;α是一个[0,1]的随机数;表示两向量对应位置上的标量相乘;表示多样性拓扑的最优解;是一个向量,其每一维标量step
i
(β)是一个d维向量,表示levy飞行的步长计算公式;式(9)用于计算step
i
(β)第j维上的标量,β如步骤3定义;n(0,σ2)表示服从均值为0、方差为σ的正态分布;γ(
·
)表示gamma函数;步骤6

2:更新协同扑1中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:2:更新协同扑1中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:2:更新协同扑1中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:式(12)中,分别表示表示粒子i在第t次迭代时的位置和速度,c1,c2是两个[0,2]上的常数,c1=c2=2;r1,r2是两个[0,1]上的随机数;表示协同拓扑1在第t次迭代时的最优个体;表示个体i的历史最优位置;表示第t次迭代时协同拓扑1的惯性权重;式(13)中激活点ap表示最近一次其它拓扑与协同拓扑1交互发生时的迭代次数;maxiter,u1,l1,a的定义如步骤3;步骤6

3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:3:更新协同扑2中个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:
式(15)中co2表示协同拓扑2,表示协同拓扑2的最优个体,表示协同拓扑2的惯性权重,其余参数解释如式(12);式(16)中r表示[0,1]上的随机数,式(18)中表示第t次迭时协同拓扑2的直觉模糊熵,t次迭时协同拓扑2的直觉模糊熵,表示协同拓扑2的隶属度、非隶属度、犹豫度。表示个体i与协同拓扑2的最优个体之间的距离,d
max
表示搜索空间中最远两点间的距离,的邻域范围为步骤6

4:更新快速收敛拓扑中所有个体的速度,并将速度约束在[vmin,vmax]中,更新公式如下:式(20)中,表示快速收敛拓扑在第t次迭代时的最优个体,表示快速收敛拓扑的惯性权重,是一个[0.2,0.6]上的随机数,表示个体k的历史最优位置,其余参数解释如式(12);步骤6

5:更新所有拓扑中的个体位置,并将其限制在搜索空间[lb,ub]中,位置更新公式如下:9.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤7包括如下操作:步骤7

1:遍历所有拓扑的个体,解释个体i的位置x
i
所包含的特征选择、时间步、lstm模型超参数信息;计算每个粒子的适应度;步骤7

2:令等于步骤7

1得到的多样性拓扑中适应度最优的个体的位置令等于协同拓扑1中适应度最优的个体的位置令等于协同拓扑2中适应度最优的个体的位置若快速收敛拓扑中存在优于适应度的个体则令执行步骤8;否则直接执行步骤8。10.如权利要求1所述的基于多拓扑分级协同粒子群lstm的滑坡位移预测方法,其特征在于,所述步骤13包括如下操作:步骤13

1:输出最优模型;具体包括:(1)从所有拓扑的所有个体中选出适应度最小的个体作为最优个体best;(2)将最优个体的位置x
best
第1、2维标量由十进制转化为二进制,转化后将有2个7位二进制串,按顺序拼接这两个二进制串以组成一个二进制串。(3)将拼接后的二进制串中所有数字1所对应的特征选中,再根据解x
best
中时间步stepn所对应的标量的值合成样本,并将样本以7:3的比例分为预测样本和验证样本;(4)将x
best
的第4

9维标量转化为lstm模型中对应的超参数;
步骤13

2:将步骤13

1得到的训练样本代入步骤13

1得到的lstm模型进行训练,训练完毕后得到最终预测模型;步骤13

3:将待测试的滑坡位移的特征数据代入最终预测模型,得到预测的滑坡位移距离。
技术总结
本发明公开了基于多拓扑分级协同粒子群LSTM的滑坡位移预测方法:步1:收集数据;步2:初始LSTM模型并设计解向量结构;步3:设定参数;步4:初始化种群,计算个体适应度并划分拓扑;步5,计算快速收敛拓扑个体的拉马克因子,更新快速收敛拓扑;步6,更新个体的速度及位置;步7,计算个体适应度并更新最优个体;步8,快速收敛拓扑收敛进入步骤10,否则进入步9;步9,替换得最优解;步10,协同拓扑都收敛则替换个体,否则执行骤11;步11,1个协同拓扑收敛则交换个体;步12,满足结束条件返回步5;否则进入步13;步13,输出最终LSTM模型并预测。本发明克服了易于陷入局部最优的问题,通过MHCHPSO优化LSTM结构使其更适应滑坡数据,提高滑坡预测精度。测精度。测精度。


技术研发人员:王侃琦 王毅 张茂省 段焱中 李静 李晓梦
受保护的技术使用者:西北大学
技术研发日:2021.03.05
技术公布日:2021/6/24

转载请注明原文地址:https://doc.8miu.com/read-250063.html

最新回复(0)