劉 宏,何鴻燊,何 江
(1.江西理工大學 電氣工程與自動化學院,江西 贛州 341000; 2.安徽農(nóng)業(yè)大學 經(jīng)濟管理學院,安徽 合肥 230036)
無線傳感器網(wǎng)絡(luò)中傳感器節(jié)點體積微小,自身電池容量以及處理數(shù)據(jù)的能力均有限,網(wǎng)絡(luò)可以根據(jù)傳感器節(jié)點的能量水平被劃分為同構(gòu)和異構(gòu)[1]。在異構(gòu)無線傳感器網(wǎng)絡(luò)(HWSN)的數(shù)據(jù)融合算法中,如何最小化冗余數(shù)據(jù),減少數(shù)據(jù)傳輸總量,提高數(shù)據(jù)準確性,已經(jīng)成為目前研究的核心問題。由于節(jié)點在連續(xù)周期內(nèi)產(chǎn)生數(shù)據(jù)通常具有較高的時間相關(guān)性,基于預測的數(shù)據(jù)融合方案可以有效地降低冗余數(shù)據(jù)[2]。
文獻[3]提出基于無偏灰色馬爾科夫的預測模型,對具有時間相關(guān)性的井下溫度數(shù)據(jù)進行預測,但其數(shù)據(jù)融合效率仍需進行改善;文獻[4]針對溫室環(huán)境建立利用歷史樣本建立極限學習機模型對溫室數(shù)據(jù)進行預測,但極限學習機的參數(shù)隨機初始化,將導致模型預測的不穩(wěn)定。針對以上問題,本文提出一種基于獅群優(yōu)化極限學習機的數(shù)據(jù)融合算法(lion swarm optimization-extreme learning machine for data aggregation,LSO-ELMDA),該算法在區(qū)域內(nèi)進行雙簇首選舉時,綜合考慮剩余能量、鄰居節(jié)點密度以及與匯聚節(jié)點之間的距離對融合簇首進行選舉,融合簇首選擇距離最近且能量充足的節(jié)點作為傳輸簇首,分散簇間數(shù)據(jù)融合與簇內(nèi)通信工作能耗;在匯聚節(jié)點處建立LSO-ELM預測模型,對歷史樣本序列進行預測,傳輸簇首處通過對比預測值與真實值,決定是否傳輸數(shù)據(jù),以延長異構(gòu)網(wǎng)絡(luò)生命周期。
在異構(gòu)無線傳感器網(wǎng)絡(luò)(HWSNs)中大部分的能量都被數(shù)據(jù)通信部分所消耗的情況下,需要一種既關(guān)注能量高效又能夠緩解網(wǎng)絡(luò)能量空洞問題的分簇技術(shù),讓數(shù)據(jù)傳輸效率得以提升。二級異構(gòu)網(wǎng)絡(luò)中根據(jù)能量級別將節(jié)點分為兩種類型,普通節(jié)點和高級節(jié)點。普通節(jié)點的初始能量為Enorm=E0; 高級節(jié)點在網(wǎng)絡(luò)中占比為m,初始能量為Eadvan=E0(1+α), 其中α為高級節(jié)點的初始能量高于普通節(jié)點的倍數(shù);n為節(jié)點總數(shù),網(wǎng)絡(luò)的總能量為
n·E0(1-m)+n·m·E0(1+α)=nE0(1+αm)
(1)
本文針對兩級能量異構(gòu)模型設(shè)置雙簇首機制,將數(shù)據(jù)融合與通信傳輸工作分散于簇內(nèi)不同兩個簇首節(jié)點,達到均衡網(wǎng)絡(luò)能量消耗的效果。為了減輕節(jié)點負載,對SEP協(xié)議中簇首選擇概率以及閾值公式進行改進,以選舉融合簇首,然后分析簇內(nèi)節(jié)點的能量信息與傳輸代價對傳輸簇首進行選舉。融合簇頭負責融合來自簇內(nèi)各個節(jié)點所感知的物理量數(shù)據(jù);傳輸簇頭則負責將經(jīng)過融合簇頭融合后的數(shù)據(jù)發(fā)送給Sink節(jié)點。首先由剩余能量、地理位置和節(jié)點密度對閾值公式進行改進,綜合確定融合簇首[5]。普通節(jié)點與高級節(jié)點當選融合簇首的概率分別為
(2)
(3)
對SEP中閾值公式進行改進,增加權(quán)重因子
(4)
改進后的閾值公式分別為
(5)
(6)
所有節(jié)點隨機分配0到1之間的值,如果小于給定的閾值,則選定該節(jié)點成為融合簇首。在融合簇頭選取完畢之后,各個融合簇頭將根據(jù)收到報文消息中的信息,選擇剩余能量值最大、距離自己最近的成員節(jié)點作為自己的傳輸簇頭。
獅群算法(LSO)中一共包括3種角色:獅王、母獅和幼年獅[6]。獅群進行分工協(xié)作捕獵,不同角色的獅子進行不同方式的位置更新:母獅在捕獵過程中會相互配合,一旦發(fā)現(xiàn)最佳食物,該位置就會立刻被獅王占領(lǐng),幼年獅子成年后會受到驅(qū)逐,被驅(qū)逐的獅子需要朝最佳位置靠近。獅群算法之中的多種更新方式使得其對于高維復雜函數(shù)問題求解都具有良好的全局收斂速度,最終輸出獅王的位置,得到最優(yōu)解。
(7)
(8)
(9)
擾動因子αf、αc與最大活動步長step分別表示為
(10)
(11)
(12)
極限學習機(ELM)是一種特殊的前饋神經(jīng)網(wǎng)絡(luò),同時也是一種具備單隱層的學習算法。相較于傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)需要設(shè)置大量訓練參數(shù)的繁雜,極限學習機只需要設(shè)定網(wǎng)絡(luò)的結(jié)構(gòu),在隱含層節(jié)點的輸入權(quán)重ωi和偏差bi隨機初始化之后,不需要再做更新改變[7]。極限學習機具有設(shè)定參數(shù)少,不涉及迭代操作,泛化能力較強和預測精度高的優(yōu)點,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 極限學習機網(wǎng)絡(luò)結(jié)構(gòu)
假設(shè)樣本集大小為N個,訓練樣本表示為(xi,ti),i=1,2,…,N; ELM模型的輸出表達式為
(13)
(14)
(15)
其中,L為隱含層節(jié)點個數(shù);ωi為第i個隱含層節(jié)點和輸出層之間的輸入權(quán)重;βi為第i個隱含層節(jié)點和輸出層之間的輸出權(quán)重;令β=[β1,β2,…,βL]L×mT,T=[t1,t2,…,tN]N×mT式(15)可以直接表示為:Hβ=Y, 其中H為隱含層的神經(jīng)元輸出陣;g(x) 為無限可微的激活函數(shù)。輸出權(quán)值可以通過最小二乘法解來得到
β*=H+T
(16)
其中,H+為廣義逆矩陣,H+=(HHT)-1HT。
雖然ELM相比傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)在概念上更為簡單、計算效率更高,但在使用ELM的過程中隱藏層的輸入權(quán)重ωi和偏差bi的隨機生成會導致人為設(shè)置的輸入權(quán)重和偏差次優(yōu),這使得系統(tǒng)輸出具有不穩(wěn)定和精度下降的缺陷。為了改善預測模型的性能,提高精度,引入獅群算法對極限學習機的輸入權(quán)重與偏差參數(shù)進行迭代尋優(yōu)。算法流程如下:
(1)確定輸入權(quán)重和偏置的范圍,隨機初始化ELM輸入權(quán)重與偏置的初值;設(shè)定獅子總數(shù)、成年獅比例、最大迭代次數(shù)。
(2)輸入訓練樣本,選擇RMSE作為適應(yīng)度函數(shù),保證在迭代過程中產(chǎn)生的參數(shù)能夠使得極限學習機預測結(jié)果的均方根誤差最小。
(3)以輸入權(quán)重與偏置作為獅子的個體位置向量,維度為 (n+1)L, 其中n為輸入層節(jié)點數(shù)、L為隱含層節(jié)點數(shù)。
(4)按照獅王、母獅和幼年獅的位置更新公式分別更新獅群的個體位置并重復5次,更新獅王的個體位置為最優(yōu)位置,每間隔5次代數(shù)后重新排序確定各角色獅子的個體位置。
(5)計算適應(yīng)度值,確定均方誤差是否滿足要求或迭代次數(shù)達到所設(shè)最大迭代次數(shù),不滿足則回到第(4)步;滿足則進行第(6)步。
(6)對最優(yōu)個體進行輸出,獲得最優(yōu)的輸入權(quán)重和偏差。
LSO-ELM算法流程如圖2所示。
圖2 LSO-ELM算法流程
由于傳感器精度誤差以及隨機故障等因素影響,每個傳感器節(jié)點采集到的數(shù)據(jù)序列中難以避免會出現(xiàn)帶噪聲或不完全的誤差問題。這些被采集的測量數(shù)據(jù)中一旦出現(xiàn)由誤差導致的異常數(shù)據(jù),將對所設(shè)預測模型的精度產(chǎn)生不良影響,會導致預測結(jié)果誤差變大,最終使數(shù)據(jù)融合算法的可靠性下降??紤]到多數(shù)實際應(yīng)用如溫室、農(nóng)田的監(jiān)控中節(jié)點所感知物理量(如種植園中溫度、濕度、光照等)數(shù)據(jù)時間序列均呈現(xiàn)為周期性規(guī)律變化,具有二次多項式的趨勢,為了消除異常數(shù)據(jù)、減少噪聲及誤差對最終融合結(jié)果的影響,匯聚節(jié)點在根據(jù)歷史數(shù)據(jù)序列建立預測模型之前需要對歷史數(shù)據(jù)進行預處理:首先采用拉依達準則去除異常數(shù)據(jù),然后采用三次指數(shù)平滑對數(shù)據(jù)進行處理[8]。
使用拉依達準則對不合理數(shù)據(jù)進行判斷并剔除:分別計算匯聚節(jié)點存儲的歷史序列樣本數(shù)據(jù)的均值與標準差,滿足式(17)的輸入樣本為合理數(shù)據(jù)
μ-3σ (17) 第二步引入三次指數(shù)平滑模型對輸入數(shù)據(jù)進行處理,遞推如下 (18) (19) (20) 在實際應(yīng)用中,大量部署無線傳感器節(jié)點會使得監(jiān)控場地中節(jié)點密度過大,數(shù)據(jù)采集的過程中出現(xiàn)大量冗余信息,在無線傳感器網(wǎng)絡(luò)中節(jié)點的無線收發(fā)大約消耗占比九成的能量。為了降低無線收發(fā)部分的能量消耗,在測量比如溫度、相對濕度這類時間相關(guān)性很大的無線傳感器網(wǎng)絡(luò)應(yīng)用場景中可以針對歷史時間序列數(shù)據(jù)建立基于預測的數(shù)據(jù)融合機制,避免冗余數(shù)據(jù)的傳輸,以達到降低傳輸數(shù)據(jù)包總數(shù)的目的,在保證數(shù)據(jù)準確性的同時,節(jié)省數(shù)據(jù)傳輸?shù)哪芎?,延長網(wǎng)絡(luò)的存活時間。所以,本文引入一種基于獅群優(yōu)化極限學習機的數(shù)據(jù)融合算法(data aggregation algorithm based on extreme learning machine with lion swarm optimization,LSO-ELMDA),達到降低二級異構(gòu)無線傳感器網(wǎng)絡(luò)通信成本、減少冗余數(shù)據(jù)傳輸?shù)男Ч?/p> 為了節(jié)約能量,在成簇階段分別選舉兩枚功能不同的簇首:傳輸簇首與融合簇首。對監(jiān)測區(qū)域的傳感器節(jié)點進行雙簇首分簇,成簇穩(wěn)定之后,簇內(nèi)的成員節(jié)點將感知的數(shù)據(jù)發(fā)送給融合簇首,而傳輸簇首則只負責與匯聚節(jié)點的通信,不進行物理量的感知,融合簇首對簇成員數(shù)據(jù)做出簡單融合,由傳輸簇首將數(shù)據(jù)包傳輸至Sink節(jié)點,同時向Sink節(jié)點發(fā)送簇內(nèi)成員節(jié)點信息表。Sink節(jié)點處將構(gòu)建LSO-ELM預測模型,通過訓練樣本數(shù)據(jù)獲得最佳輸入權(quán)值和閾值參數(shù),在對存儲的歷史數(shù)據(jù)進行不合理數(shù)據(jù)剔除與三次指數(shù)平滑預處理后,應(yīng)用獅群算法進行參數(shù)調(diào)校的極限學習機對歷史時間序列數(shù)據(jù)進行預測,由Sink節(jié)點將預測值返還給傳輸簇首節(jié)點。傳輸簇首通過判斷預測數(shù)據(jù)與真實數(shù)據(jù)之間的誤差大小是否超過設(shè)定閾值,決定是否需要將感知的新數(shù)據(jù)發(fā)送至Sink節(jié)點進行數(shù)據(jù)更新,在預測誤差允許的范圍內(nèi),能夠減少數(shù)據(jù)的傳輸總量,保持數(shù)據(jù)精度,同時節(jié)約下重復發(fā)送冗余數(shù)據(jù)的能量。LSO-ELMDA算法將數(shù)據(jù)的融合和與匯聚節(jié)點之間的通信兩個環(huán)節(jié)分開在兩個簇首節(jié)點,達到延長壽命的效果。 算法流程如圖3所示。 圖3 Sink節(jié)點與傳輸簇首節(jié)點工作流程 本文實驗在MATLAB平臺運行,實驗分為兩個部分。第一部分利用已有數(shù)據(jù)集對LSO-ELM模型進行訓練與測試,驗證預測模型的可行性??紤]異構(gòu)無線傳感器網(wǎng)絡(luò)在現(xiàn)實諸如溫室大棚、農(nóng)田等方面的應(yīng)用,實驗數(shù)據(jù)集選用安徽農(nóng)業(yè)大學實習基地,位于安徽合肥的長豐國家級現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園之中的“紅顏1983”草莓種植棚監(jiān)測的數(shù)據(jù)集,在驗證二級異構(gòu)網(wǎng)絡(luò)的情況下選擇草莓種植棚中的實時溫度數(shù)據(jù)與實時相對濕度數(shù)據(jù),提取1000個連續(xù)采樣點,以前800組數(shù)據(jù)作為訓練集,后200組數(shù)據(jù)則用于測試集。首先對樣本數(shù)據(jù)中異常數(shù)據(jù)進行刪除、然后進行三次指數(shù)平滑以及歸一化等預處理。為了使獅群算法優(yōu)化極限學習機模型預測精度與收斂情況達到均衡的最佳狀態(tài),隱含層根據(jù)試湊法設(shè)置100個節(jié)點,激活函數(shù)選用sigmoid函數(shù)。 實驗第二部分則針對二級異構(gòu)無線傳感網(wǎng)絡(luò)進行LSO-ELMDA算法模擬仿真,實時的數(shù)據(jù)經(jīng)過源源不斷的周期采集,初始時間序列數(shù)據(jù)的個數(shù)設(shè)定為50,誤差閾值設(shè)定為0.25個單位值。仿真實驗LSO-ELMDA算法與異構(gòu)M-SEP算法[9]、P-SEP算法[10]、DEEC-2算法[11]以及BPNNDA算法進行對比,在MATLAB平臺上通過對比觀察二級異構(gòu)無線傳感器網(wǎng)絡(luò)的死亡節(jié)點數(shù)目、傳遞數(shù)據(jù)包總數(shù)目兩方面情況,驗證基于獅群優(yōu)化極限學習機的數(shù)據(jù)融合算法在二級異構(gòu)網(wǎng)絡(luò)中的性能。仿真參數(shù)設(shè)定見表1。 表1 仿真參數(shù)設(shè)置 為了更好評價LSO-ELM模型的性能,將LSO-ELM模型與BPNN模型[12]在同一數(shù)據(jù)集訓練下進行測試比較,溫度與相對濕度的預測結(jié)果對比如圖4所示。其中圖4(a)顯示“紅顏1983”草莓種植園內(nèi)的溫度實際值、BPNN預測模型與LSO-ELM預測模型對比曲線。在獅群算法的參數(shù)調(diào)校下,LSO-ELM模型擬合結(jié)果逼近真實值,在前100個樣本點預測曲線的情況基本與真實值重合,而BPNN模型的預測結(jié)果前160個樣本點波動較大,且在樣本點真實數(shù)值發(fā)生變化時,預測結(jié)果的跳動幅度相對LSO-ELM模型過大即預測誤差更大,可以得出LSO-ELM模型總體溫度的預測效果優(yōu)于BPNN預測模型;圖4(b)則表示為草莓種植園內(nèi)相對濕度實際值、BPNN預測模型與LSO-ELM預測模型的對比曲線,其中LSO-ELM預測結(jié)果與實際相對濕度曲線吻合度較好,但BPNN模型精度較低,前150個樣本點預測結(jié)果誤差較大,預測結(jié)果無法滿足高精度的數(shù)據(jù)收集場景,對比顯示LSO-ELM模型相對濕度預測效果要優(yōu)于BPNN模型。 圖4 預測值與真實值對比 圖5表示兩種預測方案下的預測誤差對比曲線。草莓種植園中溫度預測與真實值的誤差如圖5(a)所示,相對濕度與真實值的誤差對比如圖5(b)所示,能夠更為直觀表示獅群算法進行參數(shù)調(diào)校的ELM預測模型的預測結(jié)果優(yōu)于BPNN預測模型,可以看出LSO-ELM模型的預測結(jié)果誤差曲線相對BPNN更接近零值,波動幅度較小。在第二部分仿真中,當誤差超過所設(shè)定的閾值0.25個單位時,將使用傳感器節(jié)點感知的真實值數(shù)據(jù)對預測時間序列樣本進行重構(gòu)、更新模型,重新計算下一周期預測值,避免對二級異構(gòu)無線傳感器網(wǎng)絡(luò)中LSO-ELMDA算法的數(shù)據(jù)可靠性產(chǎn)生影響。 圖5 預測誤差對比 圖6為5種針對二級異構(gòu)設(shè)計的算法隨著網(wǎng)絡(luò)運行死亡節(jié)點數(shù)目的變化趨勢對比情況。由于LSO-ELMDA算法在二級異構(gòu)網(wǎng)絡(luò)中采用雙簇首機制,對閾值公式增加剩余能量、節(jié)點密度與傳輸距離權(quán)重因子進行改進,成簇之后融合簇首進行簇內(nèi)數(shù)據(jù)初步融合,傳輸簇首只負責進行數(shù)據(jù)傳輸不進行物理量感知,而M-SEP、P-SEP、DEEC-2這3種算法均未設(shè)計節(jié)能的數(shù)據(jù)融合方案,未針對冗余數(shù)據(jù)進行處理,數(shù)據(jù)無線收發(fā)的能耗過大所以網(wǎng)絡(luò)壽命相對較短;而BPNNDA算法中由于BPNN模型的預測誤差較大,在設(shè)定閾值為0.25時大于誤差閾值的樣本點數(shù)目較LSO-ELM模型多,發(fā)送感知的真實值數(shù)據(jù)的次數(shù)比LSO-ELMDA算法多,通訊能耗大于后者,所以網(wǎng)絡(luò)壽命相對LSO-ELMDA算法較短。通過對比,LSO-ELMDA算法由于傳輸簇首根據(jù)閾值判斷每個簇數(shù)據(jù)包傳輸與否,在誤差閾值設(shè)定為0.25的情況下能夠有效地避免重復數(shù)據(jù)的傳輸,節(jié)省冗余數(shù)據(jù)被傳輸時所消耗的能量,能夠大幅度提高能量效率,延長整個二級異構(gòu)網(wǎng)絡(luò)的壽命。 圖6 死亡節(jié)點對比 圖7反映5種二級異構(gòu)無線傳感器網(wǎng)絡(luò)算法在同等條件下匯聚節(jié)點所接受數(shù)據(jù)包數(shù)量的對比情況。二級異構(gòu)M-SEP算法、P-SEP算法與DEEC-2算法在數(shù)據(jù)傳輸中未針對冗余數(shù)據(jù)進行改進,匯聚節(jié)點接受數(shù)據(jù)包總數(shù)分別為4.09×104、4.22×104與6.87×104。在對比下可以直觀地顯示LSO-ELMDA算法所減少的傳輸冗余數(shù)據(jù)包數(shù)量;實驗中BPNNDA算法由于預測精度較低,與設(shè)定誤差閾值的對比顯示預測誤差較大,在與LSO-ELMDA算法同等條件時數(shù)據(jù)包需不斷地向匯聚節(jié)點傳輸以對預測模型進行重構(gòu)更新,接收的數(shù)據(jù)總量較LSO-ELMDA算法高,匯聚節(jié)點接受數(shù)據(jù)包總量約為3.47×104。通過對比顯示,LSO-ELMDA算法能夠大幅降低數(shù)據(jù)包的傳送,匯聚節(jié)點接受數(shù)據(jù)包總量約為2.66×104,因為算法在匯聚節(jié)點處引入LSO-ELM預測模型后,當預測數(shù)據(jù)與感知數(shù)據(jù)的誤差不超過閾值時,傳輸簇首將不發(fā)送數(shù)據(jù)包至匯聚節(jié)點,減少網(wǎng)絡(luò)冗余數(shù)據(jù)包的傳遞,直接將預測值作為下一周期的數(shù)據(jù)使用,能夠降低各簇與匯聚節(jié)點之間數(shù)據(jù)包傳輸總量,整體網(wǎng)絡(luò)所傳輸?shù)臄?shù)據(jù)包總數(shù)目被削減。 圖7 接收數(shù)據(jù)對比 數(shù)據(jù)融合算法是無線傳感器網(wǎng)絡(luò)中對多個傳感器節(jié)點采集的數(shù)據(jù)去除信息冗余,提高采集效率,使數(shù)據(jù)更加簡潔、準確的重要解決方案。針對草莓種植園場景下的二級異構(gòu)無線傳感器網(wǎng)絡(luò),考慮將HWSNs雙簇首數(shù)據(jù)傳輸機制與基于預測的數(shù)據(jù)融合方案相結(jié)合,對融合簇首的選舉閾值公式針對剩余能量、鄰居節(jié)點密度和與匯聚節(jié)點的距離3個因素增加權(quán)重因子,同時設(shè)定傳輸簇首分擔與匯聚節(jié)點之間通信的負載,并引入一種基于獅群優(yōu)化極限學習機的數(shù)據(jù)融合算法,采用獅群算法對極限學習機進行參數(shù)尋優(yōu),提高預測模型的性能,在對歷史時間序列數(shù)據(jù)進行剔除異常值以及三次指數(shù)平滑預處理之后,對數(shù)據(jù)進行預測,設(shè)定誤差閾值使用預測值代替真實值,避免冗余數(shù)據(jù)的傳輸,達到降低通信能耗的目的。仿真結(jié)果表明:該算法能夠保證數(shù)據(jù)可靠性,有效降低網(wǎng)絡(luò)冗余數(shù)據(jù)的傳輸,使網(wǎng)絡(luò)數(shù)據(jù)傳輸量大幅降低,降低節(jié)點傳輸功耗,并具有較強的容錯能力。3.2 數(shù)據(jù)融合算法流程
4 實驗仿真
4.1 實驗參數(shù)選擇
4.2 仿真結(jié)果
5 結(jié)束語