CN113470316B - 一种基于自编码单分类模型的泥石流监测预警方法 - Google Patents

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

Info

Publication number
CN113470316B
CN113470316B CN202110563906.4A CN202110563906A CN113470316B CN 113470316 B CN113470316 B CN 113470316B CN 202110563906 A CN202110563906 A CN 202110563906A CN 113470316 B CN113470316 B CN 113470316B
Authority
CN
China
Prior art keywords
self
coding
classification model
single classification
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110563906.4A
Other languages
English (en)
Other versions
CN113470316A (zh
Inventor
盛瀚民
周圆
邵晋梁
白利兵
周权
米金华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202110563906.4A priority Critical patent/CN113470316B/zh
Publication of CN113470316A publication Critical patent/CN113470316A/zh
Application granted granted Critical
Publication of CN113470316B publication Critical patent/CN113470316B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/02Alarms for ensuring the safety of persons
    • G08B21/10Alarms for ensuring the safety of persons responsive to calamitous events, e.g. tornados or earthquakes
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B31/00Predictive alarm systems characterised by extrapolation or other computation using updated historic data

Landscapes

  • Business, Economics & Management (AREA)
  • Emergency Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于自编码单分类模型的泥石流监测预警方法,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据,分别构成训练集与测试集;再将训练集与测试集进行预处理,将处理后的训练集输入至构建的自编码单分类模型并训练,然后将测试集输入至训练完成的自编码单分类模型,进而确定异常判断阙值;最后结合异常判断阙值,通过训练完成的自编码单分类模型进行泥石流监测预警。

Description

一种基于自编码单分类模型的泥石流监测预警方法
技术领域
本发明属于自然灾害监测技术领域,更为具体地讲,涉及一种基于自编码单分类模型的泥石流监测预警方法。
背景技术
泥石流灾害具有突发性、流量大、破坏性强等特点,对居民、公共设施、水利工程、矿山等造成巨大损失,而泥石流监测工作是防灾减灾的重要措施。现有泥石流监测和预警主要是基于降雨数据的概率统计模型,对泥石流降雨量、土壤降雨渗入程度、泥石流运动阶段次声波、泥石流泥位等参数进行分析,获取与泥石流爆发概率相关的参数阙值,或选取累计降雨量、降雨强度、降雨延时、前期降雨量等降雨参数中的不同组合作为特征指标,利用统计分析等方法,划分引发泥石流的降雨边界值,构建泥石流多准则综合预警模型。
这些现有泥石流监测方法需要对泥石流特征变化规律进行深入分析,也局限于需要较多的泥石流灾害数据。然而在设备获取泥石流数据时,更多的是正常无灾害数据,泥石流灾害数据比较稀缺。因此在泥石流灾害数据稀缺的情况下,仅利用正常无灾害数据训练一种能够识别异常灾害数据的模型具有较大的现实意义。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于自编码单分类模型的泥石流监测预警方法,通过对泥石流正常无灾害状态下的特征数据进行过拟合学习,训练出一种识别异常波形数据的自编码单分类模型,从而对泥石流灾害进行实时监测预警。
为实现上述发明目的,本发明一种基于自编码单分类模型的泥石流监测预警方法,其特征在于,包括以下步骤:
(1)、特征提取;
(1.1)、在采集周期T内,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据作为训练集:
Figure GDA0003224577800000021
其中,
Figure GDA0003224577800000022
表示用于训练的第i组特征数据,n表示采集的特征数据组数;
(1.2)、在采集周期T内,通过传感器连续采集多组某复杂山区在另一正常无灾害时间段下的特征数据作为测试集:
Figure GDA0003224577800000023
其中,
Figure GDA0003224577800000024
表示用于测试的第j组特征数据,m表示采集的特征数据组数;
(2)、数据预处理;
(2.1)、转化为波形像素特征;
在Dtrain与Dtest中,分别画出Dtrain与Dtest中特征数据x随一次次采样的波形变化图;
再从第一次采样起,每间隔p次采样就将波形变化图拆分为一个波形变化子图;
利用python中的convert函数对每个波形变化子图进行灰度化处理,再利用python中的resize函数将波形像素设置为32*32,然后利用python中的joblib.dump函数将波形的png格式转化为1024*1维的pkl数据格式,最后利用python中的sklearn.preprocessing.MinMaxScaler函数进行归一化处理,处理完成后的训练集记为:
Figure GDA0003224577800000025
其中,
Figure GDA0003224577800000026
测试集记为:
Figure GDA0003224577800000027
其中,
Figure GDA0003224577800000028
(2.2)、对
Figure GDA0003224577800000029
进行批次划分;
Figure GDA00032245778000000210
中,从第一个数据起,每q个波形数据划分为一个批次,处理完成后有
Figure GDA00032245778000000211
个训练批次,其中,第u个批次表示为:
Figure GDA00032245778000000212
其中,u=1,2,…,U;
(3)、构建自编码单分类模型;
(3.1)、构建自编码器架构的神经网络;
神经网络的编码由一层含1024个节点的输入层、一层含512个节点的隐藏层、一层含256个节点的编码输出层组成;与编码对称的解码是由一层含256个节点的输入层、一层含512个节点的隐藏层、一层含1024个节点的解码输出层构成;
记编码参数θ1={W1,b1},其中,编码权值矩阵
Figure GDA0003224577800000031
偏置向量
Figure GDA0003224577800000032
上标1指编码输入层与隐藏层之间的权值或偏置,上标2指编码隐藏层与输出层之间的权重或偏置;
记解码参数θ2={W2,b2},其中,解码权值矩阵
Figure GDA0003224577800000033
偏置向量为
Figure GDA0003224577800000034
其中上标2指解码输入层与隐藏层之间的权值或偏置,上标1指解码隐藏层与输出层之间的权重或偏置;
(3.2)、自编码的正向传播;
在自编码参数θ1下,记编码的输入层的输入为含r个特征向量xk列排组成的特征矩阵X=[x1,x2,…,xk,…,xr],其中,
Figure GDA0003224577800000035
第k个特征向量,
Figure GDA0003224577800000036
表示实数域;
编码的正向传播为:
Figure GDA0003224577800000037
Figure GDA0003224577800000038
其中,sigmoid激活函数g(x)=1/(1+e-x),ones(1,r)表示全为1的
Figure GDA0003224577800000039
维向量,
Figure GDA00032245778000000310
表示编码隐藏层512个
Figure GDA00032245778000000311
维的节点分量
Figure GDA00032245778000000312
行排组成的矩阵,
Figure GDA00032245778000000313
表示输出层256个个
Figure GDA00032245778000000314
维的节点分量
Figure GDA00032245778000000315
行排组成的矩阵;
在自编码参数θ2下,将编码输出层H2作为解码的输入层,解码的正向传播为:
Figure GDA00032245778000000316
Figure GDA00032245778000000317
Figure GDA00032245778000000318
其中,
Figure GDA0003224577800000041
表示解码隐藏层512个
Figure GDA0003224577800000042
维的节点分量
Figure GDA0003224577800000043
行排组成的矩阵,
Figure GDA0003224577800000044
表示解码输入层256个个
Figure GDA0003224577800000045
维的节点分量
Figure GDA0003224577800000046
行排组成的矩阵;
Figure GDA0003224577800000047
表示解码输出层r个
Figure GDA0003224577800000048
维的输出向量x'k列排组成的矩阵;
(3.3)、以输入的X作为目标构建损失函数及优化目标函数;
构建损失函数:
Figure GDA0003224577800000049
其中,||·||2表示求2范数;
构建优化目标函数:
Figure GDA00032245778000000410
其中,
Figure GDA00032245778000000411
表示得优化函数L(X,X')最小时对应的最优自编码参数;
(4)、训练自编码单分类模型;
(4.1)、通过python中的tf.random_normal函数初始化参数θ1、θ2为:
Figure GDA00032245778000000412
Figure GDA00032245778000000413
(4.2)、设置最大循环轮数K,并初始化当前循环轮数κ=1,κ=1,2,…,K;
在每一轮循环中,设置最大迭代次数等于最大训练批次U,并初始化当前迭代次数u=1,u=1,2,…,U;
(4.3)、在第κ轮循环中,利用第u个批次的训练数据
Figure GDA00032245778000000414
训练自编码单分类模型;
(4.3.1)、将第u个批次的训练数据
Figure GDA00032245778000000415
作为特征矩阵X;
(4.3.2)、将特征矩阵X输入至自编码单分类模型进行自编码的正向传播;
(4.3.3)、以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算出第u迭代后的损失函数值Lu以及
Figure GDA00032245778000000416
并将自编码参数更新为
Figure GDA00032245778000000417
(4.3.4)、判断当前迭代次数u是否达到循环迭代次数U,如果未达到,则将当前迭代次数u加1,再返回步骤(4.3.1);否则,此本轮循环迭代停止,得到第κ轮迭代后的损失函数值及自编码参数,再进入步骤(4.3.5);
(4.3.5)、在第κ轮迭代后,比较第κ-ρ轮至κ轮循环迭代后的损失函数值是否收敛,如果收敛,则迭代停止,得到训练完成的自编码单分类模型,并跳转至步骤(5);否则,进入步骤(4.3.6);
(4.3.6)、判断当前循环轮数κ是否达到最大循环轮数K,如果未达到,则将当前循环轮数κ加1,并重置当前迭代次数u=1,再返回步骤(4.3.1);否则,迭代停止,得到训练完成的自编码单分类模型,再进入步骤(5);
(5)、通过测试集
Figure GDA0003224577800000051
获取异常判断的阙值;
将测试集
Figure GDA0003224577800000052
作为特征矩阵X,再输入至训练完成的自编码单分类模型,执行步骤(3.2)的正向传播;
同样以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算损失函数值
Figure GDA0003224577800000053
最后将λ倍的损失函数值
Figure GDA0003224577800000054
作为异常判断的阙值
Figure GDA0003224577800000055
(6)、泥石流实时监测预警
(6.1)、在采集周期T内,通过传感器连续采集多组某复杂山区在某时间段下的特征数据,记为x;
(6.2)、按照步骤(2.1)所述方法处理后得到一个波形像素特征,记为
Figure GDA0003224577800000056
(6.3)、将
Figure GDA0003224577800000057
作为特征矩阵X,并输入至训练完成的自编码单分类模型,先执行步骤(3.2)的正向传播,再通过步骤(3.3)所述方法计算代价函数
Figure GDA0003224577800000058
(6.4)、将
Figure GDA0003224577800000059
与异常判断阙值Q进行比较,如果
Figure GDA00032245778000000510
则判定此时为异常状态,并进行泥石流灾害告警;否则,定此时为正常状态,即无泥石流灾害风险。
本发明的发明目的是这样实现的:
本发明一种基于自编码单分类模型的泥石流监测预警方法,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据,分别构成训练集与测试集;再将训练集与测试集进行预处理,将处理后的训练集输入至构建的自编码单分类模型并训练,然后将测试集输入至训练完成的自编码单分类模型,进而确定异常判断阙值;最后结合异常判断阙值,通过训练完成的自编码单分类模型进行泥石流监测预警。
同时,本发明一种基于自编码单分类模型的泥石流监测预警方法还具有以下有益效果:
(1)、本发明仅使用正常无灾害状态下单一一种特征数据训练自编码单分类模型,与现有方法不同的是,没有使用泥石流灾害数据,没有要求传感器采集稀缺、难以获取的灾害数据,从而使整个方案简单易行;
(2)、本发明的目的是自编码单分类模型,从而辩识泥石流状态,在各种复杂山区上皆可实行,这样提醒了位置随机性与普遍性;
(3)、本发明根据自编码单分类思想设置异常判断阙值,因为自编码模型能够对正常无灾害数据进行较好的还原,而异常数据不行,这样体现了本发明的准确性与有效性。
附图说明
图1是本发明一种基于自编码单分类模型的泥石流监测预警方法流程图;
图2是本发明自编码模型的结构图;
图3是本发明实施例自编码模型训练批次随迭代次数增加的代价变化曲线图;
图4是本发明实施例中用降雨量波形特征训练的自编码模型对测试正常波形的还原效果图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明一种基于自编码单分类模型的泥石流监测预警方法流程图。
在本实施例中,如图1所示,本发明一种基于自编码单分类模型的泥石流监测预警方法,包括以下步骤:
S1、特征提取;
S1.1、在采集周期T内,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据作为训练集:
Figure GDA0003224577800000061
其中,
Figure GDA0003224577800000062
表示用于训练的第i组特征数据,n表示采集的特征数据组数;
S1.2、在采集周期T内,通过传感器连续采集多组某复杂山区在另一正常无灾害时间段下的特征数据作为测试集:
Figure GDA0003224577800000071
其中,
Figure GDA0003224577800000072
表示用于测试的第j组特征数据,m表示采集的特征数据组数;
在本实施例中,采集的特征数据只需要采集降雨量、内部温度、泥水位等某一种特征用于后续的训练及监测。
S2、数据预处理;
S2.1、转化为波形像素特征;
在Dtrain与Dtest中,分别画出Dtrain与Dtest中特征数据x随一次次采样的波形变化图;
再从第一次采样起,每间隔p次采样就将波形变化图拆分为一个波形变化子图;
利用python中的convert函数对每个波形变化子图进行灰度化处理,再利用python中的resize函数将波形像素设置为32*32,然后利用python中的joblib.dump函数将波形的png格式转化为1024*1维的pkl数据格式,最后利用python中的sklearn.preprocessing.MinMaxScaler函数进行归一化处理,处理完成后的训练集记为:
Figure GDA0003224577800000073
其中,
Figure GDA0003224577800000074
测试集记为:
Figure GDA0003224577800000075
其中,
Figure GDA0003224577800000076
S2.2、对
Figure GDA0003224577800000077
进行批次划分;
Figure GDA0003224577800000078
中,从第一个数据起,每q个波形数据划分为一个批次,处理完成后有
Figure GDA0003224577800000079
个训练批次,其中,第u个批次表示为:
Figure GDA00032245778000000710
其中,u=1,2,…,U;
在本实施例中,利用传感器获取某市某区的降雨量特征数据,训练样本数n=162584,测试样本数m=31713,拆分间隔p=50,训练样本小波数n'=3252,试样本小波数m'=635,单个批次样本数q=200,训练批次数U=17;
S3、构建自编码单分类模型;
S3.1、构建自编码器架构的神经网络;
神经网络的编码由一层含1024个节点的输入层、一层含512个节点的隐藏层、一层含256个节点的编码输出层组成;与编码对称的解码是由一层含256个节点的输入层、一层含512个节点的隐藏层、一层含1024个节点的解码输出层构成;
记编码参数θ1={W1,b1},其中,编码权值矩阵
Figure GDA0003224577800000081
偏置向量
Figure GDA0003224577800000082
上标1指编码输入层与隐藏层之间的权值或偏置,上标2指编码隐藏层与输出层之间的权重或偏置;
记解码参数θ2={W2,b2},其中,解码权值矩阵
Figure GDA0003224577800000083
偏置向量为
Figure GDA0003224577800000084
其中上标2指解码输入层与隐藏层之间的权值或偏置,上标1指解码隐藏层与输出层之间的权重或偏置;
S3.2、自编码的正向传播;
在自编码参数θ1下,记编码的输入层的输入为含r个特征向量xk列排组成的特征矩阵X=[x1,x2,…,xk,…,xr],其中,
Figure GDA0003224577800000085
第k个特征向量,
Figure GDA0003224577800000086
表示实数域;
编码的正向传播为:
Figure GDA0003224577800000087
Figure GDA0003224577800000088
其中,sigmoid激活函数g(x)=1/(1+e-x),ones(1,r)表示全为1的
Figure GDA0003224577800000089
维向量,
Figure GDA00032245778000000810
表示编码隐藏层512个
Figure GDA00032245778000000811
维的节点分量
Figure GDA00032245778000000812
行排组成的矩阵,
Figure GDA00032245778000000813
表示输出层256个个
Figure GDA00032245778000000814
维的节点分量
Figure GDA00032245778000000815
行排组成的矩阵;
在自编码参数θ2下,将编码输出层H2作为解码的输入层,解码的正向传播为:
Figure GDA00032245778000000816
Figure GDA00032245778000000817
Figure GDA00032245778000000818
其中,
Figure GDA0003224577800000091
表示解码隐藏层512个
Figure GDA0003224577800000092
维的节点分量
Figure GDA0003224577800000093
行排组成的矩阵,
Figure GDA0003224577800000094
表示解码输入层256个个
Figure GDA0003224577800000095
维的节点分量
Figure GDA0003224577800000096
行排组成的矩阵;
Figure GDA0003224577800000097
表示解码输出层r个
Figure GDA0003224577800000098
维的输出向量x'k列排组成的矩阵;
在本实施例中,自编码模型的结构如图2所示,图中n=1024指特征向量的维数,自编码模型由一层含n个节点的输入层、两层依次含n/2、n/4个节点的编码层、两层依次含n/4、n/2个节点的解码层、一层含n个节点的输出层组成;
S3.3、以输入的X作为目标构建损失函数及优化目标函数;
构建损失函数:
Figure GDA0003224577800000099
其中,||·||2表示求2范数;
构建优化目标函数:
Figure GDA00032245778000000910
其中,
Figure GDA00032245778000000911
表示得优化函数L(X,X')最小时对应的最优自编码参数;
在本实施例中,后续运算时可以利用梯度下降法对构建的损失函数进行求解,梯度下降法求解过程为:一次梯度下降指以
Figure GDA00032245778000000912
Figure GDA00032245778000000913
替代参数θ1与θ2,其中,α指梯度下降的学习率,大小设置为0.01。通过python中的tf.train.RMSPropOptimizer(learning_rate).minimize(cost)函数,可以将参数θ1与θ2一步步梯度更新为参数
Figure GDA00032245778000000914
Figure GDA00032245778000000915
由此逐步降低代价函数L(X,X'),使得自编码输出X'接近自编码输入特征矩阵X;
S4、训练自编码单分类模型;
S4.1、通过python中的tf.random_normal函数初始化参数θ1、θ2为:
Figure GDA00032245778000000916
S4.2、设置最大循环轮数K,并初始化当前循环轮数κ=1,κ=1,2,…,K;
在每一轮循环中,设置最大迭代次数等于最大训练批次U,并初始化当前迭代次数u=1,u=1,2,…,U;
S4.3、在第κ轮循环中,利用第u个批次的训练数据
Figure GDA00032245778000000917
训练自编码单分类模型;
S4.3.1、将第u个批次的训练数据
Figure GDA00032245778000000918
作为特征矩阵X;
S4.3.2、将特征矩阵X输入至自编码单分类模型进行自编码的正向传播;
S4.3.3、以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算出第u迭代后的损失函数值Lu以及
Figure GDA00032245778000000919
并将自编码参数更新为
Figure GDA00032245778000000920
S4.3.4、判断当前迭代次数u是否达到循环迭代次数U,如果未达到,则将当前迭代次数u加1,再返回步骤S4.3.1;否则,此本轮循环迭代停止,得到第κ轮迭代后的损失函数值及自编码参数,再进入步骤S4.3.5;
S4.3.5、在第κ轮迭代后,比较第κ-ρ轮至κ轮循环迭代后的损失函数值是否收敛,如果收敛,则迭代停止,得到训练完成的自编码单分类模型,并跳转至步骤S5;否则,进入步骤S4.3.6;
S4.3.6、判断当前循环轮数κ是否达到最大循环轮数K,如果未达到,则将当前循环轮数κ加1,并重置当前迭代次数u=1,再返回步骤S4.3.1;否则,迭代停止,得到训练完成的自编码单分类模型,再进入步骤S5;
在本实施例中,设置最大循环轮数K=10000,利用正常无灾害状态下采集的降雨量数据,依次划分为U=17个训练批次,循环迭代更新自编码模型参数,一步步降低代价函数值,将自编码模型一步步匹配训练批次并学习到足够的正常无灾害知识。如图3为本实施例自编码模型训练批次随迭代次数增加的代价变化曲线图,代价值随迭代次数增加而降低,在迭代次数超过4000后,代价值稳定在0.1以下。
S5、通过测试集
Figure GDA0003224577800000101
获取异常判断的阙值;
将测试集
Figure GDA0003224577800000102
作为特征矩阵X,再输入至训练完成的自编码单分类模型,执行步骤S3.2的正向传播;
同样以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算损失函数值
Figure GDA0003224577800000103
最后将λ倍的损失函数值
Figure GDA0003224577800000104
作为异常判断的阙值
Figure GDA0003224577800000105
在本实施例中,λ=1.27,计算得阙值Q=0.11614;
S6、泥石流实时监测预警;
S6.1、在采集周期T内,通过传感器实时连续采集某复杂山区在某时间段下的特征数据,记为x;
S6.2、按照步骤S2.1所述方法处理后得到一个波形像素特征,记为
Figure GDA0003224577800000106
S6.3、将
Figure GDA0003224577800000107
作为特征矩阵X,并输入至训练完成的自编码单分类模型,先执行步骤S3.2的正向传播,再通过步骤S3.3所述方法计算代价函数
Figure GDA0003224577800000108
S6.4、将
Figure GDA0003224577800000111
与异常判断阙值Q进行比较,如果
Figure GDA0003224577800000112
则判定此时为异常状态,并进行泥石流灾害告警;否则,定此时为正常状态,即无泥石流灾害风险。
图4是本发明实施例中用降雨量波形特征训练的自编码模型对测试正常波形的还原效果图;在步骤S4利用经过步骤S2预处理的训练批次
Figure GDA0003224577800000113
训练好自编码模型参数后,进行可视化波形。而图中上排为五张随机选取的正常无灾害状态下的降雨量波形(测试正常波形),下排为对应的自编码模型对输入正常波形的编码后解码还原的输出波形,上下对比发现,本发明训练出的自编码模型能够较好的对正常波形进行还原。
在步骤S5中由测试正常波形
Figure GDA0003224577800000114
的均方误差
Figure GDA0003224577800000115
的λ倍,从而计算出异常判定阙值Q=0.11614,在步骤S6中选取泥石流灾害阶段下的降雨量波形,计算出各异常波形的均方误差,与阙值进行比较。以样本数为横坐标,降雨量波形对应的均方误差为纵坐标,正常波形为浅色菱形点,异常波形为深色球点,阙值边界线取均方误差为Q的一条水平浅色横线,而显示大部分异常波形在阙值边界线之上,判定成功。
本发明利用两个指标对本发明的泥石流灾害判定成果进行评价,正常波形测试准确率A(正常测试波形中判别为正常的比值)与异常波形辨识准确率B(异常波形中判别为异常的比值),而本实施例中,A=0.8785,B=0.8943。该指标结果表示本发明能够对异常波形进行良好的辨识。
以上实施例所展示的,只采集使用了正常无灾害阶段下的一种降雨量特征,本发明算法有效学习并还原了正常无灾害状态下的特征波形,对泥石流灾害下的波形数据进行了有效的识别,本发明的自编码模型能够区分两种数据的波形差异,并进行预警。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (1)

1.一种基于自编码单分类模型的泥石流监测预警方法,其特征在于,包括以下步骤:
(1)、特征提取;
(1.1)、在采集周期T内,通过传感器连续采集多组某复杂山区在某正常无灾害时间段下的特征数据作为训练集:
Figure FDA0003080006490000011
其中,
Figure FDA0003080006490000012
表示用于训练的第i组特征数据,n表示采集的特征数据组数;
(1.2)、在采集周期T内,通过传感器连续采集多组某复杂山区在另一正常无灾害时间段下的特征数据作为测试集:
Figure FDA0003080006490000013
其中,
Figure FDA0003080006490000014
表示用于测试的第j组特征数据,m表示采集的特征数据组数;
(2)、数据预处理;
(2.1)、转化为波形像素特征;
在Dtrain与Dtest中,分别画出Dtrain与Dtest中特征数据x随一次次采样的波形变化图;
再从第一次采样起,每间隔p次采样就将波形变化图拆分为一个波形变化子图;
利用python中的convert函数对每个波形变化子图进行灰度化处理,再利用python中的resize函数将波形像素设置为32*32,然后利用python中的joblib.dump函数将波形的png格式转化为1024*1维的pkl数据格式,最后利用python中的sklearn.preprocessing.MinMaxScaler函数进行归一化处理,处理完成后的训练集记为:
Figure FDA0003080006490000015
其中,
Figure FDA0003080006490000017
测试集记为:
Figure FDA0003080006490000016
其中,
Figure FDA0003080006490000018
(2.2)、对
Figure FDA0003080006490000021
进行批次划分;
Figure FDA0003080006490000022
中,从第一个数据起,每q个波形数据划分为一个批次,处理完成后有
Figure FDA00030800064900000219
个训练批次,其中,第u个批次表示为:
Figure FDA0003080006490000023
其中,u=1,2,…,U;
(3)、构建自编码单分类模型;
(3.1)、构建自编码器架构的神经网络;
神经网络的编码由一层含1024个节点的输入层、一层含512个节点的隐藏层、一层含256个节点的编码输出层组成;与编码对称的解码是由一层含256个节点的输入层、一层含512个节点的隐藏层、一层含1024个节点的解码输出层构成;
记编码参数θ1={W1,b1},其中,编码权值矩阵
Figure FDA0003080006490000024
偏置向量
Figure FDA0003080006490000025
上标1指编码输入层与隐藏层之间的权值或偏置,上标2指编码隐藏层与输出层之间的权重或偏置;
记解码参数θ2={W2,b2},其中,解码权值矩阵
Figure FDA0003080006490000026
偏置向量为
Figure FDA0003080006490000027
其中上标2指解码输入层与隐藏层之间的权值或偏置,上标1指解码隐藏层与输出层之间的权重或偏置;
(3.2)、自编码的正向传播;
在自编码参数θ1下,记编码的输入层的输入为含r个特征向量xk列排组成的特征矩阵X=[x1,x2,…,xk,…,xr],其中,
Figure FDA00030800064900000218
第k个特征向量,
Figure FDA0003080006490000028
表示实数域;
编码的正向传播为:
Figure FDA0003080006490000029
Figure FDA00030800064900000210
其中,sigmoid激活函数g(x)=1/(1+e-x),ones(1,r)表示全为1的
Figure FDA00030800064900000211
维向量,
Figure FDA00030800064900000212
表示编码隐藏层512个
Figure FDA00030800064900000213
维的节点分量
Figure FDA00030800064900000214
行排组成的矩阵,
Figure FDA00030800064900000215
表示输出层256个
Figure FDA00030800064900000216
维的节点分量
Figure FDA00030800064900000217
行排组成的矩阵;
在自编码参数θ2下,将编码输出层H2作为解码的输入层,解码的正向传播为:
Figure FDA0003080006490000031
Figure FDA0003080006490000032
Figure FDA0003080006490000033
其中,
Figure FDA0003080006490000034
表示解码隐藏层512个
Figure FDA0003080006490000035
维的节点分量
Figure FDA0003080006490000036
行排组成的矩阵,
Figure FDA0003080006490000037
表示解码输入层256个
Figure FDA0003080006490000038
维的节点分量
Figure FDA0003080006490000039
行排组成的矩阵;
Figure FDA00030800064900000310
表示解码输出层r个
Figure FDA00030800064900000311
维的输出向量x'k列排组成的矩阵;
(3.3)、以输入的X作为目标构建损失函数及优化目标函数;
构建损失函数:
Figure FDA00030800064900000312
其中,||·||2表示求2范数;
构建优化目标函数:
Figure FDA00030800064900000313
其中,
Figure FDA00030800064900000314
表示得优化函数L(X,X')最小时对应的最优自编码参数;
(4)、训练自编码单分类模型;
(4.1)、通过python中的tf.random_normal函数初始化参数θ1、θ2为:
Figure FDA00030800064900000315
Figure FDA00030800064900000316
(4.2)、设置最大循环轮数K,并初始化当前循环轮数κ=1,κ=1,2,…,K;
在每一轮循环中,设置最大迭代次数等于最大训练批次U,并初始化当前迭代次数u=1,u=1,2,…,U;
(4.3)、在第κ轮循环中,利用第u个批次的训练数据
Figure FDA00030800064900000317
训练自编码单分类模型;
(4.3.1)、将第u个批次的训练数据
Figure FDA00030800064900000318
作为特征矩阵X;
(4.3.2)、将特征矩阵X输入至自编码单分类模型进行自编码的正向传播;
(4.3.3)、以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算出第u迭代后的损失函数值Lu以及
Figure FDA00030800064900000319
并将自编码参数更新为
Figure FDA00030800064900000320
(4.3.4)、判断当前迭代次数u是否达到循环迭代次数U,如果未达到,则将当前迭代次数u加1,再返回步骤(4.3.1);否则,此本轮循环迭代停止,得到第κ轮迭代后的损失函数值及自编码参数,再进入步骤(4.3.5);
(4.3.5)、在第κ轮迭代后,比较第κ-ρ轮至κ轮循环迭代后的损失函数值是否收敛,如果收敛,则迭代停止,得到训练完成的自编码单分类模型,并跳转至步骤(5);否则,进入步骤(4.3.6);
(4.3.6)、判断当前循环轮数κ是否达到最大循环轮数K,如果未达到,则将当前循环轮数κ加1,并重置当前迭代次数u=1,再返回步骤(4.3.1);否则,迭代停止,得到训练完成的自编码单分类模型,再进入步骤(5);
(5)、通过测试集
Figure FDA0003080006490000041
获取异常判断的阙值;
将测试集
Figure FDA0003080006490000042
作为特征矩阵X,再输入至训练完成的自编码单分类模型,执行步骤(3.2)的正向传播;
同样以构建的优化目标函数为目标,利用梯度下降法对构建的损失函数进行求解,计算损失函数值
Figure FDA0003080006490000043
最后将λ倍的损失函数值
Figure FDA0003080006490000044
作为异常判断的阙值
Figure FDA0003080006490000045
(6)、泥石流实时监测预警
(6.1)、在采集周期T内,通过传感器连续采集多组某复杂山区在某时间段下的特征数据,记为x;
(6.2)、按照步骤(2.1)所述方法处理后得到一个波形像素特征,记为
Figure FDA0003080006490000046
(6.3)、将
Figure FDA0003080006490000047
作为特征矩阵X,并输入至训练完成的自编码单分类模型,先执行步骤(3.2)的正向传播,再通过步骤(3.3)所述方法计算代价函数
Figure FDA0003080006490000048
(6.4)、将
Figure FDA0003080006490000049
与异常判断阙值Q进行比较,如果
Figure FDA00030800064900000410
则判定此时为异常状态,并进行泥石流灾害告警;否则,定此时为正常状态,即无泥石流灾害风险。
CN202110563906.4A 2021-05-24 2021-05-24 一种基于自编码单分类模型的泥石流监测预警方法 Active CN113470316B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110563906.4A CN113470316B (zh) 2021-05-24 2021-05-24 一种基于自编码单分类模型的泥石流监测预警方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110563906.4A CN113470316B (zh) 2021-05-24 2021-05-24 一种基于自编码单分类模型的泥石流监测预警方法

Publications (2)

Publication Number Publication Date
CN113470316A CN113470316A (zh) 2021-10-01
CN113470316B true CN113470316B (zh) 2022-03-25

Family

ID=77871216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110563906.4A Active CN113470316B (zh) 2021-05-24 2021-05-24 一种基于自编码单分类模型的泥石流监测预警方法

Country Status (1)

Country Link
CN (1) CN113470316B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327237A (zh) * 2021-12-15 2022-04-12 中国地质大学(武汉) 利用上位机进行实时数据解码的方法、装置及设备
CN116383723A (zh) * 2023-06-06 2023-07-04 中国地质调查局水文地质环境地质调查中心 一种泥石流数据异常辨识方法、计算机设备及介质
CN117037432B (zh) * 2023-10-08 2023-12-19 四川省公路规划勘察设计研究院有限公司 基于多方法协同的风险评价地质灾害预警方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105809679A (zh) * 2016-03-04 2016-07-27 李云栋 一种基于视觉分析的山区铁路边坡落石检测方法
CN109063247A (zh) * 2018-06-26 2018-12-21 西安工程大学 基于深度信念网络的滑坡灾害预报方法
CN109858509A (zh) * 2018-11-05 2019-06-07 杭州电子科技大学 基于多层随机神经网络单分类器异常检测方法
CN110824142A (zh) * 2019-11-13 2020-02-21 杭州鲁尔物联科技有限公司 一种地质灾害的预测方法、装置及设备
CN112233381A (zh) * 2020-10-14 2021-01-15 中国科学院、水利部成都山地灾害与环境研究所 一种基于机理和机器学习耦合的泥石流预警方法与系统
WO2021007812A1 (zh) * 2019-07-17 2021-01-21 深圳大学 一种深度神经网络超参数优化方法、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105809679A (zh) * 2016-03-04 2016-07-27 李云栋 一种基于视觉分析的山区铁路边坡落石检测方法
CN109063247A (zh) * 2018-06-26 2018-12-21 西安工程大学 基于深度信念网络的滑坡灾害预报方法
CN109858509A (zh) * 2018-11-05 2019-06-07 杭州电子科技大学 基于多层随机神经网络单分类器异常检测方法
WO2021007812A1 (zh) * 2019-07-17 2021-01-21 深圳大学 一种深度神经网络超参数优化方法、电子设备及存储介质
CN110824142A (zh) * 2019-11-13 2020-02-21 杭州鲁尔物联科技有限公司 一种地质灾害的预测方法、装置及设备
CN112233381A (zh) * 2020-10-14 2021-01-15 中国科学院、水利部成都山地灾害与环境研究所 一种基于机理和机器学习耦合的泥石流预警方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于多参数融合和RBF神经网络的泥石流预报;李丽敏等;《西安工程大学学报》;20170310;第31卷(第01期);77-81 *
降雨引发泥石流人工神经网络预警模型剖析;张猛;《黑龙江水利科技》;20151231;第43卷(第12期);55-57 *

Also Published As

Publication number Publication date
CN113470316A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN113470316B (zh) 一种基于自编码单分类模型的泥石流监测预警方法
CN109492822B (zh) 空气污染物浓度时空域关联预测方法
CN110533631B (zh) 基于金字塔池化孪生网络的sar图像变化检测方法
CN109308522B (zh) 一种基于循环神经网络的gis故障预测方法
CN111967343A (zh) 基于简单神经网络和极端梯度提升模型融合的检测方法
CN111008337B (zh) 一种基于三元特征的深度注意力谣言鉴别方法及装置
CN112330951B (zh) 一种基于生成对抗网络实现路网交通数据修复的方法
CN111507376A (zh) 一种基于多种无监督方法融合的单指标异常检测方法
CN112200237B (zh) 一种结构健康监测系统时序监测数据异常诊断方法
CN111242351A (zh) 基于自编码器和gru神经网络的热带气旋轨迹预测方法
CN114978613B (zh) 基于数据增强和自监督特征增强的网络入侵检测方法
CN111079999A (zh) 一种基于cnn和svm的洪水灾害易发性预测方法
CN116823664B (zh) 一种遥感图像云去除方法及系统
CN111968019A (zh) 一种基于cnn与rnn集成的滑坡灾害易发性预测方法
CN116400168A (zh) 一种基于深度特征聚类的电网故障诊断方法及系统
CN115374903A (zh) 一种基于高速公路传感网布设的长期路面监测数据增强方法
CN115470850A (zh) 一种基于管网水质时空数据的水质异常事件识别预警方法
CN113743592A (zh) 一种基于gan的遥测数据异常检测方法
CN110043808B (zh) 基于时间序列分析的供水管网漏损监测预警方法
CN115099328A (zh) 基于对抗网络的交通流量预测方法、系统、设备及存储介质
CN116702090A (zh) 一种多模态数据融合与不确定估计的水位预测方法及系统
CN115877483A (zh) 一种基于随机森林和gru的台风路径预报方法
CN114330120A (zh) 一种基于深度神经网络预测24小时pm2.5浓度的方法
CN115051834A (zh) 一种基于STSA-transformer算法的新型电力系统APT攻击检测方法
CN115208619A (zh) 基于STSA-transformer算法的新型电力系统APT攻击检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant