?

自由搜索的BPNN在WSNs數據融合中的應用

2015-11-26 09:56謝佳華劉軍
物聯網技術 2015年11期
關鍵詞:數據融合BP神經網絡

謝佳華++劉軍

摘 要:為了進一步提高無線傳感器網絡(WSNs)的能量利用效率、數據準確性和收集數據精度,需要對采集的數據進行融合。針對現有BP神經網絡(BPNN)解決該問題存在容易陷入局部最優值的問題。文中把自由搜索(FS)算法和BP神經網絡結合起來,充分發揮自由搜索算法的全局收斂性、自適應性、本質并行性優點。通過仿真實驗并與BP神經網絡相比較,該算法能有效減少通信量、提高數據準確性、延長網絡生存時間,從而證明了該算法的有效性。

關鍵詞:WSNs;數據融合;自由搜索算法;BP神經網絡

中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2015)11-00-03

0 引 言

無線通信技術、傳感器技術、嵌入式計算技術、微電子技術等技術的發展和成熟,促成了無線傳感器網絡(Wireless Sensor Networks , WSNs)的產生[1,2]。WSNs廣泛應用于國防軍事、工業生產、精準農業、醫療健康、環境監測等領域[3]。

Nakamura E.F.等[4]對WSNs數據融合的模型、方法以及分類進行了研究;陳斌等[5]把神經網絡和證據理論結合起來,建立了管道泄漏診斷模型;李志宇等[6]人提出的基于網格和移動代理的WSNs數據融合算法有較小的網絡能耗和延時。但這些算法存在收斂速度慢,易陷入局部最優等缺點,所以本文提出一種自由搜索(Free Search,FS)和BP神經網絡(Back Propagation Neural Network , BPNN)相結合的算法(FS-BF),優化數據融合性能,降低網絡能量消耗,延長網絡生存時間。

1 BP神經網絡和自由搜索算法

為實現BPNN和自由搜索算法的結合,建立切實可行的WSNs數據融合優化模型,本節介紹了兩個算法的優化過程。

1.1 BP神經網絡

BPNN是一種單向傳播的多層前饋網絡,圖1所示為一個三層BPNN示意圖,包括輸入層、隱層和輸出層[7]。

圖1 三層BPNN模型

設BPNN的輸入n維向量X∈Rn,X=[x1,x2,…,xn]T,輸出為m維向量Y∈Rm,Y=[y1,y2,…,ym],隱層共有l個神經元,則隱層輸出為l維的向量Z∈Rl,Z=[z1,z2,…,zl],網絡的輸出為:

(1)

式(1)中,wij(0)和wij(1)分別為由輸入層到隱層和隱層到輸出層的連接權值,θi和φj分別為隱層和輸出層的閾值。

一般情況下把Sigmoid函數作為傳遞函數。

(2)

輸出層和前面各層的誤差值可以通過如下公式計算:

(3)

(4)

對于隱含層和輸出層神經元個數,可以參考下式確定:

隱含層: (5)

輸出層:h=log2m (6)

其中,m為輸入神經元個數,n為輸出神經元個數,a為1-10之間的任意數。

1.2 自由搜索算法

FS算法的尋優過程包括初始化、搜索過程和終止三個步驟來確定目標函數的最優值[8]。

1.2.1 初始化

通過隨機值產生初始種群,并生成初始信息素Pk。

x0ji=ximin+(ximax-ximin)·random (7)

式(7)中,j=1,2,…,m,表示第j只個體,i表示變量的第i維,i=1,2,…,n, x0ji為動物個體j的初始位置,ximax和ximin為搜索空間的邊界,即個體j在第i維上的最大值和最小值。random為(0,1)之間的隨機數。

1.2.2 搜索過程

(1)計算靈敏度,靈敏度定義如下:

Si=Smin+ΔSj (8)

ΔSj=(Smax-Smin)·randomj (9)

Smax和Smin為靈敏度的最大值和最小值。

(2)確定初始點,選擇新一輪搜索起始點。

(10)

k是標記信息素的坐標點。

(3)更新個體位置。

xtji =x0ji-Δxtji +2Δxtji randomtji (11)

xtji為更新后個體的位置分量,t為當前步伐數,t=1,2,…,T,T為每次行走的最大步伐數;randomtji為介于(0,1)的隨機數;修改策略Δxtji 按下式確定:

Δxtji =Rji (xmaxi-xmini)randomtji (12)

式(12)中,Rji 表示領域距離,Rji∈(Rmin,Rmax)。領域距離體現著個體的靈活性,受整個搜索空間的約束。

可按如下兩式定義個體的行為:

ftj=f(xtij) (13)

fj=maxf(xtj) (14)

其中,f(xtij) 是一個個體完成搜索步以后作標記的位置。

(4)釋放信息素,信息素定義如下:

(15)

max(fi) 表示第j個個體的最佳值。并且規定:Smin=Pmin,Smax=Pmax。

新一輪的搜索起始點由如下公式確定:

(16)

1.2.3 終止條件

可以有以下三種方式終止算法:

(1)尋優方式 fmax≥f0

fmax為搜索的最優值,f0為可接受的期望值。

(2)迭代方式 g≥G

g為當前的迭代數,G為限制的最大迭代數。

(3)復合方式,即滿足(1)和(2)中的一種終止算法。

BPNN主要存在三個缺陷:一是局部極小點問題,二是收斂速度慢的問題,三是隱含層神經元節點個數難以確定的問題。而自由搜索算法具有全局搜索特性以及比其他算法收斂速度快的優點彌補了BPNN前兩個不足,故本文嘗試把自由搜索算法和BPNN結合起來,優化WSNs數據融合的效果。

2 FS-BP在WSNs數據融合中的應用

2.1 WSN數據融合模型

本節主要是建立以BPNN為主體的匯聚節點數據融合模型,其數據融合的過程如圖2所示。該模型系統包括無線傳感器子系統和匯聚節點數據融合處理子系統兩大部分。前者主要是由傳感器節點組成,每個節點可以有一個或者多個傳感器采集相關數據,后者包括數據預處理和數據融合兩個步驟,其中預處理的作用是把有用數據分離出來,而數據融合是接收預處理后的數據,然后把數據輸入到已訓練好的BPNN中進行融合并得出融合結果。另外,匯聚節點把原始數據信息和融合結果存儲起來,便于對比分析融合結果和原始信息,方便進行必要的反饋調節。

圖2 數據融合模型

2.2 FS-BP算法

算法構建的主要思想是:針對BPNN初始值敏感、收斂速度慢以及易陷入局部最優解的缺點,利用FS代替BPNN中的梯度修正,搜索符合既定條件的權值,提高算法性能。具體方法描述如下:

神經網絡的初值權重按照傳統的常規辦法生成,用wi(i=1,2,…,m)表示任意一組完整的wi。一個動物個體,則有m個這樣的個體,所以m為種群的大小。優化目標函數為均方誤差函數:

(17)

上式中,E為均方誤差,N為樣本個數,yid為第i個預期輸出值,yi為第i個實際輸出值。

FS搜索的任務是通過對公式(17)的優化,得到該函數的最小值,找出均方誤差最小的網絡權重, 再輸入到BPNN各層中。該算法的主要流程如圖3所示。

利用FS算法對初始權值進行優化處理后,把輸出的權值輸入到神經網絡。本文采用三層BPNN模型,結合BPNN理論和所建立的數據融合模型,FS-BPNN算法的具體步驟如下:

①初始化參數,包括神經網絡的結構、初始權值、迭代次數上限、誤差閾值、學習速率、學習樣本以及FS的種群大小,步伐數和小步數以及鄰居距離。

②隨機選取訓練一對數據,將輸入向量加到輸入層。

③利用關系式(1)輸出每一層和輸出層的輸出值。

④采用公式(3)(4)輸出層和前面各層的實際輸出和要求的目標值的誤差。得到的誤差值若小于閾值,則轉⑥,否則轉步驟 ⑤。

⑤利用FS算法優化公式(17),搜索符合條件的權值,并返回③。

⑥ 結束。

圖3 網絡參數優化流程圖

3 算法仿真

采用三層BPNN模型,輸入神經元個數與傳感器節點數相同,隱含層神經元個數按公式(6)確定,輸出層神經元個數按公式(7)確定。仿真環境為Matlab,版本為R2008a。

3.1 參數設置

相關的參數設置如表1所列。

表1 參數設置表參數 取值 參數 取值

區域大小 50 m×50 m 種群規模 120

傳感器節點數 120 終止代數G 500

網絡拓撲 隨機部署 搜索小步數T 120

節點通信半徑 20 m 搜索半徑Rji 0.01,0.5,1

節點感知半徑 10 m 誤差閾值 10-3

節點初始能量 0.7 J 訓練速率系數 0.3

數據傳輸能耗 20 nJ/bit 數據接收能耗 12 nJ/bit

3.2 仿真實驗

為了盡可能全面驗證算法的有效性和可行性,本文從以下三個角度設置仿真實驗。

3.2.1 仿真實驗1——網絡的收斂性

把120個傳感器節點隨機拋撒在監控區域內,在相同的數據采集環境中,對比BPNN算法和FS-BPNN算法的收斂性。仿真結果如圖4所示。

3.2.2 仿真實驗2——網絡存活節點數和時間的關系

在監控區域中隨機拋撒120個傳感器節點,并按表1設置各個相關參數,比較BPNN和FS-BP算法優化下隨著時間(秒/s)的增加節點存活的個數。存活節點數和時間的關系如圖5所示。

圖4 收斂性比較

圖5 存活節點數和時間的關系

3.2.3 仿真實驗3——節點平均耗能情況

在50 m×50 m的監測區域內分別隨機拋撒90,100,110,120,130,150個傳感器節點,比較兩種算法的平均耗能情況,仿真結果如圖6所示。

圖6 節點平均耗能對比

3.3 仿真分析

由仿真實驗1可知,如圖4所示,在相同條件下,BPNN算法在迭代次數達到100時基本收斂,而FS-BP在迭代次數達到75時就基本趨于收斂,所以,本文提出的FS-BP算法在迭代次數較少的情況下,就能達到收斂要求。對于能量有限的WSNs網絡,算法收斂快慢也決定著能量的利用效率高低。

由仿真實驗2可知,如圖5所示,BPNN算法下的 WSNs數據融合中,在300 s時開始有節點死亡,在650 s時,只有一半節點存活,當時間達到740 s時,全部節點死亡;而在FS-BP算法下,在720 s時節點才開始有死亡的情況出現,在810 s時,死亡節點數接近一半,節點最長的持續時間接近900 s時,節點完全死亡。從仿真結果可以看出,FS-BP算法比BPNN算法更能延長網絡運行時間,特別是網絡的正常工作時間。

由仿真實驗3可知,BPNN算法隨著節點數的增加,平均每個節點的耗能也隨著增加,而FS-BP算法卻隨著節點數的增加而減少,且兩者之間的差距逐漸加大,這從另一個方面體現了FS-BP算法性能的優越性和有效性。

綜上所述,在WSNs數據融合中,FS-BP算法比BPNN算法的性能更好,不僅提高了收斂速度和能量利用效率,還有效延長了網絡的生存時間。

4 結 語

數據融合作為延長WSNs生存時間的一種重要方法,是WSNs研究的重要領域之一。本文提出把FS算法與BPNN算法相結合,解決BPNN算法收斂速度慢的問題,通過建立模型,并從多個角度設置仿真實驗驗證算法的有效性,結果表明,FS-BP算法能夠像預期的一樣加快收斂速度,降低節點能量消耗,從而延長網絡的生存時間。下一步的研究應該進一步結合具體應用背景的特點,改進算法,提高WSNs數據融合的實際應用效果。

參考文獻

[1] Ian F. Akyildiz, Mehmet Can Vuran.Wireless Sensor Networks[M]. John Wiley & Sons Ltd,2010.

[2] 孫利明,李建中,陳瑜,等.無線傳感器網絡[M].北京:清華大學出版社,2005: 149-151.

[3] Akyildiz I F, Su W, Sankarasubramaniam Y, et al.Wireless sensor networks: a survey[J].Computer networks, 2002, 38(4): 393-422.

[4] Nakamura E.F., Louxeiro A.A.F.,Frery A.C.Information fusion for wireless sensor networks : Methods, models, and classifications[J].Acm Computing Surveys,2007,39(3).

[5] 陳斌, 萬江文, 吳銀鋒,等. 神經網絡和證據理論融合的管道泄漏診斷方法[J].北京郵電大學學報, 2009, 32(1):1007-1021.

[6] 李志宇, 史浩山.一種基于網格和移動代理的無線傳感器網絡數據融合算法[J].傳感技術學報, 2008, 21(7):1232-1236.

[7] 王曉榮,倫淑嫻.基于改進粒子群算法的BP神經網絡優化研究[J].渤海大學學報:自然科學版, 2008,29(2):189-193.

[8] Kalin P, Guy L.Free search-a comparative analysis[J].Information Science, 2005, 172(2): 173-193.

猜你喜歡
數據融合BP神經網絡
多傳感器數據融合技術在機房監控系統中的應用
《可靠性工程》課程教學的幾點思考
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合