基于小波神经网络的网络故障诊断方法、设备及存储介质
技术领域
本发明涉及网络故障诊断方法、设备及存储介质,尤其涉及一种基于小波神经网络的网络故障诊断方法、设备及存储介质。
背景技术
在网络系统运行过程中,故障是一个非常值得关注的问题,即使当一个小的故障发生时,也极有可能影响整个网络系统的健康运行,进一步可能会导致整个系统的瘫痪,造成经济和财产的损失。因此,通过有效的故障检测和诊断技术快速精确地发现网络系统中的各种异常,定位故障,恢复故障,对维护网络系统的健康运行,具有重要的意义。
目前,故障诊断技术主要分为定性分析方法与定量分析方法。其中,定性分析方法又包括符号有向图、故障树、专家系统等。然而在复杂的网络系统中,这类方法存在诊断准确率不高、推理速度慢、效率低下等问题。定量分析方法分为基于解析模型的方法和基于数据驱动的方法。基于解析模型的故障诊断方法主要是利用系统精确的数学模型和可观测输入输出信号来反映系统期望行为,并与实际运行模式进行对比,从而实现故障诊断。然而实际的网络故障诊断中,很难通过网络系统建立精确地数学模型,这就导致解析模型方法的应用范围非常受限。基于数据驱动的故障诊断技术主要通过大量的网络历史数据,使用人工智能技术,提取隐含表示系统变量相关性的基础知识,通过检测所获得的基础知识与在线监测数据中提取的实时系统特征的一致性来实现网络故障诊断。这种方法不需要建立精确地解析模型,而是完全从系统历史数据出发,进行故障诊断,因此在故障诊断领域得到了广泛的应用。
在基于数据驱动的故障诊断技术中,神经网络是目前最受欢迎的网络故障诊断方法之一。小波神经网络(Wavelet Neural Network,WNN)是神经网络的一种,由BP神经网络改进而来,通过小波函数替换神经网络的隐藏层激活函数,加快了函数收敛。WNN兼具BP神经网络强大的自学习能力、泛化能力、非线性映射能力以及小波函数良好的时频特性,在处理复杂非线性故障诊断问题中取得了较好的效果。然而传统的小波神经网络方法容易陷入局部最优,这就导致网络故障诊断模型在诊断准确率方面效果达不到最优。此外,WNN模型的初始参数选取具有随机性,而选取不同的初始参数可能会导致模型训练陷入不同的局部最优,这就会导致网络故障的诊断结果呈现波动,在诊断稳定性方面欠佳。
发明内容
发明目的:本发明的目的是提供一种能避免网络故障诊断模型初始参数选取的随机性,提高诊断准确性与稳定性的基于小波神经网络的网络故障诊断方法、设备及存储介质。
技术方案:本发明的网络故障诊断方法,包括步骤如下:
S1,获取故障状态和正常状态下的网络数据;
S2,对网络故障数据进行数值化和归一化处理,并采用PCA降维算法进行数据降维;
S3,创建小波神经网络模型,选用改进的灰狼优化算法,将优化得到的参数作为小波神经网络模型的参数;再将步骤S2处理后的网络故障数据作为输入,反向调整参数时增加动量因子,通过不断训练,完成网络故障诊断模型建立;
S4,输入实时网络状态数据,判断网络是否出现故障;
S5,输出网络故障诊断结果及具体故障类别。
进一步,所述步骤S3中,小波神经网络模型的建立过程如下:
设定有P组训练数据,N个输入层神经元数,M个输出层神经元数,则第p个样本输入
为
;
第k个隐含层的输出为
,其中,
为morlet小波函数,
为输入
层和第k个隐藏层之间的连接权重,
为小波的尺度因子,
为小波的位移因子;
输出层的输出表达式为:
其中,
为输出层和隐藏层之间的连接权重, p、n、m为整数,
;
小波神经网络输出的标准误差函数为:
其中,
为第p个样本输出,
为第p个样本期望输出。
进一步,所述步骤S3中,改进的灰狼优化算法实现过程如下:
S31,根据选择的神经网络模型,确定需要优化的参数数量Q满足条件如下:
其中,
是神经网络输入层的神经元个数,
是神经网络隐含层的神经元个
数,
是神经网络输出层的神经元个数;
S32,确定适应度计算函数:
其中,P为输入样本个数,obse表示实际样本类别值,pred表示代入狼群位置后小波神经网络的计算值;
S33,依据每个灰狼个体的适应度值来确定狼群等级 α、β、δ和ω,将狼群中根据适应度值由小到大进行排序,第一个最小的灰狼个体作为头狼α,第二个体作为头狼β,第三个体作为头狼δ,其余的均为普通狼ω;对于每个灰狼个体,根据α、β、δ狼的位置更新自己的位置,并将新位置的适应度值与α、β、δ的位置适应度值比较,若新位置的适应度值更小,则保留新位置及其适应度值;不断迭代更新个体,达到迭代次数后,停止更新,此时,头狼α的位置,作为优化的小波神经网络权值、尺度因子、位移因子;实现过程如下:
S331,灰狼个体将α、β、δ狼的位置假想为猎物的位置,并分别根据α、β、δ狼的位置更新自己的位置,该更新过程的表达式如下:
其中,
分别为第 m 次迭代后α、β、δ狼的位置,
是第m代灰
狼的位置,
是α、β、δ狼与灰狼之间的距离,
为灰狼ω分别根据头狼α、β、
δ的位置更新的位置;C
1、C
2、C
3、A
1、A
2、A
3为协同系数,协同系数C和A的计算公式分别为:
其中,
和
为区间[0,1]的随机数,s 是随迭代次数增加从2非线性递减到0的
常数,
为优化算法的最大迭代次数;
S332,灰狼个体根据α、β、δ来更新自己的位置,并再次定位猎物的位置;具体表达式如下:
其中,
分别为α狼、β狼、δ狼的位置,
分别为ω狼对α狼、β狼、δ
狼的更新权重;
灰狼位置更新公式为:
进一步,所述步骤S3中,增加了动量因子
后的权值修正公式为:
其中,
为网络训练的学习率,
分别代表第t次迭代时神经
网络的
。
本发明的网络故障诊断设备,主要包括计算模块、存储模块、输入模块、输出模块和软件模块;
所述计算模块包括处理器及系统存储器,完成所述网络故障诊断模型的训练及故障诊断;
所述存储模块用于存储网络故障数据及诊断过程中产生的历史故障模型,通过调用存储设备中的数据,实现网络故障诊断;此外,存储设备的规格需满足大容量数据的读写要求,保证设备在处理大规模网络故障数据时,能快速有序运转;
所述输入模块用于接受实时故障数据,输出模块用于显示故障诊断结果;
所述软件模块包括数据获取模块、数据预处理模块、参数优化模块、训练模块和故障诊断模块;所述数据预处理模块用于原始网络故障数据的数值化、压缩和过滤,统一数据类型,去除故障数据中存在的大量冗余信息;所述参数优化模块用于优化相关诊断模型的参数;所述训练模块用于神经网络训练,形成历史故障数据诊断模型;所述诊断模块用于实时网络故障数据的诊断,形成诊断报告。
本发明的网络故障诊断存储介质,用于存储程序,执行所述程序以实现所述网络故障诊断方法。
本发明与现有技术相比,其显著效果如下:
1、本发明增加了数据预处理操作,针对网络故障数据海量、高维的特点,在故障诊断前,增加了数据压缩及特征降维操作,有效节约数据的存储空间,方便后续更高效的进行故障诊断;
2、本发明在小波神经网络误差反向传播过程中,引入动量因子,通过引入前一时刻的修正量,从而传递每一次的参数变化,促使权值、尺度因子、位移因子的调节向着误差曲面底部的平均方向变化,提高诊断模型的局部寻优能力;
3、本发明增加了参数优化模块,采用非线性收敛因子及动态权重策略,改进灰狼算法,平衡局部与全局搜索能力,并以此优化WNN故障诊断模型的初始参数,避免初始参数选取的随机性。
附图说明
图1为本发明面向网络故障的故障诊断流程图;
图2为本发明面向网络故障的故障诊断模型图;
图3为本发明实施例网络状态数据二维分布示意图;
图4(A)为本发明实施例多分类映射示意图,
图4(B)为本发明实施例二分类映射示意图;
图5为本发明实施例PCA降维后主成分累积贡献率柱状图;
图6为本发明实施例数据预处理流程示意图;
图7(A-1)是单峰测试函数Sphere的三维图,
图7(A-2)是Agents_n(狼群数量)=30, iteration(迭代次数)=100时, Sphere函数的参数优化效果比较图,
图7(B-1)是多峰测试函数Rastrigin的三维图,
图7(B-2)是Agents_n=30, iteration=100时, Rastrigin函数的参数优化效果比较图,
图7(C-1)是多峰测试函数Griewank的三维图,
图7(C-2)是Agents_n=30, iteration=100时, Griewank函数的参数优化效果比较图;
图8(A)是iter(迭代次数)=50,Ir(学习率)=0.1时,网络故障诊断结果准确率对比图,
图8(B)是iter=50,Ir=0.1时,网络故障诊断结果精确率对比图,
图8(C)是iter=50,Ir=0.1时,网络故障诊断结果真正率对比图,
图8(D)是iter=50,Ir=0.1时,网络故障诊断结果假正率对比图,
图8(E)是iter=50,Ir=0.1时,网络故障诊断结果F1值对比图;
图9为本发明网络故障诊断设备硬件模块示意图;
图10为本发明网络故障诊断设备软件模块示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
本发明的网络故障诊断方法流程图如图1所示,模型图如图2所示,本发明详细的实现步骤如下:
步骤一,数据集的数值化与归一化。
为了更好的训练网络故障诊断模型,根据获取的故障以及正常状态下的网络数据,对网络故障数据进行数值化与归一化,故障类别见表1。
表1 网络故障类别分类
如表1所示,数据标签0代表无故障、标签1代表系统发生故障,在该实施例中,仅展示了有无故障二分类结果,若要对各故障类别进行精准的诊断,只需要改变数据标签即可。
图3为网络状态数据在二维空间中的分布图。图4(A)、图4(B)分别为进行数值化操作后多分类及二分类映射示意图。
步骤二,数据降维。
原始网络故障数据具有41维特征,维度较高,造成模型训练时间较长,因此在尽量保留较完整故障数据信息的前提下,采用PCA降维算法进行数据降维。图5为PCA主成分贡献率柱状图。由图5可知,前五个主成分累计贡献率达95%以上,故取前五个主成分数据作为降维后的特征数据,可以极大地保留原始的数据信息,且将特征维度降低了36个维度,如图6所示。
步骤三,创建小波神经网络模型。
设定有P个训练样本,N个输入层神经元数,M个输出层神经元数。则第p个样本输入
为
,输出为
,期望输出为
。其中p、n、m为整数,
,
,
。第k个隐
含层的输出为
。其中,
为morlet小波函数,
为输入层和第k个隐藏层之
间的连接权重,
为小波的尺度因子,
为小波的位移因子。输出层的输出表达式为:
其中,
为输出层和隐藏层之间的连接权。神经网络输出的标准误差函数为:
本发明实施例根据小波神经网络结构创建一个5-10-1三层神经网络训练模型。其中输入层神经元个数为5个,与PCA降维后的网络故障数据特征个数相等,隐藏层神经元个数为10个, 输出层神经元数为1。
步骤四,IGWO(Improved Grey Wolf Optimizer改进的灰狼优化器)参数优化。
需要优化的参数个数Q满足如下条件:
其中,
分别是神经网络的输入层、隐含层和输出层的神经元个
数。根据本发明实施例5-10-1的三层神经网络模型可知,需要优化的参数数量为82个。
确定适应度计算函数:
其中, obse表示实际样本类别值,pred表示代入狼群位置后小波神经网络的计算值。
依据每个灰狼个体的适应度值来确定狼群等级 α、β、δ和ω。将狼群中根据适应度值由小到大进行排序,第一个最小的灰狼个体作为头狼α,第二个体作为头狼β,第三个体作为头狼δ,其余的均为普通狼ω。对于每个灰狼个体,根据α、β、δ狼的位置更新自己的位置,并将新位置的适应度值与α、β、δ的位置适应度值比较,若新位置的适应度值更小,则保留新位置及其适应度值。不断迭代更新个体,达到迭代次数后,停止更新。此时头狼α的位置,就是优化的小波神经网络权值、尺度因子、位移因子。详细过程如下:
(4.1)灰狼个体将α、β、δ狼的位置假想为猎物的位置,并分别根据α、β、δ狼的位置更新自己的位置。该过程的数学表达式如下:
其中,
是α、β、δ狼与灰狼个体之间的距离;
为灰狼个体分别根据α
狼、β狼、δ狼的位置更新的位置;
为第 m 次迭代后α狼、β狼、δ狼的位置,
是第m代灰狼个体的位置;C
1、C
2、C
3、A
1、A
2、A
3为协同系数,协同系数C和A的计算公式分别为:
其中,
和
为区间[0,1]的随机数,s 是随迭代次数增加从2非线性递减到0的常
数,
为优化算法的最大迭代次数。
(4.2)通过α狼、β狼、δ狼的位置来确定猎物的位置,灰狼个体根据α、β、δ的位置来更新自己的位置,并再次定位猎物的位置。
其中,
分别为α狼、β狼、δ狼的位置,
分别为灰狼个体对α狼、β狼、
δ狼的更新权重。灰狼位置更新公式为:
步骤五,神经网络训练。
将IGWO优化得到的α狼位置作为小波神经网络的连接权重值、小波尺度
以及
位移因子
。输入经过预处理后的网络故障数据,通过小波神经网络计算估计值和误差,
并根据估计值与实际值间的误差,反向调整连接权重值、小波尺度
以及位移因子
。不
断迭代更新参数直至达到最大迭代次数,输出并保存训练模型。
其中,
为网络训练的学习率,
分别代表第t次迭代时神经网络
的
。
步骤六,输入待诊断网络数据,实现网络故障诊断,并输出故障诊断结果及具体故障类别。
本发明实施例的数据采集自某网络系统中正常与故障的数据,数据包含Dos等四种故障类别。实验从中随机选取1万条故障数据以及1万条正常数据构成实验数据集,其中75%的数据用于神经网络训练,其余的数据用于测试。实验中,狼群数量设置为100,优化迭代次数为30次,小波神经网络迭代次数为50次,学习率为0.1。
图7(A-1)、图7(A-2)、图7(B-1)、图7(B-2)、图7(C-1)和图7(C-2)为本发明采用的参数优化方法(IGWO)与GWO(Grey Wolf Optimizer灰狼优化算法)优化方法在三种测试函数下的收敛曲线图。可以得出,无论是在单峰函数还是多峰函数上,本发明采用的IGWO参数优化方法在收敛精度和速度上均有明显优势。
图8(A)、图8(B)、图8(C)、图8(D)、图8(E)和表2描述了本发明方法与原WNN网络故障诊断模型在30次实验下的诊断结果。
表2 IGWO-WNN模型与WNN模型三十次实验的结果对比表
由图8(A)、图8(B)、图8(C)、图8(D)和图8(E)可知,本发明在整体诊断准确率和对故障样本的诊断错误率上波动较小,整体趋于平缓,而传统的WNN模型在诊断结果上会出现波动较大的尖锐点,这是因为WNN模型通过随机选取的方式来初始化模型参数,不同的初始参数可能导致神经网络训练收敛于不同的局部最优点,从而使模型的诊断结果波动较大。而本发明方法由于采用改进的灰狼算法对神经网络初始参数进行优化,一定程度上避免了初始参数的随机性,使得小波神经网络训练收敛于全局最优点。实验结果表明,本发明的网络故障诊断方法在故障诊断准确性与稳定性方面具有较大的优越性,能够有效解决神经网络因初始参数随机、易陷入局部最优导致的网络故障诊断准确性及稳定性低的问题。
图9为本发明的网络故障诊断设备硬件模块示意图,用于执行本发明实例提供的网络故障诊断方法。网络故障诊断设备主要由计算模块、存储模块、输入模块和输出模块组成。其中,计算模块包括处理器及系统存储器。所述计算模块是网络故障诊断的核心,完成模型的训练及故障诊断。
存储模块用于存储网络故障数据及诊断过程中产生的历史故障模型,通过调用存储设备中的数据,实现网络故障诊断。此外,存储设备的规格需满足大容量数据的读写要求,保证设备在处理大规模网络故障数据时,可以快速有序运转。
输入模块主要用于接受实时故障数据,输出模块主要用于显示故障诊断结果。
图10为本发明的网络故障诊断方法的软件模块示意图。软件模块分为网络故障数据获取模块、预处理模块、参数优化模块、训练模块及诊断模块。其中,数据预处理模块用于原始网络故障数据的数值化、压缩和过滤,统一数据类型,去除故障数据中存在的大量冗余信息;参数优化模块,用于优化相关诊断模型的参数;训练模块,用于神经网络训练,形成历史故障数据诊断模型;诊断模块:主要用于实时网络故障数据的诊断,形成诊断报告。
本发明提供的计算机可读存储介质,存储包括上述网络故障诊断程序及历史故障数据诊断模型,所述故障诊断程序及历史故障数据诊断模型由计算模块加载并执行,从而实现网络故障的实时诊断。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明实施例揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。