商俊燕,丁 輝,胡學(xué)龍
(1.常州工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,江蘇 常州 213164;2.揚州大學(xué)信息工程學(xué)院,江蘇 揚州 225127)
無線傳感器網(wǎng)絡(luò)憑借其傳輸數(shù)據(jù)量大且速度較快的優(yōu)勢,廣泛地應(yīng)用于不同研究領(lǐng)域[1]。但由于無線傳感器網(wǎng)絡(luò)的節(jié)點分布較為密集,節(jié)點與節(jié)點之間覆蓋區(qū)域出現(xiàn)大量交疊情況,節(jié)點工作時會出現(xiàn)大量的冗余數(shù)據(jù),造成能耗較大,消耗網(wǎng)絡(luò)生存時間,消減網(wǎng)絡(luò)使用壽命[2]。為此,對無線傳感器網(wǎng)絡(luò)開展有效的冗余數(shù)據(jù)檢測,是網(wǎng)絡(luò)管理部門亟待解決的問題。
文獻[3]提出基于加權(quán)社會網(wǎng)絡(luò)的低維冗余數(shù)據(jù)挖掘算法。該方法首先建立網(wǎng)絡(luò)的加權(quán)社會模型,對網(wǎng)絡(luò)采集數(shù)據(jù)展開可視化分析;依據(jù)分析結(jié)果提取數(shù)據(jù)冗余特征,計算數(shù)據(jù)的低維冗余支持度,并依據(jù)計算結(jié)果對低維數(shù)據(jù)的關(guān)聯(lián)規(guī)則實施評價;最后通過數(shù)據(jù)關(guān)聯(lián)規(guī)則對數(shù)據(jù)進行聚類處理,實現(xiàn)網(wǎng)絡(luò)冗余數(shù)據(jù)的檢測。該方法的檢測耗時較短,但檢測正確率較低。文獻[4]對無線傳感器網(wǎng)絡(luò)中的冗余流量進行了研究?;诠?jié)點的剩余能量執(zhí)行多跳路由,利用短信標消息處理基于區(qū)域的路由中產(chǎn)生的冗余數(shù)據(jù)包。較低區(qū)域的節(jié)點以最少的跳數(shù)將較高區(qū)域的數(shù)據(jù)路由到基站,并且僅利用路徑上的那些節(jié)能且位于基站附近的節(jié)點。中繼節(jié)點使用無線廣播優(yōu)勢來確認源節(jié)點,而不向發(fā)送方發(fā)送任何特殊的ACK 包,這減少了路由過程中的控制開銷。該方法具有較高的數(shù)據(jù)吞吐量,但存在檢測召回率較低的問題。
為解決上述網(wǎng)絡(luò)冗余數(shù)據(jù)檢測過程中存在的問題,提出基于XGBoost 的無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測算法。
為了有效實現(xiàn)無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測,針對無線傳感器網(wǎng)絡(luò)缺失數(shù)據(jù)實施插補處理,從而有效預(yù)處理無線傳感器網(wǎng)絡(luò)數(shù)據(jù)。利用局部近鄰算法,建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)辨識矩陣,降維無線傳感器網(wǎng)絡(luò)數(shù)據(jù),由此提高無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測正確率。
在無線傳感器網(wǎng)絡(luò)數(shù)據(jù)預(yù)處理過程中,需要使用相關(guān)算法對無線傳感器網(wǎng)絡(luò)中的缺失數(shù)據(jù)實施缺失值插補處理[5-6]。
通過數(shù)據(jù)采集器對無線傳感器網(wǎng)絡(luò)數(shù)據(jù)展開采集處理,建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)集A,并將其劃分成測試集B 和檢測集C。無線傳感器網(wǎng)絡(luò)缺失數(shù)據(jù)缺失值插補處理流程如下:
①確定無線傳感器網(wǎng)絡(luò)數(shù)據(jù)中的自變量與因變量。
在無線傳感器網(wǎng)絡(luò)數(shù)據(jù)集中確定缺失數(shù)據(jù)為因變量mi,未缺失數(shù)據(jù)為自變量ni。
②明確數(shù)據(jù)缺失值上、下限。
通過最近鄰算法獲取網(wǎng)絡(luò)缺失值的上下限,并將其設(shè)定為[msi,mxi],缺失插補過程中迭代值不可超出該閾值。
③網(wǎng)絡(luò)數(shù)據(jù)缺失值隨機插補。
在設(shè)定的缺失值上下限閾值之間隨機選取數(shù)據(jù),初次對無線傳感器網(wǎng)絡(luò)[7]中的缺失數(shù)據(jù)開展缺失值插補處理。
④尋找最優(yōu)復(fù)雜度模型。
通過構(gòu)建具有傳感器網(wǎng)絡(luò)缺失數(shù)據(jù)的分組處理模型,以此來尋求數(shù)據(jù)最優(yōu)復(fù)雜度。數(shù)據(jù)最優(yōu)復(fù)雜度確定后,依據(jù)數(shù)據(jù)的分組插補方法計算網(wǎng)絡(luò)數(shù)據(jù)缺失值的誤差。
⑤開展缺失值插補處理。
重復(fù)上述流程對網(wǎng)絡(luò)數(shù)據(jù)迭代計算,直至完成所有數(shù)據(jù)的插補處理。
無線傳感器網(wǎng)絡(luò)完成數(shù)據(jù)缺失值插補后,通過Z-score 算法完成無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的標準化處理[8],結(jié)果如下式所示:
式中,n為無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)總量,man,I為實際數(shù)據(jù)值,An為數(shù)據(jù)平均值。Sn為數(shù)據(jù)標準差,數(shù)man為據(jù)的標準化處理結(jié)果。
無線傳感器網(wǎng)絡(luò)數(shù)據(jù)在完成缺失值插補后,通過局部近鄰算法[9]對網(wǎng)絡(luò)數(shù)據(jù)實施降維處理。
1.2.1 建立辨識矩陣
設(shè)定無線傳感器網(wǎng)絡(luò)數(shù)據(jù)中有a個訓(xùn)練樣本數(shù)據(jù),根據(jù)數(shù)據(jù)集高維空間樣本的局部近鄰關(guān)系,構(gòu)造了一個網(wǎng)絡(luò)數(shù)據(jù)的近鄰矩陣為:
式中,G為建立的近鄰矩陣,網(wǎng)絡(luò)數(shù)據(jù)樣本xi與xj之間互為近鄰關(guān)系,As為數(shù)據(jù)近鄰樣本集合。
設(shè)定近鄰矩陣中任意向量為gij,依據(jù)網(wǎng)路數(shù)據(jù)的類別標簽,建立網(wǎng)絡(luò)數(shù)據(jù)的辨識矩陣,結(jié)果如下式所示:
式中,‖xi-xj‖為樣本數(shù)據(jù)xi與xj之間的歐氏距離,o為調(diào)節(jié)常數(shù),exp 為指數(shù)函數(shù),B為建立的辨識矩陣。
1.2.2 數(shù)據(jù)降維
依據(jù)傳感器網(wǎng)絡(luò)數(shù)據(jù)近鄰點數(shù)量建立數(shù)據(jù)的局部近鄰圖,再通過建立的近鄰圖,構(gòu)建數(shù)據(jù)局部散度矩陣以及全局散度矩陣,過程如下式所示:
式中,K為拉普拉斯矩陣,Bk為建立的網(wǎng)絡(luò)數(shù)據(jù)局部散度矩陣,BA為全局散度矩陣,T為逼近系數(shù),i為矩陣行向量,j為列向量,X為網(wǎng)絡(luò)樣本數(shù)據(jù)集,m為常數(shù),Bij為在i行j列的數(shù)據(jù)。
通過建立的數(shù)據(jù)散度矩陣[10]獲取無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的辨識向量c,以此建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的變換函數(shù)模型,結(jié)果如下式所示:
式中,J(C)為建立的變換函數(shù),C為辨識向量集合,JA(C)、Jk(C)為矩陣辨識系數(shù),tr 為矩陣對角函數(shù)。
柑橘產(chǎn)量與氣溫、降水量呈顯著正相關(guān);與日照時數(shù)呈極顯著負相關(guān)。需要加強研究柑橘各發(fā)育期氣象因子與柑橘產(chǎn)量的關(guān)系,掌握柑橘生長發(fā)育期對氣溫、降水、日照的需求,有效利用氣象條件,防范氣象災(zāi)害,結(jié)合生產(chǎn)實際,加強果園管理,提高柑橘產(chǎn)量與品質(zhì)。
模型建立后,通過模型的正交化約束,計算數(shù)據(jù)正交向量值,建立模型的正交函數(shù)計算模型的特征向量值,過程如下式所示:
式中,δm為變換函數(shù)模型正交特征向量,argmin 為對數(shù)函數(shù)?;谏鲜霁@取變換函數(shù)模型的正交基特征向量,獲取模型目標函數(shù)解,實現(xiàn)無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的降維,過程如下式所示:
式中,φ為模型目標函數(shù)解[11],s.t.為模型約束條件。
在上述無線傳感器網(wǎng)絡(luò)數(shù)據(jù)預(yù)處理的基礎(chǔ)上,設(shè)計XGBoost 檢測算法。采用XGBoost 算法,提取無線傳感器網(wǎng)絡(luò)數(shù)據(jù)冗余特征。利用決策樹,建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)分類模型,分類無線傳感器網(wǎng)絡(luò)數(shù)據(jù)冗余特征,由此實現(xiàn)無線傳感器網(wǎng)絡(luò)的冗余數(shù)據(jù)檢測,從而有效提高無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測召回率。
使用XGBoost 算法,基于數(shù)據(jù)降維后的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)樣本以及冗余類別,建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的目標函數(shù),結(jié)果如下式所示:
式中,ei為數(shù)據(jù)i的目標實際值,ej為目標預(yù)測值,l(ei,ej)為二者之間的差異,m為樣本數(shù)量,?(fk)為數(shù)據(jù)樣本k的特征參數(shù),fk為分裂樹的模型復(fù)雜度,K為數(shù)據(jù)樣本的特征參數(shù)總量,U為建立的目標函數(shù)。
式中,U(t)為冗余數(shù)據(jù)的分裂樹節(jié)點累加值,ωi為節(jié)點輸出分數(shù),I為分類樹葉子上的樣本集合,Ij為分裂樹結(jié)構(gòu)函數(shù),T為葉子節(jié)點,gi、hi為數(shù)據(jù)冗余系數(shù),γ、λ為權(quán)重因子。
分裂樹建立后,依據(jù)冗余數(shù)據(jù)特征編碼形式確定無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的特征。設(shè)定網(wǎng)絡(luò)數(shù)據(jù)訓(xùn)練樣本集為{x1,x2,…,xn},數(shù)據(jù)樣本在第K棵冗余數(shù)據(jù)分裂樹上的對應(yīng)節(jié)點位置為βnk,以此建立樣本數(shù)據(jù)的索引向量矩陣,過程如下式所示:
式中,Z為建立的樣本索引向量矩陣,K為分裂樹數(shù)量。n為樣本數(shù)量。
最后依據(jù)無線傳感器網(wǎng)絡(luò)數(shù)據(jù)樣本索引向量矩陣計算結(jié)果,完成數(shù)據(jù)冗余特征的提取。
由于提取出的數(shù)據(jù)冗余特征包含多個類別,因此,依據(jù)建立的決策樹對無線傳感器網(wǎng)絡(luò)數(shù)據(jù)實施分類處理,完成無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)的檢測。
基于提取的數(shù)據(jù)冗余特征建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)分類模型[12],過程如下式所示:
式中,M為建立的分類模型,η為網(wǎng)絡(luò)數(shù)據(jù)的分類算子,t為樣本標簽,X為訓(xùn)練數(shù)據(jù)集。最后依據(jù)下式完成無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)的分類,實現(xiàn)無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)的檢測,過程如下式所示:
式中,R為數(shù)據(jù)分類結(jié)果,loss 為分類模型的模型誤差,Xbest為測試數(shù)據(jù)集,Ctest為分類標簽。
為了驗證基于XGBoost 的無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測算法的有效性,需要對此方法進行仿真分析對比測試。采用NSL-KDD 數(shù)據(jù)集,基于MATLAB 2016a 軟件進行了仿真分析。設(shè)定樣本數(shù)據(jù)量為6 000 個,仿真參數(shù)迭代數(shù)量為150,學(xué)習(xí)率為0.1。XGBoost 算法實現(xiàn)的偽代碼如下:
分別采用基于XGBoost 的無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測算法(所提方法)、加權(quán)社會網(wǎng)絡(luò)低維冗余數(shù)據(jù)快速挖掘算法仿真(文獻[3]方法)、無線傳感器網(wǎng)絡(luò)區(qū)域路由中處理冗余流量的節(jié)能技術(shù)(文獻[4]方法)展開測試。
選取檢測正確率、召回率以及F1 值作為檢測效果測試指標,以此測試上述3 種方法的冗余數(shù)據(jù)檢測效果。
①檢測正確率測試:檢測正確率是指正確檢測樣本數(shù)據(jù)量占樣本數(shù)據(jù)量總數(shù)的百分比。冗余數(shù)據(jù)檢測正確率測試中,檢測正確率越高,說明冗余數(shù)據(jù)檢測效果越好;檢測正確率越低,說明冗余數(shù)據(jù)的檢測效果越差。對3 種方法的檢測正確率展開測試,測試結(jié)果如圖1 所示。
圖1 不同方法的檢測正確率測試結(jié)果
由圖1 可知,樣本數(shù)據(jù)量與3 種冗余數(shù)據(jù)檢測方法的檢測正確率呈負相關(guān)趨勢。當(dāng)樣本數(shù)據(jù)量達到6 000 個時,文獻[3]方法和文獻[4]方法的檢測正確率分別為90.45%和89.43%,而所提方法的檢測正確率為97.59%。由此可知,所提方法測試出的檢測正確率是3 種方法中最高的,由此可證明,所提方法在冗余數(shù)據(jù)檢測時的檢測效果較好。
②檢測召回率測試:檢測召回率是指檢測為正確的檢測樣本數(shù)據(jù)量占實際的檢測樣本數(shù)據(jù)量的百分比。冗余數(shù)據(jù)檢測召回率測試時,測試出的召回率越高,說明冗余數(shù)據(jù)的檢測效果越好,反之則越差。對3 種方法的召回率展開測試,測試結(jié)果如圖2 所示。
圖2 不同方法的檢測召回率測試結(jié)果
由圖2 可知,樣本數(shù)據(jù)量與3 種方法測試出的召回率呈負相關(guān)趨勢。當(dāng)樣本數(shù)據(jù)量達到6 000 個時,文獻[3]方法和文獻[4]方法的檢測召回率分別為84.45%和75.43%,而所提方法的檢測召回率為95.00%。由此可知,所提方法的檢測召回率較高,可證明所提方法在開展冗余數(shù)據(jù)檢測時,具備有效性。
③檢測F1 值測試:檢測F1 值是指檢測正確率和檢測召回率的調(diào)和平均數(shù)。采用F1 值測試指標對所提方法、文獻[3]方法以及文獻[4]方法的冗余數(shù)據(jù)檢測結(jié)果展開測試,測試過程中,F(xiàn)1 值測試結(jié)果越高,說明檢測方法的檢測效果越好,反之則越差。以此測試3 種方法冗余數(shù)據(jù)檢測效果。測試結(jié)果如圖3 所示。
圖3 不同方法的檢測F1 值測試結(jié)果
由圖3 可知,樣本數(shù)據(jù)量與檢測方法的F1 值呈負相關(guān)趨勢。當(dāng)樣本數(shù)據(jù)量達到6 000 個時,文獻[3]方法和文獻[4]方法的檢測F1 值分別為60.96%和59.84%,而所提方法的檢測F1 值為65.87%。由此可知,所提方法的F1 值測試結(jié)果較高,說明所提方法的檢測效果較好。這主要是因為所提方法在冗余數(shù)據(jù)檢測前,使用局部近鄰算法對網(wǎng)絡(luò)數(shù)據(jù)實施降維處理,所以該方法在開展冗余數(shù)據(jù)檢測時的F1 值較高。
綜上所述,所提方法在開展無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測時,檢測的正確率、召回率和F1 值較高。由此可證明,所提方法在冗余數(shù)據(jù)檢測時的檢測效果好。
隨著傳感器網(wǎng)絡(luò)使用范圍的增加,傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測就變得尤為重要。針對傳統(tǒng)冗余數(shù)據(jù)檢測方法中存在的問題,提出基于XGBoost 的無線傳感器網(wǎng)絡(luò)冗余數(shù)據(jù)檢測算法。該方法依據(jù)數(shù)據(jù)的降維結(jié)果,提取網(wǎng)絡(luò)的冗余數(shù)據(jù)特征,建立無線傳感器網(wǎng)絡(luò)數(shù)據(jù)分類模型;最后依據(jù)建立的數(shù)據(jù)分類模型完成網(wǎng)絡(luò)數(shù)據(jù)的分類,實現(xiàn)冗余數(shù)據(jù)的檢測。該方法具有較好的檢測效果,能夠有效提升無線傳感器網(wǎng)絡(luò)的運行安全性。