APP下载

基于RS-CSA-ELM的WSN节点故障诊断①

2021-03-19余正军

计算机系统应用 2021年3期
关键词:权值乌鸦故障诊断

余正军

(汕头职业技术学院,汕头 515078)

随着智能物联网(AIoT)的兴起,人们对智能化服务的需求也越来越多.无线传感网(WSN)作为AIoT的关键组成部分,其运行状态,直接影响AIoT的服务质量.然而,WSN 通常部署在环境恶略的地方.员工无法对WSN 中的所有节点进行24 小时实时观察和检查.但是,一旦WSN 中节点出现故障,将直接影响系统最终的研判.为此,研究高效可靠的WSN 节点故障诊断方法尤为重要,它对延长WSN 寿命,保持系统稳定和提高系统服务质量具有重要的现实意义.目前,WSN节点故障诊断方法可分为基于统计学原理、故障分类和感知数据的时空特性分析三大类.常用的诊断算法,如文献[1]采用2-回合投票故障诊断算法对故障进行诊断,文献[2]以ICA 进行故障属性的约简,通过朴素贝叶斯进行故障诊断,文献[3]利用WSN 感知数据的时空相关性原理将诊断正常的候选簇头的观测值与簇内成员节点的观测值比较来对簇内成员节点进行诊断,文献[4] 以粗糙集进行故障属性的约简,通过GAKELM 算法对对故障诊断.这些方法要么存在故障属性约简不彻底,要么算法模型的参数复杂等问题.本文鉴于他们的研究经验,提出一种基于RS-CSA-ELM的WSN 节点故障诊断方法,以RS 对故障属性进行约简,并以CSA 优化EML 参数作为故障诊断模型,完成WSN 节点故障诊断.该算法仿真结果表明,此法算法模型参数设置简单、易实现,故障诊断的精确度高、误诊率低.

1 WSN 节点故障分析

1.1 WSN 网络结构

WSN是一种高度自组织智能型数据处理网络,通过节点的密集部署,实现数据的量化收集、聚合和传输操作.典型的WSN 组成分为传感节点、中继节点、网关节点、调控中心4 个部分.其结构如图1所示.

1.2 WSN 节点结构及故障分析

WSN 节点自身就是一个高内聚低耦合的结构化产品,它由感知单元、处理单元、信息收发单元及能量保障单元,其结构如图2所示.这4 个独立的单元相互协作完成节点的任务,任何一个单元出现出现故障将导致最终数据的错误影响WSN的正常工作.而每个单元都具有自己的特征,因此查找节点故障等同于查找节点产生故障的功能单元.这种检测方法精度高,便于维修[5-7],本文针对WSN 网络结构及其节点结构,将故障分为能量保障单元故障、处理单元故障、信息收发单元故障以及感知单元故障.

2 WSN 节点故障诊断算法设计

2.1 故障诊断属性约简算法

粗糙集理论属性约简算法(简称RS)能从模糊数据本身归纳出数据关键信息,删除冗余信息,求得最小表达式,建立决策表.正好可用于对WSN 节点故障诊断属性的约简,其过程如下:设故障诊断决策表为S=(U,R,V,f),其中,S为WSN 节点故障诊断决策表;R=P∪D节点故障属性集合,P,D分别代表条件属性集合和决策属性集合;U={x1,x2,···,xm}为论域;属性值域V=∪VR(m[i])∈R;则信息函数为f:U×R→V,表示对每个m∈R,x∈U,f(x,m)∈VR.其分辨矩阵可设置成:

其中,CD(i,j)为分辨矩阵的第i行第j列处的元素,m[k]∈P.

图1 典型WSN 网络结构

图2 WSN 节点结构

基于上述分辨矩阵的故障属性约简算法步骤如下:

(1)利用上文描述,根据故障样本决策表构建分辨矩阵CD(i,j).

(2)约简分辨矩阵CD(i,j),将其中的单属性元素对应位置零.

(3)若CD(i,j)≠0,且CD≠∅时,则构建RS 属性样本T约简的操作范式:

(4)向步骤(3)的RS 属性样本T中每一项都添加步骤(2)中的单属性,RS 属性样本约简T',其每项都代表一个故障属性约简.

2.2 WSN 节点故障诊模型

RS-CSA-ELM 算法对故障诊断原理描述为:以WSN 节点故障预兆构建故障样本数据集,以故障种类属性和特征属性构建故障决策表.首先,根据RS 剔除原始故障样本属性冗余信息,获得约简后的故障属性组合;其次,利用属性之间的相关性选取最优属性约简;以最优属性约简构建新的故障样本作为算法模型的训练样本,最后,建立RS-CSA-ELM 故障诊断模型对WSN节点故障进行诊断,如图3所示.

图3 WSN 节点的RS-CSA-ELM 故障诊断模型

2.3 CSA-ELM 算法

(1)极限学习机(ELM)原理

设给定N组WSM 节点数据样本(xi,ti)∈Rn,对于输入层、隐含层和输出层的节点数分别为n,L,m的ELM的学习机,若采用Sigmoid 类型的激励函数G(x),则EML 隐含层输出即为:

其中,

当G(x)无限可微时,参数 αi与 γi随机产生,且在训练过程中不需要被调整,ELM 模型训练过程可看作求解线性系统Hβ=T关于 β的最小二乘解,即 β=H+T,其中H+为H的Moore-Penrose 广义逆.

(2)CSA 优化ELM

极限学习机(ELM)是一类基于前馈神经网络的训练算法,其具有学习速度快、泛化性能强、不易陷入局部极值的特性,因此被广泛应用[9];但由于该算法中输入权值 αi和隐含层阀值 γi是随机选取故导致其隐含层神经元不具备自我调节能力.针对此缺陷本文采用CSA 算法对ELM 输入权值 αi和隐含层阀值 γi进行优化,构建CSA-ELM 神经网络,提高模型诊断的精确度和稳定性[10].

乌鸦搜索算法(CSA)是仿效乌鸦在储备食物和盗窃食物的智能行为而形成的一种基于种群的优化算法,CSA 与其它神经网络参数优化算法如GA、POS 一样,均是利用种群的优势来增加寻找最优解的概率,同时避免陷入局部最优解.但优化算法的参数设置对其性能影响很大,所以参数越少的算法越易应用.种群优化算法除种群大小和最大迭代次数外,还要设置其它参数,如GA 还需再设置选择方法、交叉方法、交叉概率、变异方法以及变异概率;PSO 还需再要设置有惯性权重、粒子自身的学习因子和社会学习因子;而只需再设置乌鸦的飞行长度和辨识概率即可[11-13].

另外,CSA 不是贪心算法,如在搜索空间范围内只要没有比乌鸦产生的新位置更优,它依然会飞向新位置,这样产生的解是多样的,使得算法具有最大概率寻找最优解功能.乌鸦跟踪行为是随机的,这样就增大了算法搜索空间,即CSA 具有全局搜索能力.算法在迭代过程中,种群中所有乌鸦都在不断地更新藏食地点,从而保证种群中所有的藏食地点是最优的,并利用乌鸦记忆记录最优存食位置.迭代结束后,找到种群中乌鸦的适应度值最优的记忆作为最后求到的最优解.表1为CSA 与GA和PSO 算法的性能比较.

表1 CSA 与GA和PSO 算法性能比较

CSA 算法应用到ELM的输入权值 αi和隐含层阀值 γi选取,构建CSA-ELM 算法.在该算法中,将ELM训练数据的输入权值 αi和隐含层阀值 γi映射为CSA 种群中乌鸦所处的每个位置和藏食物的记忆,CSA的适应度值对应于ELM的训练误差,将求取最优输入权值、阀值问题转化为计算CSA 适应度值即选择最优乌鸦记忆问题.图4给出CSA-ELM 算法流程,主要包括ELM 网络确定、CSA 算法优化和ELM 网络的训练、预测等.

图4 CSA-ELM 算法流程

该算法的详细操作要领如下:

Step 1.算法初始化.确定ELM 各层的神经元个数,随机生成ELM的输入权值 αi和隐含层阀值 γi.CSA的种群搜索空间设置成二维,并将 αi和γi作为乌鸦初始所处位置和记忆即公式表示为:xi,iter=(αi,γi)、mi,iter=(αi,γi),对CSA 进行初始化.

Step 2.计算乌鸦适应度.适应度计算公式为:

其中,Ne为正确的样本数,N为训练样本总数.

Step 3.更新乌鸦记忆.更新的计算公式为:

检查终止条件,若满足则输出最优的αi和γi,否则转向Step 2.

Step 4.ELM 训练和诊断.将最终乌鸦位置和记忆作为最优的ELM的输入权值和阀值赋予ELM,使用训练样本对ELM 进行训练,采用公式 β=H+T计算输出层权值.最后将待诊样本注入到ELM 模型进行诊断输出.

2.4 RS-CSA-ELM 算法步骤

根据上文所述,将RS的故障属性约简算法与经CSA 优化的极限学习机有机结合,构建基于RS-CSAELM的WSN 节点故障诊断算法,其过程如下:

Step 1.根据WSN 节点组成结构,构建符合实际情况的WSN 节点故障属性表并做量化处理.

Step 2.根据上文所提的故障属性约简算法对Step 1 构建的WSN 节点故障属性表进行属性约简,删除冗余的故障属性信息,得到最优的故障诊断决策表.

Step 3.根据Step 2 得到的故障属性决策表重构训练样本数据集.

Step 4.将Step 3 得到的训练样本数据集作为RSCSA-ELM 算法模型的输入,利用CSA 优化ELM的参数,即利用训练的故障样本数据对ELM 进行训练,使其达到最佳的ELM 故障模型,而后用该模型对待诊样本数据进行故障诊断,实现WSN 节点故障任务.

3 仿真与结果分析

3.1 仿真实验设置

(1)WSN 节点故障属性的约简

为验证上述算法得有效性,先构建其故障属性及量化表(表2),再将表2转换为故障诊断决策表(表3).最后采前文中设计的RS 故障属性约简算法对表2进行约简,以获得最优故障诊断决策.

表2 部分故障属性及量化处理表

表3 部分故障诊断决策表

(2)算法参数设置

仿真设置算法初始条件:飞行长度fl=0.2,最大迭代次数tmax=50,意识概率AP=0.1,ELM的输入权值αi=rand(0,1],隐含层阀值γi=rand(0,1],WSN 节点数量作为乌鸦只数N=200.

为验证所提算法的性能及可行性,在Ubuntu16.04环境下用Python3.5+Tensorflow 编程仿真,同时考虑到WSN 实际工作环境,实际所收集的数据参与真实数据之间存在误差.模拟在同一条件下对优化前后EML性能进行仿真试验,同时也对本文所提算法与最新文献所提算法作了对比仿真实验.

3.2 仿真结果分析

首先,在相同条件下,对CSA 优化前的ELM 与优化后的ELM 模型进行了对比测试,其结果如图5、图6所示.

图5 CSA 优化前后的ELM 故障诊断用时对比图

图6 CSA 优化前后的ELM 故障检测精度比较图

其次,对CSA 优化RS-CSA-ELM 模型的参数的做了仿真验证.其结果如图7所示.

最后,对可靠性为80%、85.5%、90%和99.5%样本数据集进行约简后,将本文提的RS-CSA-ELM 算法与文献[14]的RSOPNN 算法及文献[15]的RS-PSOKELM 算法进行比较测试.其结果如图8及图9所示.

从图5、图6可以看出经过CSA 优化之后的ELM 其稳定性得到了很大的提高;从图7可以看出CSA 在迭代到15 次的时即可寻找到最优得ELM 输入权值和隐含层阀值;从图8可以看出3 种算法对WSN节点故障诊断用时都是随样本数据集可靠性增加而减少,但本文所提的RS-CSA-ELM 算法与其它两种算法在相同条件下用时是最短的;从图9可看出3 种算法的诊断准确性随样本数据集可靠性增加而提高,但本文所提的RS-CSA-ELM 算法与其它两种算法在相同条件下诊断的准确性是最高的.综上所述,本文所提算法能够快而准的对WSN 节点故障进行诊断识别,且稳定性和诊断的准确性可满足实际应用要求.

图7 CSA 对RS-CSA-ELM 模型寻优迭代次数图

图8 算法诊断用时比较图

图9 算法性能比较图

4 结束语

鉴于现有WSN 节点在故障诊断方法的缺陷[16],提出RS-CSA-KELM 算法予以解决,通过粗糙集理论属性约简算法(简称RS)对故障属性约简、利用CSA 算法对EML的参数进行优化,建立数据驱动式的RSCSA-ELM 故障诊断模型.该模型对WSN 节点故障的诊断快而准,并能有效的解决误诊和漏诊等问题,特别适合用于拓扑结构实时变化的网络的故障诊断.当然,所提之法仍需研究、改进,如进一步考虑算法中各参数设置及各算法之间的优缺互补等问题.

猜你喜欢

权值乌鸦故障诊断
比亚迪秦EV充电系统故障诊断与排除
基于神经网络的船舶电力系统故障诊断方法
迈腾B81.8T起动机无法启动故障诊断分析
小乌鸦
乌鸦喝水后传
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
乌鸦搬家