于浩
國網(wǎng)安徽省電力有限公司信息通信分公司,安徽 合肥 230041
從第一臺聯(lián)網(wǎng)的ATM(自動取款機),到第一臺聯(lián)網(wǎng)的筆記本電腦,再到第一個聯(lián)網(wǎng)的移動電話、第一臺聯(lián)網(wǎng)的汽車、第一只聯(lián)網(wǎng)的電表……,越來越多的設備通過蜂窩網(wǎng)、NFC、RF-ID、藍牙、ZigBee 和Wifi 等連接方式連到網(wǎng)絡上。根據(jù)華為公司的預測,到2025 年將有超過1000 億個物體(不包括個人寬帶用戶)被連接起來。任何物體,在任何時間和任何地點都能連接到網(wǎng)絡上,物聯(lián)網(wǎng)(Internet of Things,IoT)正在深刻地影響著人們的生產(chǎn)和生活。在物聯(lián)網(wǎng)中,各種無線傳感器將從物理世界獲取到的信息(信息獲取功能),通過泛在的連接和網(wǎng)絡管道傳送給各種智能的應用進行信息加工和決策(信息處理功能),智能應用將決策的結(jié)果施效到物理世界里,將關注的對象控制在預期的運動狀態(tài)(信息的施效功能)。在這個過程中,泛在的連接充當了非常重要的角色,尤其是處于網(wǎng)絡邊緣的無線傳感器網(wǎng)絡,它們需要支持多樣性的連接方式。但是,有源標簽使用的射頻技術是多種多樣的,比如標簽使用的射頻技術可以是RFID、BLE 或Zig Bee 的。接入設備如何快速融合IoT 領域多樣化的無線接入方式,是需要解決的問題,為了解決無線傳感器網(wǎng)絡數(shù)據(jù)丟失異常問題,本文利用KNN 結(jié)合BP 神經(jīng)網(wǎng)絡提出網(wǎng)絡預測模型,增強無線傳感器網(wǎng)絡的可靠性。
指數(shù)平滑預測模型是由羅伯特.布朗首次提出的,該模型的遵循時間序列特征,事物的預測應該滿足規(guī)則性和穩(wěn)定性,在時間刻度上,相鄰更近的結(jié)果越可能在未來預測模型的權重更大,結(jié)合模型中的每個時間序列的指數(shù)平滑數(shù)值與之前的一小段時間的指數(shù)平滑值參考加權法平均,可以采用一次指數(shù)的加權平均,也可以使用二次指數(shù)的加權平均,利用指數(shù)平滑值進行預測,其數(shù)學一次和二次指數(shù)平滑的數(shù)學模型如式子(1)和式子(2)所示。
其中st代表一次指數(shù)平滑數(shù)值,α代表權重,每個時間段的數(shù)據(jù)為yt,下一時間段要預測的數(shù)據(jù)則是yt+1,而二次指數(shù)的模型的系數(shù)權重值要根據(jù)式子(3)計算出,通過測定這些系數(shù),計算出二次指數(shù)平滑的預測值。
目前該模型預測方法實現(xiàn)較為簡單,主要是利用一段時間序列內(nèi)的數(shù)值受到周期性影響后,來預算未來時間內(nèi)時間發(fā)生的可能性,其數(shù)學模型的表達如式子(4)所示,通過移動平均的方法減少不明確波動的作用,其中預測值為wt+1,N代表樣本的總數(shù)。
灰色預測模型是介于白盒預測與黑盒預測之間的預測方法,相比于白盒中要素全部明顯和黑盒預測中的要素未知狀態(tài),灰色預測方法主要針對部分要素未知和已知的狀態(tài)。在時間尺度上,事件序列有n個要素,其表示為式子(5)所示,隨著時間推移,事件狀態(tài)進行積累,新的序列值為式子(6)所示,該序列的微分方程如式子(7)所示。
其中的參數(shù)μ指明內(nèi)生的控制灰值,α為發(fā)展灰數(shù)。利用最小二乘法求解得到預測模型的數(shù)學表達為式子(8)所示,其中X1(k+1)為預測值。
BP 神經(jīng)網(wǎng)絡的模型由輸出節(jié)點輸出模型和隱含層節(jié)點輸出模型組成,該神經(jīng)網(wǎng)絡模型具有反向誤差反饋的特征,是一種具有多層傳遞函數(shù)的學習型網(wǎng)絡,其網(wǎng)絡架構如圖1 所示,它具有三個層次,這三層分別是輸入層、中間層以及輸出層,輸入層獲取外界的信息,將信息傳遞給中間層,經(jīng)過中間層的各個神經(jīng)元的計算,傳遞給輸出層,在中間層的過程中,可以由單隱藏層或多隱藏層來處理。
圖1 BP 神經(jīng)網(wǎng)路結(jié)構Fig.1 BP neural network structure
隱藏層節(jié)點到輸出層節(jié)點的權重不同,連接權重系數(shù)分成兩部分,由輸入層節(jié)點Df連接到中間層節(jié)點Dm的權重系數(shù)設為wfm,而中間層節(jié)點Dm到輸出層節(jié)點Dj設為wmj,指明當輸出層將信息輸出給外界時,會將輸出值與實際值進行對比,當誤差達到無法滿足系統(tǒng)要求時,通過反向傳播的方式,調(diào)整修正各層節(jié)點的權重值。在這個權重值不斷修改的過程也是神經(jīng)網(wǎng)絡進行訓練學習的過程,在這個學習的過程中采用最速下降法,直至達到訓練模型的目的,后者滿足預定設置的神經(jīng)網(wǎng)絡訓練次數(shù)。實現(xiàn)該神經(jīng)網(wǎng)絡的算法流程如圖2 所示,隱藏層的誤差計算和自學習的數(shù)學模型表達式分別如式子(9)和(10)所示,在自學習的過程中網(wǎng)絡中順序傳播方向與反向傳播的過程是反復交替出現(xiàn)的,而在物聯(lián)網(wǎng)的預測模型中需要將網(wǎng)絡中的變量進行歸一化的處理。
其中,tpi代表節(jié)點i的期望輸出值,而Opi則是指對于節(jié)點i來說的實際輸出值。式子(10)中的m作為學習因子,α代表動量因子,φ和O都代表是計算誤差值。
圖2 BP 神經(jīng)網(wǎng)絡算法流程Fig.2 BP neural network algorithm process
K近鄰算法主要是用來計算待測樣本數(shù)據(jù)與總體樣本數(shù)據(jù)的距離,然后將最相鄰的樣本數(shù)據(jù)作為決策對象來使用該算法。KNN 算法中最為重要的部分就是三要素,分別是k值的選取、分類決策的方式以及如何度量距離。其基本思想可以理解為對于某個未知樣本數(shù)據(jù)與從樣本集合中k個樣本是最近鄰的關系,當這k個樣本符合一個具體的類別時,也就確定了未知樣本是也屬于該類別。其中的相似度表示形式是通過歐拉距離來進行度量,其表達式如式子(11)所示。
其中,Vi=(vi1,vi2,…,vin)作為一個樣本,表達式的值越小,說明歐拉距離越小,越是滿足最近鄰的條件,兩個樣本的相似度越大,當使用KNN 算法時,應進行適當?shù)匦拚?,改為式子?2),表明只有正常的數(shù)據(jù)值參與運算,用于預測。
對于k值的選取分析,k值對預測結(jié)果具有很大的影響,較小的k值造成分類的不準確,無法體現(xiàn)樣本的實際意義,而較大的k值則會引入無關的樣本數(shù)據(jù),造成樣本分類精度的下降。對于KNN算法的衡量可采用均方差來表示,用來描述樣本的分布程度,如式子(13)所示,其中,為期望值,xi代表每個樣本數(shù)據(jù),n代表數(shù)據(jù)樣本總數(shù)。
KNN 算法結(jié)合BP 神經(jīng)網(wǎng)絡的預測模型如圖3 所示,該預測模型的預測流程是首先將輸入數(shù)據(jù)輸入到判斷窗口,當存在異常值時,會經(jīng)過KNN 算法的校正,將丟失的數(shù)據(jù)或者是異常的數(shù)據(jù)值由KNN 算法估計值來代替,然后將修正的值傳遞到BP 神經(jīng)網(wǎng)絡中進行學習訓練,建立起基于正確輸入數(shù)據(jù)的模型,BP 神經(jīng)網(wǎng)絡則是依賴于知識庫中的數(shù)據(jù)不斷進行訓練,最后給出預測值。
圖3 結(jié)合KNN 的BP 神經(jīng)網(wǎng)絡預測流程圖Fig.3 BP neural network prediction flow chart combined with KNN
對訓練樣本數(shù)據(jù)流程進行算法描述,首先假設輸入的數(shù)據(jù)的原始樣本為W,數(shù)量為n個,最后得到訓練后的樣本為WKNN,在數(shù)學上的處理,可以將初始樣本W(wǎng)分成兩個結(jié)合W1和W2,對于變量i滿足i∈(0,N]的自然數(shù),針對每一個Wi,考查數(shù)據(jù)是否正常,不正常將其剔除,置于W2異常數(shù)據(jù)集合,如果正常,則置于W1正常數(shù)據(jù)集合。而對于異常數(shù)據(jù)集合W1,利用KNN 的方法,在正常數(shù)據(jù)集合W1中選取k個最近鄰樣本數(shù)據(jù),然后通過計算出k個最近鄰的權重系數(shù),從而得到W2KNN,處理完成后對集合合并成WA,訓練結(jié)束后預測新樣本,利用新的集合輸入到BP 神經(jīng)網(wǎng)絡中,進行模型預測。此時對輸入的新樣本Y,預測結(jié)果。假設μ1為KNN 方法初步的預測概率,當樣本Y滿足矯正條件,從WA中選取k個最近鄰,計算取代異常值權重后,組成新的集合YA,找到樣本YA屬于某類別的概率為P1,再利用BP 神經(jīng)網(wǎng)絡對YA預測,得到P2中概率值最大的類別。α、β分別表示KNN 與BP 神經(jīng)網(wǎng)絡進行預測的置信度權重系數(shù),應滿足α+β=1。
為了對模型的預測誤差進行分析,選取安放在不同大樓外的位置的無線傳感器,設置對比實驗組,在相同的時間段內(nèi)采取諸如光照、濕度、溫度和氣壓等參數(shù)來對比,依照這些氣候參數(shù)來預測未來幾天無線傳感器所在位置的天氣狀況,分析哪種模型預測得更加精準。為了簡單起見,主要將預測環(huán)境的天氣結(jié)果分為下雨、陰天和晴天。選取200 條數(shù)據(jù)樣本作為輸入,同時設定k值為5,預測算法的置信度權重設置為α=0.3、β=0.7,異常數(shù)據(jù)個數(shù)大于3 時,判斷為無效樣本,所以針對異常個數(shù)分別為0、1、2、3 時分析預測結(jié)果。實驗的對比結(jié)果如表1 所示。
表1 訓練數(shù)據(jù)集的模型預測結(jié)果Table 1 Model prediction results of training data
由上表,可以分析出當異常數(shù)目增加后,普通的BP 神經(jīng)網(wǎng)絡的預測能力開始下降,準確性有所降低,并不能適應無線傳感器易于數(shù)據(jù)異常的場景,而結(jié)合KNN 的BP 神經(jīng)網(wǎng)絡的預測能力基本一致,適應能力很強,當異常數(shù)目保持在一定數(shù)值范圍內(nèi),預測準確幾乎不受影響,更適用于無線傳感器擺放較為分散的特點,保證輸入的數(shù)據(jù)樣本的完整性。
本文針對于物聯(lián)網(wǎng)場景中無線傳感器數(shù)據(jù)容易出現(xiàn)異常的特點,首先分析BP 傳統(tǒng)的預測模型,然后提出利用BP 神經(jīng)網(wǎng)絡結(jié)合KNN 算法來解決的方法,K近鄰算法對于調(diào)整補充異常值具有良好的數(shù)據(jù)穩(wěn)定性,增強了預測模型的準確性,該方法相比于傳統(tǒng)的BP 神經(jīng)網(wǎng)絡算法具有更高效的算法實現(xiàn),均方差更小,對于確保在樣本數(shù)據(jù)值沒有丟失和突變的情況下,保證預測數(shù)據(jù)模型具有最好的預測意義。對于沒有屬性經(jīng)驗的樣本數(shù)據(jù),計算出經(jīng)驗預測值往往是困難的,而采用文中的預測模型具有更明顯的算法優(yōu)勢,使用該種方法并在實際的案例中應用該方法,具有一定的參考價值。在后續(xù)的研究中,還會繼續(xù)展開優(yōu)化該預測模型,例如可以引入深度學習的方式來訓練模型,利用信息融合技術,進一步地提高在物聯(lián)網(wǎng)環(huán)境中無線傳感器網(wǎng)絡的預測精度與效率。