王曉艷,張 楠
(1.山西工程科技職業(yè)大學計算機工程學院,山西 晉中 030619;2.山西大同大學機電工程學院,山西 大同 037003)
無線傳感器網(wǎng)絡是一種分布式網(wǎng)絡,利用傳感器可以獲取更加精準的數(shù)據(jù)變化趨勢,同時還可以采集數(shù)據(jù)特征,將獲取的全部信息直接發(fā)送給用戶。由于受到周圍環(huán)境和自身等因素的影響,在無線傳感器網(wǎng)絡數(shù)據(jù)中存在大量的噪聲,導致無法準確區(qū)分不同類型的無線傳感器網(wǎng)絡靜態(tài)節(jié)點[1-2]。
為此,國內(nèi)外相關專家針對無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類方面的內(nèi)容展開了大量研究,樊成等[3]將圖卷積網(wǎng)絡、多任務學習以及自適應加權策略三者有效結合,并且在模型訓練過程中加入對應的節(jié)點相關性,以此為依據(jù)展開權重任務劃分操作,最終實現(xiàn)網(wǎng)絡節(jié)點分類處理。 謝潤山等[4]主要基于函數(shù)鏈神經(jīng)網(wǎng)絡構建深度分類器,通過分類器完成節(jié)點分類處理。 Uppal 等[5]利用下降曲線對傳感器節(jié)點進行預測,實現(xiàn)靜態(tài)節(jié)點分類。 但因無線傳感器網(wǎng)絡中靜態(tài)節(jié)點包含一定的不確定信息,通常認為不確定信息主要來源于傳感器對目標的不充分觀測所獲取的不精確數(shù)據(jù),以及對目標的局部觀測所得到的不完整數(shù)據(jù)。 不精確數(shù)據(jù)和不完整數(shù)據(jù)都會使靜態(tài)節(jié)點分類問題變得十分復雜,且極易造成錯誤的分類結果。 傳統(tǒng)的基于粗糙集理論的決策級融合技術很難對數(shù)據(jù)中的不確定信息進行有效的刻畫。
在以上幾種網(wǎng)絡節(jié)點分類算法的基礎上,提出一種改進粗糙集理論的無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類算法。 采用多次采樣法對數(shù)據(jù)進行加權處理,利用DHA 算法對含有噪聲的無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)進行濾波處理,通過錯誤分類率中的變精度粗糙集對粗糙集理論進行改進,提取靜態(tài)節(jié)點特征,基于支持向量機構建無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類模型,對節(jié)點進行分類處理。 仿真結果表明,所提算法可以得到精準的節(jié)點分類結果。
根據(jù)多次采樣法采集節(jié)點數(shù)據(jù)后,對數(shù)據(jù)進行加權處理,通過DHA 算法去除節(jié)點數(shù)據(jù)中的噪聲,利用錯誤分類率中的變精度粗糙集和錯誤分類器,改進粗糙集模型,提取靜態(tài)節(jié)點特征,結合支持向量機完成節(jié)點分類處理。
采集無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)過程中,如果節(jié)點數(shù)據(jù)中的隨機噪聲Ri,t服從期望趨近為0,則對應的噪聲均值可以表示為:
式中:Ui,t代表噪聲均值;ri,t代表在t時間段內(nèi)第i個帶有噪聲的節(jié)點數(shù)據(jù)。
在給定噪聲均值在允許誤差范圍內(nèi)以及節(jié)點數(shù)量穩(wěn)定的情況下,假設n次采樣的平均隨機噪聲落在允許誤差范圍內(nèi),則采用其代替真實數(shù)據(jù)的置信度,對應的計算式為:
式中:di,t代表無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)對應的置信度值;P(x,y)代表真實節(jié)點數(shù)量的置信度;代表平均隨機噪聲對應的誤差范圍。
假設給定無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)的置信度之后,需要估計節(jié)點數(shù)量,對應的計算式為:
式中:αi,t代表無線傳感器網(wǎng)絡靜態(tài)節(jié)點的數(shù)量估計值。 同時,通過對上述公式分析可知,當無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)量開始增加,對應的節(jié)點置信度也隨之增加。
為了有效濾除無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)中的噪聲,主要引入Kalman 線性濾波或者線性回歸給出一個預測區(qū)域[ait,bit],假設節(jié)點落在預測區(qū)域內(nèi),則說明節(jié)點滿足置信度需求,不需要去噪處理;假設節(jié)點落在預測區(qū)域外,主要通過兩種不同的方式有效濾除節(jié)點數(shù)據(jù)中的噪聲,分別為:
①本地測試:
采用多次采樣的方法提高數(shù)據(jù)的置信度;在測試鄰居節(jié)點時,對測試結果展開加權處理,得到去噪處理后的數(shù)據(jù)。
②鄰居測試:
在鄰居節(jié)點測試過程中,各個節(jié)點數(shù)據(jù)之間的置信度和鄰居節(jié)點數(shù)量兩者之間存在密切關聯(lián),檢測到鄰近樣本之間的節(jié)點數(shù)量越多,對應節(jié)點的置信度取值也就越高。 反之,則說明鄰居節(jié)點數(shù)量比較少,對應的置信度也就越低,同時對應的節(jié)點數(shù)量也沒辦法達到設定的置信度需求。
在給定置信度展開鄰居測試過程中,采集的節(jié)點數(shù)據(jù)達到設定的置信度時,則節(jié)點需要的最少鄰居節(jié)點需要滿足設定的要求。 優(yōu)先分析無線傳感器網(wǎng)絡靜態(tài)節(jié)點的稠密情況,通過WMA 算法對鄰居節(jié)點進行測試處理,由于此時鄰居節(jié)點的數(shù)量比較大,所以各個節(jié)點都需要接收大量的鄰居節(jié)點數(shù)量,對應的網(wǎng)絡通信能量也隨之增加,加重網(wǎng)絡的負擔,導致網(wǎng)絡運行不暢。 為了有效避免上述情況的發(fā)生,確保數(shù)據(jù)達到設定的置信度,需要設定各個節(jié)點的能量消耗范圍dpt,具體的計算式如下:
式中:d代表節(jié)點消耗的能量值;plx代表節(jié)點接收一個字節(jié)所消耗的能量。
為了有效控制無線傳感器網(wǎng)絡靜態(tài)節(jié)點測試的通信消耗,確保數(shù)據(jù)準確性后,節(jié)點對應的鄰居節(jié)點會形成一個隨機數(shù)據(jù)r,如果0<r<[ait,bit]則節(jié)點需要將感知數(shù)據(jù)發(fā)送給另外一個節(jié)點;反之,則不需要將感知數(shù)據(jù)發(fā)送給另外一個節(jié)點。 通過隨機變量si判斷節(jié)點i的鄰居節(jié)點j是否需要將感知數(shù)據(jù)發(fā)送給另外一個節(jié)點,對應的計算式如下:
受到網(wǎng)絡帶寬問題的影響,當網(wǎng)絡中需要接收和發(fā)送的數(shù)據(jù)包數(shù)量達到一定程度,大量信息堆積在一起會產(chǎn)生擁堵。 發(fā)生擁堵后,傳感器網(wǎng)絡中的數(shù)據(jù)無法接收和傳送,同時數(shù)據(jù)受到噪聲的影響,影響了網(wǎng)絡的正常通信效果,導致網(wǎng)絡的通信功能無法順利展開。 所以,進行鄰居測試時,在節(jié)點數(shù)量較多的情況下,有效調節(jié)鄰居數(shù)量也就顯得十分重要。 在計算節(jié)點稠密度的過程中,采用DHA 算法對數(shù)據(jù)進行去噪處理可以有效避免數(shù)據(jù)擁堵情況的發(fā)生,確保節(jié)點通信的正常運行。 通過上述分析,給出無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)濾波的詳細操作步驟[6-8]:
①優(yōu)先對無線傳感器網(wǎng)絡靜態(tài)節(jié)點展開密度測試,對決策網(wǎng)絡進行初始化處理,每個節(jié)點對應一個節(jié)點ID 消息包,可以同時接收周圍鄰居節(jié)點信息。
②分別計算無線傳感器網(wǎng)絡靜態(tài)節(jié)點時間維和空間維的加權平均值和,如式(6)所示:
式中:ωit代表無線傳感器網(wǎng)絡靜態(tài)節(jié)點的方差值;vit代表節(jié)點的傳播速度;βit代表鄰居節(jié)點形成的廣播消息包;τit代表鄰居節(jié)點在傳感器網(wǎng)絡中的總數(shù);u代表網(wǎng)絡靜態(tài)節(jié)點密度;N代表鄰居節(jié)點總數(shù);cij代表無線傳感器網(wǎng)絡靜態(tài)節(jié)點通信過程中產(chǎn)生的開銷;eit代表鄰居節(jié)點的抽樣總數(shù)。
③隨著時間的推進,通過樣本數(shù)據(jù)可以更加精準反映網(wǎng)絡靜態(tài)節(jié)點的運行情況,在完成式(6)計算后,引入DHA 算法對含有噪聲的無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)進行濾波處理,進而獲取去噪后的節(jié)點數(shù)據(jù)[9-10],詳細的計算式如式(7)所示:
式中:f(x,y)代表經(jīng)過濾波處理后的無線傳感器網(wǎng)絡靜態(tài)節(jié)點濾波處理結果。
隨著數(shù)據(jù)規(guī)模的不斷增加以及數(shù)據(jù)類型日益復雜多樣,粗糙集理論的應用場景也日益多樣化[11-13]。 粗糙集理論是對數(shù)據(jù)進行分析及處理的理論,通過錯誤分類率中的變精度粗糙集對粗糙集理論進行改進,提高數(shù)據(jù)的綜合處理效果。 將改進的粗糙集理論應用到無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類過程中。 在不完備的信息系統(tǒng)中,設定兩個隨機無線傳感器網(wǎng)絡靜態(tài)節(jié)點的差異度為Sa(x,y),對應的計算式如下:
式中:g(a)和g(b)分別代表節(jié)點數(shù)據(jù)對應的屬性值;gmax和gmin分別代表節(jié)點數(shù)據(jù)的最大屬性值和最小屬性值。
由于網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)的不完備性,需要根據(jù)得到的節(jié)點數(shù)據(jù)差異度進行劃分處理,將明確屬性的節(jié)點數(shù)據(jù)劃分到對應的類中[14-15]。 為了避免在劃分過程中出現(xiàn)劃分結果不準確的問題,需要引入閾值展開進一步的計算和分析,設定無線傳感器網(wǎng)絡靜態(tài)節(jié)點之間的綜合差異度Fb(x,y)為:
式中:m代表無線傳感器網(wǎng)絡靜態(tài)節(jié)點總數(shù)。
在不對數(shù)據(jù)造成損失的情況下,需要確保數(shù)據(jù)的綜合處理效果得到明顯提升,通過錯誤分類率中的變精度粗糙集構建改進的粗糙集模型,如式(10)所示:
式中:κ(x,y)代表改進后的粗糙集模型;在改進處理后的模型中,近似區(qū)域和各個參數(shù)之間存在密切的關聯(lián),假設參數(shù)的取值發(fā)生改變,則近似區(qū)域相應地也會發(fā)生改變。 在粗糙集模型中引入錯誤分類器,主要目的是進一步對模型進行優(yōu)化處理,進而獲取更大和更小的上下近似集,同時也為后續(xù)的無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類奠定堅實的基礎。 采用改進后的模型提取無線傳感器網(wǎng)絡靜態(tài)節(jié)點,詳細的操作流程如圖1 所示。
圖1 基于改進粗糙集理論的無線傳感器網(wǎng)絡靜態(tài)節(jié)點特征提取方法
通過式(11)計算隨機兩個節(jié)點之間的入度和出度相加的和C(uxy):
式中:eij代表傳感器網(wǎng)絡靜態(tài)節(jié)點的維度特征;D(x,y)代表傳感器網(wǎng)絡靜態(tài)節(jié)點的聚集系數(shù),通過節(jié)點的聚集系數(shù)描述節(jié)點對應的聚集程度,對應的計算式為:
經(jīng)過上述分析,引入支持向量機[16]建立無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類模型完成節(jié)點分類處理[17-18],詳細的操作步驟如下所示:
①為了提升分類模型的泛化能力,需要在支持向量機目標函數(shù)以及約束條件的基礎上加入松弛函數(shù)以及懲罰參數(shù)展開校正處理,進而獲取優(yōu)化處理后的目標函數(shù)p(x,y,z):
②通過拉格朗日優(yōu)化方法將相關函數(shù)的優(yōu)化問題轉換處理,形成對偶問題求解,詳細的操作步驟如下所示:
式中:S(x,y,z)代表對偶問題的求解結果。
③通過高斯核函數(shù)替換徑向基函數(shù),同時將全部無線傳感器網(wǎng)絡靜態(tài)節(jié)點特征映射到高維特征空間內(nèi),進行線性分類處理K(x,y,z),其計算式為:
④利用處理后的函數(shù)在高維特征空間內(nèi)建立最優(yōu)分類超平面,得到分類函數(shù),通過分類函數(shù)結合支持向量機建立無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類模型,將提取的靜態(tài)節(jié)點特征輸入到分類器中,通過上述步驟完成無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類處理。
為了驗證所提改進粗糙集理論的無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類算法的有效性,在Github 數(shù)據(jù)集中選取900 個節(jié)點作為仿真節(jié)點,將無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)輸入到分類模型中,計算節(jié)點之間的差異度后,利用四種方法提取無線傳感器網(wǎng)絡靜態(tài)節(jié)點特征,并將其輸入到分類器中,對節(jié)點進行分類處理。 仿真參數(shù)設置如表1 所示。
表1 仿真參數(shù)設置
選取四個指標評估各個算法的分類性能,分別為:
①正確率(Accuracy):正確分類節(jié)點在節(jié)點總數(shù)中所占據(jù)的比例,正確率越高說明該算法的分類性能越好;
②召回率(Recall):節(jié)點被正確劃分到所屬差別的比例,主要是用來衡量對節(jié)點的查找是否全面,召回率越高,查找效果越好;
③F1 值:是正確率和召回率兩者的綜合評估指標,F(xiàn)1 值越大,說明該算法的分類效果越好;
④能量消耗:是傳感器靜態(tài)節(jié)點分類過程中消耗的能量,消耗能量越小,分類效果越好。選取文獻[3]算法、文獻[4]算法和文獻[5]算法作為對比算法,仿真結果如下:
首先分析四種算法的Accuracy 變化情況,仿真結果如圖2 所示。
圖2 不同分類算法的Accuracy 結果對比
分析圖2 中的數(shù)據(jù)可知,各個方法的Accuracy會隨著節(jié)點數(shù)量的變化而變化,文獻[3]算法、文獻[4]算法和文獻[5]算法的Accuracy 范圍分別為92.854% ~96.852%、92.002% ~95.411%和96.021%~97.215%,而所提算法的Accuracy 值始終高于96.852%。 因為所提算法對全部無線傳感器網(wǎng)絡靜態(tài)節(jié)點數(shù)據(jù)展開了濾波處理,所以后期獲取的無線傳感器網(wǎng)絡靜態(tài)節(jié)點正確率取值會更高一些,進一步驗證了所提算法的分類性能。
進一步分析四種不同分類算法的Recall 變化情況,仿真結果如圖3 所示。
圖3 不同分類算法的Recall 結果對比
從圖3 可以看出,各個算法的Recall 結果隨著節(jié)點數(shù)量的變化而變化,但是各個算法的變化幅度并不是很大。 在四種分類算法中,文獻[3]算法、文獻[4]算法和文獻[5]算法的Recall 范圍分別為93.854%~95.471%、92.220%~95.415%和96.102%~96.899%,而所提算法獲取的Recall 值始終高于97.321%,證明所提算法的召回率更高,查找更全面。
F1 值結果如圖4 所示。
圖4 不同分類算法的F1 值對比
由圖4 可知,在相同的節(jié)點數(shù)量下,文獻[3]算法的F1 值在95%左右,文獻[4]算法的F1 值在96%左右,文獻[5]算法的F1 值在96.5%左右,而所提算法的F1 值最高,在97%以上,說明所提算法的分類性能較好,驗證了所提算法的優(yōu)越性。
四種算法的能量消耗情況如圖5 所示。
圖5 不同分類算法的能量消耗結果對比
由圖5 中的數(shù)據(jù)可知,當節(jié)點數(shù)量呈直線上升時,各個分類算法產(chǎn)生的能量消耗也會相應增加。經(jīng)過對比分析可知,在四種算法中,文獻[3]算法、文獻[4]算法和文獻[5]算法的能量消耗范圍分別為15.66 J~105.69 J、16.99 J ~120.99 J 和15.52 J ~100.20 J,而所提算法的能量消耗在12.52 J~90.20 J,能量消耗最低。 主要是因為所提算法對節(jié)點數(shù)據(jù)展開了濾波處理,有效簡化了分類環(huán)節(jié),進而降低分類過程中產(chǎn)生的能量消耗,驗證了所提算法可有效降低傳感器靜態(tài)節(jié)點分類過程中的能量消耗。
為了更好區(qū)分無線傳感器網(wǎng)絡中不同類型的靜態(tài)節(jié)點,提出一種改進粗糙集理論的無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類算法。 仿真結果證明:
①所提算法的Accuracy 值始終高于96.852%,分類性能更好;②所提算法獲取的Recall 值始終高于97.321%,證明該算法查找更全面、查找效果最好;③所提算法的F1 值高于97%,說明該算法的分類效果更好;④所提算法的能量消耗在12.52 J ~90.20 J 之間,能量消耗最低,分類效果最好。
通過上述結果證明,采用所提算法對無線傳感器網(wǎng)絡靜態(tài)節(jié)點分類可以獲取高精度的分類結果,同時還可以有效降低分類過程中產(chǎn)生的能量消耗。