余正軍
(汕頭職業(yè)技術(shù)學(xué)院,汕頭 515078)
隨著智能物聯(lián)網(wǎng)(AIoT)的興起,人們對(duì)智能化服務(wù)的需求也越來(lái)越多.無(wú)線傳感網(wǎng)(WSN)作為AIoT的關(guān)鍵組成部分,其運(yùn)行狀態(tài),直接影響AIoT的服務(wù)質(zhì)量.然而,WSN 通常部署在環(huán)境惡略的地方.員工無(wú)法對(duì)WSN 中的所有節(jié)點(diǎn)進(jìn)行24 小時(shí)實(shí)時(shí)觀察和檢查.但是,一旦WSN 中節(jié)點(diǎn)出現(xiàn)故障,將直接影響系統(tǒng)最終的研判.為此,研究高效可靠的WSN 節(jié)點(diǎn)故障診斷方法尤為重要,它對(duì)延長(zhǎng)WSN 壽命,保持系統(tǒng)穩(wěn)定和提高系統(tǒng)服務(wù)質(zhì)量具有重要的現(xiàn)實(shí)意義.目前,WSN節(jié)點(diǎn)故障診斷方法可分為基于統(tǒng)計(jì)學(xué)原理、故障分類(lèi)和感知數(shù)據(jù)的時(shí)空特性分析三大類(lèi).常用的診斷算法,如文獻(xiàn)[1]采用2-回合投票故障診斷算法對(duì)故障進(jìn)行診斷,文獻(xiàn)[2]以ICA 進(jìn)行故障屬性的約簡(jiǎn),通過(guò)樸素貝葉斯進(jìn)行故障診斷,文獻(xiàn)[3]利用WSN 感知數(shù)據(jù)的時(shí)空相關(guān)性原理將診斷正常的候選簇頭的觀測(cè)值與簇內(nèi)成員節(jié)點(diǎn)的觀測(cè)值比較來(lái)對(duì)簇內(nèi)成員節(jié)點(diǎn)進(jìn)行診斷,文獻(xiàn)[4] 以粗糙集進(jìn)行故障屬性的約簡(jiǎn),通過(guò)GAKELM 算法對(duì)對(duì)故障診斷.這些方法要么存在故障屬性約簡(jiǎn)不徹底,要么算法模型的參數(shù)復(fù)雜等問(wèn)題.本文鑒于他們的研究經(jīng)驗(yàn),提出一種基于RS-CSA-ELM的WSN 節(jié)點(diǎn)故障診斷方法,以RS 對(duì)故障屬性進(jìn)行約簡(jiǎn),并以CSA 優(yōu)化EML 參數(shù)作為故障診斷模型,完成WSN 節(jié)點(diǎn)故障診斷.該算法仿真結(jié)果表明,此法算法模型參數(shù)設(shè)置簡(jiǎn)單、易實(shí)現(xiàn),故障診斷的精確度高、誤診率低.
WSN是一種高度自組織智能型數(shù)據(jù)處理網(wǎng)絡(luò),通過(guò)節(jié)點(diǎn)的密集部署,實(shí)現(xiàn)數(shù)據(jù)的量化收集、聚合和傳輸操作.典型的WSN 組成分為傳感節(jié)點(diǎn)、中繼節(jié)點(diǎn)、網(wǎng)關(guān)節(jié)點(diǎn)、調(diào)控中心4 個(gè)部分.其結(jié)構(gòu)如圖1所示.
WSN 節(jié)點(diǎn)自身就是一個(gè)高內(nèi)聚低耦合的結(jié)構(gòu)化產(chǎn)品,它由感知單元、處理單元、信息收發(fā)單元及能量保障單元,其結(jié)構(gòu)如圖2所示.這4 個(gè)獨(dú)立的單元相互協(xié)作完成節(jié)點(diǎn)的任務(wù),任何一個(gè)單元出現(xiàn)出現(xiàn)故障將導(dǎo)致最終數(shù)據(jù)的錯(cuò)誤影響WSN的正常工作.而每個(gè)單元都具有自己的特征,因此查找節(jié)點(diǎn)故障等同于查找節(jié)點(diǎn)產(chǎn)生故障的功能單元.這種檢測(cè)方法精度高,便于維修[5-7],本文針對(duì)WSN 網(wǎng)絡(luò)結(jié)構(gòu)及其節(jié)點(diǎn)結(jié)構(gòu),將故障分為能量保障單元故障、處理單元故障、信息收發(fā)單元故障以及感知單元故障.
粗糙集理論屬性約簡(jiǎn)算法(簡(jiǎn)稱(chēng)RS)能從模糊數(shù)據(jù)本身歸納出數(shù)據(jù)關(guān)鍵信息,刪除冗余信息,求得最小表達(dá)式,建立決策表.正好可用于對(duì)WSN 節(jié)點(diǎn)故障診斷屬性的約簡(jiǎn),其過(guò)程如下:設(shè)故障診斷決策表為S=(U,R,V,f),其中,S為WSN 節(jié)點(diǎn)故障診斷決策表;R=P∪D節(jié)點(diǎn)故障屬性集合,P,D分別代表?xiàng)l件屬性集合和決策屬性集合;U={x1,x2,···,xm}為論域;屬性值域V=∪VR(m[i])∈R;則信息函數(shù)為f:U×R→V,表示對(duì)每個(gè)m∈R,x∈U,f(x,m)∈VR.其分辨矩陣可設(shè)置成:
其中,CD(i,j)為分辨矩陣的第i行第j列處的元素,m[k]∈P.
圖1 典型WSN 網(wǎng)絡(luò)結(jié)構(gòu)
圖2 WSN 節(jié)點(diǎn)結(jié)構(gòu)
基于上述分辨矩陣的故障屬性約簡(jiǎn)算法步驟如下:
(1)利用上文描述,根據(jù)故障樣本決策表構(gòu)建分辨矩陣CD(i,j).
(2)約簡(jiǎn)分辨矩陣CD(i,j),將其中的單屬性元素對(duì)應(yīng)位置零.
(3)若CD(i,j)≠0,且CD≠?時(shí),則構(gòu)建RS 屬性樣本T約簡(jiǎn)的操作范式:
(4)向步驟(3)的RS 屬性樣本T中每一項(xiàng)都添加步驟(2)中的單屬性,RS 屬性樣本約簡(jiǎn)T',其每項(xiàng)都代表一個(gè)故障屬性約簡(jiǎn).
RS-CSA-ELM 算法對(duì)故障診斷原理描述為:以WSN 節(jié)點(diǎn)故障預(yù)兆構(gòu)建故障樣本數(shù)據(jù)集,以故障種類(lèi)屬性和特征屬性構(gòu)建故障決策表.首先,根據(jù)RS 剔除原始故障樣本屬性冗余信息,獲得約簡(jiǎn)后的故障屬性組合;其次,利用屬性之間的相關(guān)性選取最優(yōu)屬性約簡(jiǎn);以最優(yōu)屬性約簡(jiǎn)構(gòu)建新的故障樣本作為算法模型的訓(xùn)練樣本,最后,建立RS-CSA-ELM 故障診斷模型對(duì)WSN節(jié)點(diǎn)故障進(jìn)行診斷,如圖3所示.
圖3 WSN 節(jié)點(diǎn)的RS-CSA-ELM 故障診斷模型
(1)極限學(xué)習(xí)機(jī)(ELM)原理
設(shè)給定N組WSM 節(jié)點(diǎn)數(shù)據(jù)樣本(xi,ti)∈Rn,對(duì)于輸入層、隱含層和輸出層的節(jié)點(diǎn)數(shù)分別為n,L,m的ELM的學(xué)習(xí)機(jī),若采用Sigmoid 類(lèi)型的激勵(lì)函數(shù)G(x),則EML 隱含層輸出即為:
其中,
當(dāng)G(x)無(wú)限可微時(shí),參數(shù) αi與 γi隨機(jī)產(chǎn)生,且在訓(xùn)練過(guò)程中不需要被調(diào)整,ELM 模型訓(xùn)練過(guò)程可看作求解線性系統(tǒng)Hβ=T關(guān)于 β的最小二乘解,即 β=H+T,其中H+為H的Moore-Penrose 廣義逆.
(2)CSA 優(yōu)化ELM
極限學(xué)習(xí)機(jī)(ELM)是一類(lèi)基于前饋神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法,其具有學(xué)習(xí)速度快、泛化性能強(qiáng)、不易陷入局部極值的特性,因此被廣泛應(yīng)用[9];但由于該算法中輸入權(quán)值 αi和隱含層閥值 γi是隨機(jī)選取故導(dǎo)致其隱含層神經(jīng)元不具備自我調(diào)節(jié)能力.針對(duì)此缺陷本文采用CSA 算法對(duì)ELM 輸入權(quán)值 αi和隱含層閥值 γi進(jìn)行優(yōu)化,構(gòu)建CSA-ELM 神經(jīng)網(wǎng)絡(luò),提高模型診斷的精確度和穩(wěn)定性[10].
烏鴉搜索算法(CSA)是仿效烏鴉在儲(chǔ)備食物和盜竊食物的智能行為而形成的一種基于種群的優(yōu)化算法,CSA 與其它神經(jīng)網(wǎng)絡(luò)參數(shù)優(yōu)化算法如GA、POS 一樣,均是利用種群的優(yōu)勢(shì)來(lái)增加尋找最優(yōu)解的概率,同時(shí)避免陷入局部最優(yōu)解.但優(yōu)化算法的參數(shù)設(shè)置對(duì)其性能影響很大,所以參數(shù)越少的算法越易應(yīng)用.種群優(yōu)化算法除種群大小和最大迭代次數(shù)外,還要設(shè)置其它參數(shù),如GA 還需再設(shè)置選擇方法、交叉方法、交叉概率、變異方法以及變異概率;PSO 還需再要設(shè)置有慣性權(quán)重、粒子自身的學(xué)習(xí)因子和社會(huì)學(xué)習(xí)因子;而只需再設(shè)置烏鴉的飛行長(zhǎng)度和辨識(shí)概率即可[11-13].
另外,CSA 不是貪心算法,如在搜索空間范圍內(nèi)只要沒(méi)有比烏鴉產(chǎn)生的新位置更優(yōu),它依然會(huì)飛向新位置,這樣產(chǎn)生的解是多樣的,使得算法具有最大概率尋找最優(yōu)解功能.烏鴉跟蹤行為是隨機(jī)的,這樣就增大了算法搜索空間,即CSA 具有全局搜索能力.算法在迭代過(guò)程中,種群中所有烏鴉都在不斷地更新藏食地點(diǎn),從而保證種群中所有的藏食地點(diǎn)是最優(yōu)的,并利用烏鴉記憶記錄最優(yōu)存食位置.迭代結(jié)束后,找到種群中烏鴉的適應(yīng)度值最優(yōu)的記憶作為最后求到的最優(yōu)解.表1為CSA 與GA和PSO 算法的性能比較.
表1 CSA 與GA和PSO 算法性能比較
CSA 算法應(yīng)用到ELM的輸入權(quán)值 αi和隱含層閥值 γi選取,構(gòu)建CSA-ELM 算法.在該算法中,將ELM訓(xùn)練數(shù)據(jù)的輸入權(quán)值 αi和隱含層閥值 γi映射為CSA 種群中烏鴉所處的每個(gè)位置和藏食物的記憶,CSA的適應(yīng)度值對(duì)應(yīng)于ELM的訓(xùn)練誤差,將求取最優(yōu)輸入權(quán)值、閥值問(wèn)題轉(zhuǎn)化為計(jì)算CSA 適應(yīng)度值即選擇最優(yōu)烏鴉記憶問(wèn)題.圖4給出CSA-ELM 算法流程,主要包括ELM 網(wǎng)絡(luò)確定、CSA 算法優(yōu)化和ELM 網(wǎng)絡(luò)的訓(xùn)練、預(yù)測(cè)等.
圖4 CSA-ELM 算法流程
該算法的詳細(xì)操作要領(lǐng)如下:
Step 1.算法初始化.確定ELM 各層的神經(jīng)元個(gè)數(shù),隨機(jī)生成ELM的輸入權(quán)值 αi和隱含層閥值 γi.CSA的種群搜索空間設(shè)置成二維,并將 αi和γi作為烏鴉初始所處位置和記憶即公式表示為:xi,iter=(αi,γi)、mi,iter=(αi,γi),對(duì)CSA 進(jìn)行初始化.
Step 2.計(jì)算烏鴉適應(yīng)度.適應(yīng)度計(jì)算公式為:
其中,Ne為正確的樣本數(shù),N為訓(xùn)練樣本總數(shù).
Step 3.更新烏鴉記憶.更新的計(jì)算公式為:
檢查終止條件,若滿(mǎn)足則輸出最優(yōu)的αi和γi,否則轉(zhuǎn)向Step 2.
Step 4.ELM 訓(xùn)練和診斷.將最終烏鴉位置和記憶作為最優(yōu)的ELM的輸入權(quán)值和閥值賦予ELM,使用訓(xùn)練樣本對(duì)ELM 進(jìn)行訓(xùn)練,采用公式 β=H+T計(jì)算輸出層權(quán)值.最后將待診樣本注入到ELM 模型進(jìn)行診斷輸出.
根據(jù)上文所述,將RS的故障屬性約簡(jiǎn)算法與經(jīng)CSA 優(yōu)化的極限學(xué)習(xí)機(jī)有機(jī)結(jié)合,構(gòu)建基于RS-CSAELM的WSN 節(jié)點(diǎn)故障診斷算法,其過(guò)程如下:
Step 1.根據(jù)WSN 節(jié)點(diǎn)組成結(jié)構(gòu),構(gòu)建符合實(shí)際情況的WSN 節(jié)點(diǎn)故障屬性表并做量化處理.
Step 2.根據(jù)上文所提的故障屬性約簡(jiǎn)算法對(duì)Step 1 構(gòu)建的WSN 節(jié)點(diǎn)故障屬性表進(jìn)行屬性約簡(jiǎn),刪除冗余的故障屬性信息,得到最優(yōu)的故障診斷決策表.
Step 3.根據(jù)Step 2 得到的故障屬性決策表重構(gòu)訓(xùn)練樣本數(shù)據(jù)集.
Step 4.將Step 3 得到的訓(xùn)練樣本數(shù)據(jù)集作為RSCSA-ELM 算法模型的輸入,利用CSA 優(yōu)化ELM的參數(shù),即利用訓(xùn)練的故障樣本數(shù)據(jù)對(duì)ELM 進(jìn)行訓(xùn)練,使其達(dá)到最佳的ELM 故障模型,而后用該模型對(duì)待診樣本數(shù)據(jù)進(jìn)行故障診斷,實(shí)現(xiàn)WSN 節(jié)點(diǎn)故障任務(wù).
(1)WSN 節(jié)點(diǎn)故障屬性的約簡(jiǎn)
為驗(yàn)證上述算法得有效性,先構(gòu)建其故障屬性及量化表(表2),再將表2轉(zhuǎn)換為故障診斷決策表(表3).最后采前文中設(shè)計(jì)的RS 故障屬性約簡(jiǎn)算法對(duì)表2進(jìn)行約簡(jiǎn),以獲得最優(yōu)故障診斷決策.
表2 部分故障屬性及量化處理表
表3 部分故障診斷決策表
(2)算法參數(shù)設(shè)置
仿真設(shè)置算法初始條件:飛行長(zhǎng)度f(wàn)l=0.2,最大迭代次數(shù)tmax=50,意識(shí)概率AP=0.1,ELM的輸入權(quán)值αi=rand(0,1],隱含層閥值γi=rand(0,1],WSN 節(jié)點(diǎn)數(shù)量作為烏鴉只數(shù)N=200.
為驗(yàn)證所提算法的性能及可行性,在Ubuntu16.04環(huán)境下用Python3.5+Tensorflow 編程仿真,同時(shí)考慮到WSN 實(shí)際工作環(huán)境,實(shí)際所收集的數(shù)據(jù)參與真實(shí)數(shù)據(jù)之間存在誤差.模擬在同一條件下對(duì)優(yōu)化前后EML性能進(jìn)行仿真試驗(yàn),同時(shí)也對(duì)本文所提算法與最新文獻(xiàn)所提算法作了對(duì)比仿真實(shí)驗(yàn).
首先,在相同條件下,對(duì)CSA 優(yōu)化前的ELM 與優(yōu)化后的ELM 模型進(jìn)行了對(duì)比測(cè)試,其結(jié)果如圖5、圖6所示.
圖5 CSA 優(yōu)化前后的ELM 故障診斷用時(shí)對(duì)比圖
圖6 CSA 優(yōu)化前后的ELM 故障檢測(cè)精度比較圖
其次,對(duì)CSA 優(yōu)化RS-CSA-ELM 模型的參數(shù)的做了仿真驗(yàn)證.其結(jié)果如圖7所示.
最后,對(duì)可靠性為80%、85.5%、90%和99.5%樣本數(shù)據(jù)集進(jìn)行約簡(jiǎn)后,將本文提的RS-CSA-ELM 算法與文獻(xiàn)[14]的RSOPNN 算法及文獻(xiàn)[15]的RS-PSOKELM 算法進(jìn)行比較測(cè)試.其結(jié)果如圖8及圖9所示.
從圖5、圖6可以看出經(jīng)過(guò)CSA 優(yōu)化之后的ELM 其穩(wěn)定性得到了很大的提高;從圖7可以看出CSA 在迭代到15 次的時(shí)即可尋找到最優(yōu)得ELM 輸入權(quán)值和隱含層閥值;從圖8可以看出3 種算法對(duì)WSN節(jié)點(diǎn)故障診斷用時(shí)都是隨樣本數(shù)據(jù)集可靠性增加而減少,但本文所提的RS-CSA-ELM 算法與其它兩種算法在相同條件下用時(shí)是最短的;從圖9可看出3 種算法的診斷準(zhǔn)確性隨樣本數(shù)據(jù)集可靠性增加而提高,但本文所提的RS-CSA-ELM 算法與其它兩種算法在相同條件下診斷的準(zhǔn)確性是最高的.綜上所述,本文所提算法能夠快而準(zhǔn)的對(duì)WSN 節(jié)點(diǎn)故障進(jìn)行診斷識(shí)別,且穩(wěn)定性和診斷的準(zhǔn)確性可滿(mǎn)足實(shí)際應(yīng)用要求.
圖7 CSA 對(duì)RS-CSA-ELM 模型尋優(yōu)迭代次數(shù)圖
圖8 算法診斷用時(shí)比較圖
圖9 算法性能比較圖
鑒于現(xiàn)有WSN 節(jié)點(diǎn)在故障診斷方法的缺陷[16],提出RS-CSA-KELM 算法予以解決,通過(guò)粗糙集理論屬性約簡(jiǎn)算法(簡(jiǎn)稱(chēng)RS)對(duì)故障屬性約簡(jiǎn)、利用CSA 算法對(duì)EML的參數(shù)進(jìn)行優(yōu)化,建立數(shù)據(jù)驅(qū)動(dòng)式的RSCSA-ELM 故障診斷模型.該模型對(duì)WSN 節(jié)點(diǎn)故障的診斷快而準(zhǔn),并能有效的解決誤診和漏診等問(wèn)題,特別適合用于拓?fù)浣Y(jié)構(gòu)實(shí)時(shí)變化的網(wǎng)絡(luò)的故障診斷.當(dāng)然,所提之法仍需研究、改進(jìn),如進(jìn)一步考慮算法中各參數(shù)設(shè)置及各算法之間的優(yōu)缺互補(bǔ)等問(wèn)題.
計(jì)算機(jī)系統(tǒng)應(yīng)用2021年3期