一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于自编码单分类模型的泥石流监测预警方法与流程

2021-10-09 12:18:00 来源:中国专利 TAG:监测 泥石流 自然灾害 预警 模型


1.本发明属于自然灾害监测技术领域,更为具体地讲,涉及一种基于自编码单分类模型的泥石流监测预警方法。


背景技术:

2.泥石流灾害具有突发性、流量大、破坏性强等特点,对居民、公共设施、水利工程、矿山等造成巨大损失,而泥石流监测工作是防灾减灾的重要措施。现有泥石流监测和预警主要是基于降雨数据的概率统计模型,对泥石流降雨量、土壤降雨渗入程度、泥石流运动阶段次声波、泥石流泥位等参数进行分析,获取与泥石流爆发概率相关的参数阙值,或选取累计降雨量、降雨强度、降雨延时、前期降雨量等降雨参数中的不同组合作为特征指标,利用统计分析等方法,划分引发泥石流的降雨边界值,构建泥石流多准则综合预警模型。
3.这些现有泥石流监测方法需要对泥石流特征变化规律进行深入分析,也局限于需要较多的泥石流灾害数据。然而在设备获取泥石流数据时,更多的是正常无灾害数据,泥石流灾害数据比较稀缺。因此在泥石流灾害数据稀缺的情况下,仅利用正常无灾害数据训练一种能够识别异常灾害数据的模型具有较大的现实意义。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提供一种基于自编码单分类模型的泥石流监测预警方法,通过对泥石流正常无灾害状态下的特征数据进行过拟合学习,训练出一种识别异常波形数据的自编码单分类模型,从而对泥石流灾害进行实时监测预警。
5.为实现上述发明目的,本发明一种基于自编码单分类模型的泥石流监测预警方法,其特征在于,包括以下步骤:
6.(1)、特征提取;
7.(1.1)、在采集周期t内,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据作为训练集:
[0008][0009]
其中,表示用于训练的第i组特征数据,n表示采集的特征数据组数;
[0010]
(1.2)、在采集周期t内,通过传感器连续采集多组某复杂山区在另一正常无灾害时间段下的特征数据作为测试集:
[0011][0012]
其中,表示用于测试的第j组特征数据,m表示采集的特征数据组数;
[0013]
(2)、数据预处理;
[0014]
(2.1)、转化为波形像素特征;
[0015]
在d
train
与d
test
中,分别画出d
train
与d
test
中特征数据x随一次次采样的波形变化图;
[0016]
再从第一次采样起,每间隔p次采样就将波形变化图拆分为一个波形变化子图;
[0017]
利用python中的convert函数对每个波形变化子图进行灰度化处理,再利用 python中的resize函数将波形像素设置为32*32,然后利用python中的 joblib.dump函数将波形的png格式转化为1024*1维的pkl数据格式,最后利用 python中的sklearn.preprocessing.minmaxscaler函数进行归一化处理,处理完成后的训练集记为:
[0018][0019]
其中,
[0020]
测试集记为:
[0021][0022]
其中,
[0023]
(2.2)、对进行批次划分;
[0024]
在中,从第一个数据起,每q个波形数据划分为一个批次,处理完成后有个训练批次,其中,第u个批次表示为:
[0025][0026]
其中,u=1,2,

,u;
[0027]
(3)、构建自编码单分类模型;
[0028]
(3.1)、构建自编码器架构的神经网络;
[0029]
神经网络的编码由一层含1024个节点的输入层、一层含512个节点的隐藏层、一层含256个节点的编码输出层组成;与编码对称的解码是由一层含256 个节点的输入层、一层含512个节点的隐藏层、一层含1024个节点的解码输出层构成;
[0030]
记编码参数θ1={w1,b1},其中,编码权值矩阵偏置向量上标1指编码输入层与隐藏层之间的权值或偏置,上标2指编码隐藏层与输出层之间的权重或偏置;
[0031]
记解码参数θ2={w2,b2},其中,解码权值矩阵偏置向量为其中上标2指解码输入层与隐藏层之间的权值或偏置,上标1 指解码隐藏层与输出层之间的权重或偏置;
[0032]
(3.2)、自编码的正向传播;
[0033]
在自编码参数θ1下,记编码的输入层的输入为含r个特征向量x
k
列排组成的特征矩阵x=[x1,x2,

,x
k
,

,x
r
],其中,第k个特征向量,表示实数域;
[0034]
编码的正向传播为:
[0035][0036]
[0037]
其中,sigmoid激活函数g(x)=1/(1 e

x
),ones(1,r)表示全为1的维向量,表示编码隐藏层512个维的节点分量行排组成的矩阵,表示输出层256个个维的节点分量行排组成的矩阵;
[0038]
在自编码参数θ2下,将编码输出层h2作为解码的输入层,解码的正向传播为:
[0039][0040][0041][0042]
其中,表示解码隐藏层512个维的节点分量行排组成的矩阵,表示解码输入层256个个维的节点分量行排组成的矩阵;表示解码输出层r个维的输出向量x'
k
列排组成的矩阵;
[0043]
(3.3)、以输入的x作为目标构建损失函数及优化目标函数;
[0044]
构建损失函数:其中,||
·
||2表示求2范数;
[0045]
构建优化目标函数:其中,表示得优化函数l(x,x')最小时对应的最优自编码参数;
[0046]
(4)、训练自编码单分类模型;
[0047]
(4.1)、通过python中的tf.random_normal函数初始化参数θ1、θ2为:为:
[0048]
(4.2)、设置最大循环轮数k,并初始化当前循环轮数κ=1,κ=1,2,

,k;
[0049]
在每一轮循环中,设置最大迭代次数等于最大训练批次u,并初始化当前迭代次数u=1,u=1,2,

,u;
[0050]
(4.3)、在第κ轮循环中,利用第u个批次的训练数据训练自编码单分类模型;
[0051]
(4.3.1)、将第u个批次的训练数据作为特征矩阵x;
[0052]
(4.3.2)、将特征矩阵x输入至自编码单分类模型进行自编码的正向传播;
[0053]
(4.3.3)、以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算出第u迭代后的损失函数值l
u
以及并将自编码参数更新为
[0054]
(4.3.4)、判断当前迭代次数u是否达到循环迭代次数u,如果未达到,则将当前迭代次数u加1,再返回步骤(4.3.1);否则,此本轮循环迭代停止,得到第κ轮迭代后的损失函数值及自编码参数,再进入步骤(4.3.5);
[0055]
(4.3.5)、在第κ轮迭代后,比较第κ

ρ轮至κ轮循环迭代后的损失函数值是否收敛,如果收敛,则迭代停止,得到训练完成的自编码单分类模型,并跳转至步骤(5);否则,进入步骤(4.3.6);
[0056]
(4.3.6)、判断当前循环轮数κ是否达到最大循环轮数k,如果未达到,则将当前循环轮数κ加1,并重置当前迭代次数u=1,再返回步骤(4.3.1);否则,迭代停止,得到训练完成的自编码单分类模型,再进入步骤(5);
[0057]
(5)、通过测试集获取异常判断的阙值;
[0058]
将测试集作为特征矩阵x,再输入至训练完成的自编码单分类模型,执行步骤(3.2)的正向传播;
[0059]
同样以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算损失函数值
[0060]
最后将λ倍的损失函数值作为异常判断的阙值
[0061]
(6)、泥石流实时监测预警
[0062]
(6.1)、在采集周期t内,通过传感器连续采集多组某复杂山区在某时间段下的特征数据,记为x;
[0063]
(6.2)、按照步骤(2.1)所述方法处理后得到一个波形像素特征,记为
[0064]
(6.3)、将作为特征矩阵x,并输入至训练完成的自编码单分类模型,先执行步骤(3.2)的正向传播,再通过步骤(3.3)所述方法计算代价函数
[0065]
(6.4)、将与异常判断阙值q进行比较,如果则判定此时为异常状态,并进行泥石流灾害告警;否则,定此时为正常状态,即无泥石流灾害风险。
[0066]
本发明的发明目的是这样实现的:
[0067]
本发明一种基于自编码单分类模型的泥石流监测预警方法,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据,分别构成训练集与测试集;再将训练集与测试集进行预处理,将处理后的训练集输入至构建的自编码单分类模型并训练,然后将测试集输入至训练完成的自编码单分类模型,进而确定异常判断阙值;最后结合异常判断阙值,通过训练完成的自编码单分类模型进行泥石流监测预警。
[0068]
同时,本发明一种基于自编码单分类模型的泥石流监测预警方法还具有以下有益效果:
[0069]
(1)、本发明仅使用正常无灾害状态下单一一种特征数据训练自编码单分类模型,与现有方法不同的是,没有使用泥石流灾害数据,没有要求传感器采集稀缺、难以获取的灾害数据,从而使整个方案简单易行;
[0070]
(2)、本发明的目的是自编码单分类模型,从而辩识泥石流状态,在各种复杂山区上皆可实行,这样提醒了位置随机性与普遍性;
[0071]
(3)、本发明根据自编码单分类思想设置异常判断阙值,因为自编码模型能够对正常无灾害数据进行较好的还原,而异常数据不行,这样体现了本发明的准确性与有效性。
附图说明
[0072]
图1是本发明一种基于自编码单分类模型的泥石流监测预警方法流程图;
[0073]
图2是本发明自编码模型的结构图;
[0074]
图3是本发明实施例自编码模型训练批次随迭代次数增加的代价变化曲线图;
[0075]
图4是本发明实施例中用降雨量波形特征训练的自编码模型对测试正常波形的还原效果图。
具体实施方式
[0076]
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0077]
实施例
[0078]
图1是本发明一种基于自编码单分类模型的泥石流监测预警方法流程图。
[0079]
在本实施例中,如图1所示,本发明一种基于自编码单分类模型的泥石流监测预警方法,包括以下步骤:
[0080]
s1、特征提取;
[0081]
s1.1、在采集周期t内,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据作为训练集:
[0082][0083]
其中,表示用于训练的第i组特征数据,n表示采集的特征数据组数;
[0084]
s1.2、在采集周期t内,通过传感器连续采集多组某复杂山区在另一正常无灾害时间段下的特征数据作为测试集:
[0085][0086]
其中,表示用于测试的第j组特征数据,m表示采集的特征数据组数;
[0087]
在本实施例中,采集的特征数据只需要采集降雨量、内部温度、泥水位等某一种特征用于后续的训练及监测。
[0088]
s2、数据预处理;
[0089]
s2.1、转化为波形像素特征;
[0090]
在d
train
与d
test
中,分别画出d
train
与d
test
中特征数据x随一次次采样的波形变化图;
[0091]
再从第一次采样起,每间隔p次采样就将波形变化图拆分为一个波形变化子图;
[0092]
利用python中的convert函数对每个波形变化子图进行灰度化处理,再利用 python中的resize函数将波形像素设置为32*32,然后利用python中的 joblib.dump函数将波形的png格式转化为1024*1维的pkl数据格式,最后利用 python中的sklearn.preprocessing.minmaxscaler函数进行归一化处理,处理完成后的训练集记为:
[0093][0094]
其中,
[0095]
测试集记为:
[0096][0097]
其中,
[0098]
s2.2、对进行批次划分;
[0099]
在中,从第一个数据起,每q个波形数据划分为一个批次,处理完成后有个训练批次,其中,第u个批次表示为:
[0100][0101]
其中,u=1,2,

,u;
[0102]
在本实施例中,利用传感器获取某市某区的降雨量特征数据,训练样本数 n=162584,测试样本数m=31713,拆分间隔p=50,训练样本小波数n'=3252,试样本小波数m'=635,单个批次样本数q=200,训练批次数u=17;
[0103]
s3、构建自编码单分类模型;
[0104]
s3.1、构建自编码器架构的神经网络;
[0105]
神经网络的编码由一层含1024个节点的输入层、一层含512个节点的隐藏层、一层含256个节点的编码输出层组成;与编码对称的解码是由一层含256 个节点的输入层、一层含512个节点的隐藏层、一层含1024个节点的解码输出层构成;
[0106]
记编码参数θ1={w1,b1},其中,编码权值矩阵偏置向量上标1指编码输入层与隐藏层之间的权值或偏置,上标2指编码隐藏层与输出层之间的权重或偏置;
[0107]
记解码参数θ2={w2,b2},其中,解码权值矩阵偏置向量为其中上标2指解码输入层与隐藏层之间的权值或偏置,上标1 指解码隐藏层与输出层之间的权重或偏置;
[0108]
s3.2、自编码的正向传播;
[0109]
在自编码参数θ1下,记编码的输入层的输入为含r个特征向量x
k
列排组成的特征矩阵x=[x1,x2,

,x
k
,

,x
r
],其中,第k个特征向量,表示实数域;
[0110]
编码的正向传播为:
[0111][0112][0113]
其中,sigmoid激活函数g(x)=1/(1 e

x
),ones(1,r)表示全为1的维向量,表示编码隐藏层512个维的节点分量行排组成的矩阵,表示输出层256个个维的节点分量行排组成的矩阵;
[0114]
在自编码参数θ2下,将编码输出层h2作为解码的输入层,解码的正向传播为:
[0115][0116]
[0117][0118]
其中,表示解码隐藏层512个维的节点分量行排组成的矩阵,表示解码输入层256个个维的节点分量行排组成的矩阵;表示解码输出层r个维的输出向量x'
k
列排组成的矩阵;
[0119]
在本实施例中,自编码模型的结构如图2所示,图中n=1024指特征向量的维数,自编码模型由一层含n个节点的输入层、两层依次含n/2、n/4个节点的编码层、两层依次含n/4、n/2个节点的解码层、一层含n个节点的输出层组成;
[0120]
s3.3、以输入的x作为目标构建损失函数及优化目标函数;
[0121]
构建损失函数:其中,||
·
||2表示求2范数;
[0122]
构建优化目标函数:其中,表示得优化函数l(x,x')最小时对应的最优自编码参数;
[0123]
在本实施例中,后续运算时可以利用梯度下降法对构建的损失函数进行求解,梯度下降法求解过程为:一次梯度下降指以与替代参数θ1与θ2,其中,α指梯度下降的学习率,大小设置为 0.01。通过python中的tf.train.rmspropoptimizer(learning_rate).minimize(cost)函数,可以将参数θ1与θ2一步步梯度更新为参数与由此逐步降低代价函数 l(x,x'),使得自编码输出x'接近自编码输入特征矩阵x;
[0124]
s4、训练自编码单分类模型;
[0125]
s4.1、通过python中的tf.random_normal函数初始化参数θ1、θ2为:
[0126]
s4.2、设置最大循环轮数k,并初始化当前循环轮数κ=1,κ=1,2,

,k;
[0127]
在每一轮循环中,设置最大迭代次数等于最大训练批次u,并初始化当前迭代次数u=1,u=1,2,

,u;
[0128]
s4.3、在第κ轮循环中,利用第u个批次的训练数据训练自编码单分类模型;
[0129]
s4.3.1、将第u个批次的训练数据作为特征矩阵x;
[0130]
s4.3.2、将特征矩阵x输入至自编码单分类模型进行自编码的正向传播;
[0131]
s4.3.3、以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算出第u迭代后的损失函数值l
u
以及并将自编码参数更新为
[0132]
s4.3.4、判断当前迭代次数u是否达到循环迭代次数u,如果未达到,则将当前迭代次数u加1,再返回步骤s4.3.1;否则,此本轮循环迭代停止,得到第κ轮迭代后的损失函数值及自编码参数,再进入步骤s4.3.5;
[0133]
s4.3.5、在第κ轮迭代后,比较第κ

ρ轮至κ轮循环迭代后的损失函数值是否收敛,如果收敛,则迭代停止,得到训练完成的自编码单分类模型,并跳转至步骤s5;否则,进入步骤s4.3.6;
[0134]
s4.3.6、判断当前循环轮数κ是否达到最大循环轮数k,如果未达到,则将当前循环
轮数κ加1,并重置当前迭代次数u=1,再返回步骤s4.3.1;否则,迭代停止,得到训练完成的自编码单分类模型,再进入步骤s5;
[0135]
在本实施例中,设置最大循环轮数k=10000,利用正常无灾害状态下采集的降雨量数据,依次划分为u=17个训练批次,循环迭代更新自编码模型参数,一步步降低代价函数值,将自编码模型一步步匹配训练批次并学习到足够的正常无灾害知识。如图3为本实施例自编码模型训练批次随迭代次数增加的代价变化曲线图,代价值随迭代次数增加而降低,在迭代次数超过4000后,代价值稳定在0.1以下。
[0136]
s5、通过测试集获取异常判断的阙值;
[0137]
将测试集作为特征矩阵x,再输入至训练完成的自编码单分类模型,执行步骤s3.2的正向传播;
[0138]
同样以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算损失函数值
[0139]
最后将λ倍的损失函数值作为异常判断的阙值
[0140]
在本实施例中,λ=1.27,计算得阙值q=0.11614;
[0141]
s6、泥石流实时监测预警;
[0142]
s6.1、在采集周期t内,通过传感器实时连续采集某复杂山区在某时间段下的特征数据,记为x;
[0143]
s6.2、按照步骤s2.1所述方法处理后得到一个波形像素特征,记为
[0144]
s6.3、将作为特征矩阵x,并输入至训练完成的自编码单分类模型,先执行步骤s3.2的正向传播,再通过步骤s3.3所述方法计算代价函数
[0145]
s6.4、将与异常判断阙值q进行比较,如果则判定此时为异常状态,并进行泥石流灾害告警;否则,定此时为正常状态,即无泥石流灾害风险。
[0146]
图4是本发明实施例中用降雨量波形特征训练的自编码模型对测试正常波形的还原效果图;在步骤s4利用经过步骤s2预处理的训练批次训练好自编码模型参数后,进行可视化波形。而图中上排为五张随机选取的正常无灾害状态下的降雨量波形(测试正常波形),下排为对应的自编码模型对输入正常波形的编码后解码还原的输出波形,上下对比发现,本发明训练出的自编码模型能够较好的对正常波形进行还原。
[0147]
在步骤s5中由测试正常波形的均方误差的λ倍,从而计算出异常判定阙值q=0.11614,在步骤s6中选取泥石流灾害阶段下的降雨量波形,计算出各异常波形的均方误差,与阙值进行比较。以样本数为横坐标,降雨量波形对应的均方误差为纵坐标,正常波形为浅色菱形点,异常波形为深色球点,阙值边界线取均方误差为q的一条水平浅色横线,而显示大部分异常波形在阙值边界线之上,判定成功。
[0148]
本发明利用两个指标对本发明的泥石流灾害判定成果进行评价,正常波形测试准
确率a(正常测试波形中判别为正常的比值)与异常波形辨识准确率b(异常波形中判别为异常的比值),而本实施例中,a=0.8785,b=0.8943。该指标结果表示本发明能够对异常波形进行良好的辨识。
[0149]
以上实施例所展示的,只采集使用了正常无灾害阶段下的一种降雨量特征,本发明算法有效学习并还原了正常无灾害状态下的特征波形,对泥石流灾害下的波形数据进行了有效的识别,本发明的自编码模型能够区分两种数据的波形差异,并进行预警。
[0150]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜