岳小冰,郝 倩
(河南工業(yè)職業(yè)技術(shù)學(xué)院 電子信息工程系,南陽 473000)
近年來,隨著移動終端技術(shù)的成熟,無線通信的成本低,因此無線網(wǎng)絡(luò)應(yīng)用范圍不斷拓寬.在無線網(wǎng)絡(luò)的應(yīng)用中,位置信息至關(guān)重要,尤其是室內(nèi)定位[1].在室內(nèi)環(huán)境中,全球定位系統(tǒng)(GPS)無法使用,同時室內(nèi)定位易受室內(nèi)環(huán)境的干擾,無線信號變化十分快,因此室內(nèi)定位一直是無線網(wǎng)絡(luò)研究領(lǐng)域中的重大課題[2,3].
針對無線網(wǎng)絡(luò)的室內(nèi)定位問題,國內(nèi)外學(xué)者進行了大學(xué)的研究,提出了許多有效的室內(nèi)定位方法[4].根據(jù)定位原理,室內(nèi)定位可以分為:基于距離和基于信號強度的兩類定位方法[5],基于距離的室內(nèi)定位方法要求測量節(jié)點之間的距離,定位成本低,而且定位精度比較,實際應(yīng)用價值不高[6].基于信號強度室內(nèi)定位方法采用信號有多,其中接收信號強度(Received Signal Strength Indication,RSSI)使用最為廣泛[7].當(dāng)前基于RSSI的無線網(wǎng)絡(luò)室內(nèi)定位方法通常采用一定的算法對節(jié)點位置進行估計,當(dāng)前主要采用K最近鄰算法、支持向量機、神經(jīng)網(wǎng)絡(luò)等[8-10],其中K最近鄰算法的計算復(fù)雜高,導(dǎo)致無線網(wǎng)絡(luò)室內(nèi)定位方法的定位效果差,而支持向量機的訓(xùn)練過程耗時比較長,室內(nèi)定位效率低,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度快,在無線網(wǎng)絡(luò)室內(nèi)定位建模中應(yīng)用最為廣泛.但是標準神經(jīng)網(wǎng)絡(luò),如BP神經(jīng)網(wǎng)絡(luò)存在收斂速度慢,參數(shù)難以確定等問題[11,12].
為了提升無線網(wǎng)絡(luò)室內(nèi)定位的效果,針對當(dāng)神經(jīng)網(wǎng)絡(luò)存在無線網(wǎng)絡(luò)室內(nèi)定位精度的難題,設(shè)計了一種基于改進神經(jīng)網(wǎng)絡(luò)的無線網(wǎng)絡(luò)室內(nèi)定位方法(ACOBPNN).首先提取室內(nèi)定位的數(shù)據(jù),然后采用神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行學(xué)習(xí),建立無線網(wǎng)絡(luò)定位模型,并對神經(jīng)網(wǎng)絡(luò)的缺陷進行改進,最后在Matlab平臺上進行了仿真實驗.
BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程由信息的正向傳播和誤差的反向傳播組成,由輸入層、隱含層和輸出層構(gòu)成,采用最速下降法學(xué)習(xí)規(guī)則,首先BP神經(jīng)網(wǎng)絡(luò)為信息的正向傳播;然后為誤差的反向傳播,不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使誤差信號變小,一直到輸出值和期待值的誤差減小到規(guī)定范圍內(nèi),就可以得到相應(yīng)的輸出值.
(1)輸入層、隱層和輸出層的節(jié)點為N、L和M,輸 入 為X=[x0,x1,···,xN-1],隱 含 層 輸 出 為H=[h0,h1,···,hL-1],實際輸出為Y=[y0,y1,···,yM-1],目標輸出為D=[d0,d1,···,dM-1],輸入層節(jié)點i和隱含層節(jié)點j的權(quán)重為Vij,隱含層節(jié)點j和輸出層節(jié)點k的權(quán)重為Wik,輸出和隱含層閾值分別為θk和φj.設(shè):
隱含層節(jié)點的輸出為:
輸出層節(jié)點的輸出為:
(2)計算yk和dk之間的輸出誤差項為:
(3)權(quán)重調(diào)整量的計算公式為:
式中,η表示學(xué)習(xí)速率.
(4)網(wǎng)絡(luò)權(quán)重調(diào)整方式為
(5)繼續(xù)迭代,直到預(yù)測的誤差達到預(yù)定要求,得到最優(yōu)權(quán)重Vij和Wjk.
人工蜂群(ABC)算法模擬蜜蜂的采蜜過程,通過不同角色蜜蜂間的交流,轉(zhuǎn)換和協(xié)作來實現(xiàn)群體智能,包括引領(lǐng)蜂,跟隨蜂和偵察蜂.引領(lǐng)蜂和食物源的數(shù)量一樣,用于存儲食物源信息,并把食物源信息分享給跟隨蜂;跟隨蜂在舞蹈區(qū)等待引領(lǐng)蜂來分享食物源信息,通過觀察引領(lǐng)蜂的舞蹈,選擇最優(yōu)引領(lǐng)蜂進行跟隨;偵察蜂在蜂巢附近搜索食物源,找到新的食物源.設(shè)有n個食物源X=(X1,X2,···,Xn),第i個食物源位置為D維的向量Xi=[xi1,xi2,···,xiD]T,(i=1,2,…,n),代表優(yōu)化問題的一個可能解.食物源的適應(yīng)度值計算公式:
式中,f為目標函數(shù)值.
首先,通過式隨機初始化n個食物源的位置:
式中,(xij)max和(xij)min為xij的上界和下界;rand(0,1)為隨機數(shù).
引領(lǐng)蜂首先對相應(yīng)的食物源進行一次鄰域搜索,用式(12)來表示:
如果新食物源要優(yōu)于原來的食物源,那么就用新食物源位置去替代原來位置,當(dāng)全部引領(lǐng)蜂完成搜索后,將食物源信息傳達給跟隨蜂.跟隨蜂根據(jù)相關(guān)概率Pi選擇一個引領(lǐng)蜂進行跟隨,Pi計算公式為:
當(dāng)跟隨蜂選擇食物源后,需要對食物源進行鄰域搜索,并保留適應(yīng)度較高的食物源.若食物源經(jīng)過引領(lǐng)蜂和跟隨蜂limit次循環(huán)后,仍然沒有被替換,那么該位置被放棄,此時引領(lǐng)蜂轉(zhuǎn)變?yōu)閭刹旆?隨機搜索一個食物源替換原食物源.
ACO-BPNN的無線網(wǎng)絡(luò)室內(nèi)定位原理為:首先采集室內(nèi)定位的數(shù)據(jù),然后采用BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)進行學(xué)習(xí),采用ABC算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,最后建立無線網(wǎng)絡(luò)室內(nèi)定位模型,具體如圖1所示.
圖1 ACO-BPNN的室內(nèi)定位流程
改進神經(jīng)網(wǎng)絡(luò)的無線網(wǎng)絡(luò)室內(nèi)定位步驟為:
(1)采集室內(nèi)定位的數(shù)據(jù),并進行歸一化處理.
(2)根據(jù)采集的數(shù)據(jù)確定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu).
(3)初始化ABC算法的相關(guān)參數(shù).
(4)隨機產(chǎn)生食物源位置Xi=[xi1,xi2,···,xiD]T,D為解的維數(shù),D其值為:
秀容月明因?qū)Ρ镜夭皇?,就拜托叢時敏去幫他配一味毒藥,他服了藥,去見梨友,一個時辰內(nèi)就毒發(fā)身亡。那樣,桂州六十萬百姓的性命保住了,他也不至于受辱??伤粎矔r敏騙了,叢時敏早就降了胡人。
式中,M、H和N為輸入層、隱含層、輸出層的節(jié)點數(shù).
(5)將食物源Xi反編碼為神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,對訓(xùn)練樣本進行學(xué)習(xí),得到目標函數(shù)值為:
式中,di和tk分別為實際和目標輸出,n為訓(xùn)練樣本數(shù).
(6)重復(fù)上述步驟,得到所有食物源的適應(yīng)度值.
(7)引領(lǐng)蜂在鄰域內(nèi)產(chǎn)生新解Vi,根據(jù)貪婪原則選擇Xi和Vi的最優(yōu)者進入下一代.
(8)跟隨蜂估計Pi,根據(jù)Pi在Xi鄰域產(chǎn)生新解Vi,采同樣的方式選Xi和Vi間最優(yōu)者保留下來.
(9)若連續(xù)limit次搜索后,一個解沒有得到明顯改善,那就就要放棄該解,此時引領(lǐng)蜂變?yōu)閭刹旆?并產(chǎn)生一個新解Vi.
(10)選擇目前最優(yōu)的解.
(11)當(dāng)尋優(yōu)終止后,最優(yōu)解對應(yīng)的連接權(quán)值和閾值賦給神經(jīng)網(wǎng)絡(luò),重新對樣本進行學(xué)習(xí),建立無線網(wǎng)絡(luò)室內(nèi)定位模型.
為測試改進神經(jīng)網(wǎng)絡(luò)(ABC-BPNN)的無線網(wǎng)絡(luò)室內(nèi)定位效果,選擇一個如圖2所示的仿真場景進行仿真實驗,采用Matlab 2014工具箱編程實現(xiàn)改進神經(jīng)網(wǎng)絡(luò)算法.
圖2 仿真場景
無線網(wǎng)絡(luò)室內(nèi)定位誤差的計算公式為:
式中,(x,y)表示實際節(jié)點位置;(x′,y′)為估計位置.
在相同實驗環(huán)境下,采用標準BP神經(jīng)網(wǎng)絡(luò)(BPNN)、K最近鄰算法(KNN)、遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)(GA-BPNN)作為對比方法,統(tǒng)計它們的定位誤差,結(jié)果如圖3所示,從圖3可以看出,在所有方法,KNN的定位誤差最大,其次為BPNN,定位誤差最小者為ABC-BPNN,這是因為ACO-BPNN通過ACO算法對BP神經(jīng)網(wǎng)絡(luò)的參數(shù)進行優(yōu)化,獲得了比遺傳算法、梯度下降算法更優(yōu)的參數(shù),建立了更優(yōu)的無線網(wǎng)絡(luò)室內(nèi)定位模型,提高了無線網(wǎng)絡(luò)室內(nèi)定位精度,有效降低了無線網(wǎng)絡(luò)室內(nèi)定位誤差.
圖3 各種方法的定位誤差對比
不同方法的訓(xùn)練時間和測試時間對比,結(jié)果如圖4所示.從圖4可知,所有算法的訓(xùn)練時間均要高于測試時間,這是因為訓(xùn)練過程的計算復(fù)雜相對更高,迭代次數(shù)更多,在相同條件下,ACO-BPNN的訓(xùn)練時間和測試時間均要小于對比方法,提高了無線網(wǎng)絡(luò)室內(nèi)定位的效率,加快了無線網(wǎng)絡(luò)室內(nèi)定位速度,實際應(yīng)用范圍更加廣泛.
圖4 不同方法的執(zhí)行時間對比
針對神經(jīng)網(wǎng)絡(luò)在無線網(wǎng)絡(luò)室內(nèi)定位中存在的不足,設(shè)計了一種基于ACO-BPNN的無線網(wǎng)絡(luò)室內(nèi)定位方法,引入ABC算法對神經(jīng)網(wǎng)絡(luò)參數(shù)——連接權(quán)值和閾值進行優(yōu)化,克服當(dāng)前方法存在的缺陷,通過具體對比實驗測試其有效性,結(jié)果表明,ACO-BPNN加快了訓(xùn)練和測試速度,提高了無線網(wǎng)絡(luò)室內(nèi)定位精度,具有十分廣泛的應(yīng)用前景.
1Gu YY,Lo A,Niemegeers I.A survey of indoor positioning systems for wireless personal networks.IEEE Communications Surveys &Tutorials,2009,11(1):13-32.
2Li M,Liu YH.Rendered path:Range-free localization in anisotropic sensor networks with Holes.IEEE/ACM Transactions on Networking,2010,18(1):320-332.[doi:10.1109/TNET.2009.2024940]
3Kushki A,Plataniotis KN,Venetsanopoulos AN.Intelligent dynamic radio tracking in indoor wireless local area networks.IEEE Transactions on Mobile Computing,2010,9(3):405-419.[doi:10.1109/TMC.2009.141]
4田勇,唐禎安,喻言.室內(nèi)無線傳感器網(wǎng)絡(luò)信道傳輸模型及統(tǒng)計分析.控制與決策,2014,29(6):1135-1138.
5倪巍,王宗欣.基于接收信號強度測量的室內(nèi)定位算法.復(fù)旦學(xué)報(自然科學(xué)版),2004,43(1):72-76.
6夏俊,俞暉,羅漢文.基于多傳感器數(shù)據(jù)融合的室內(nèi)定位算法.上海師范大學(xué)學(xué)報(自然科學(xué)版),2015,44(1):65-71.
7張明華,張申生,曹健.無線局域網(wǎng)中基于信號強度的室內(nèi)定位.計算機科學(xué),2007,34(6):68-71,75.
8劉召偉,徐鳳燕,王宗欣.基于參數(shù)擬合的室內(nèi)多用戶定位算法.電波科學(xué)學(xué)報,2008,23(6):1090-1094,1105.
9徐鳳燕 ,石鵬,王宗欣.基于參數(shù)擬合的距離-損耗模型室內(nèi)定位算法.電路與系統(tǒng)學(xué)報,2007,12(1):1-5(請核對本條文獻序號).
10林以明,羅海勇,李錦濤,等.基于動態(tài)Radio Map的粒子濾波室內(nèi)無線定位算法.計算機研究與發(fā)展,2011,48(1):139-146.
11張勇,黃杰,徐科宇.基于PCA-LSSVR算法的WLAN室內(nèi)定位方法.儀器儀表學(xué)報,2015,36(2):408-414.
12張會清,石曉偉,鄧貴華,等.基于BP神經(jīng)網(wǎng)絡(luò)和泰勒級數(shù)的室內(nèi)定位算法研究.電子學(xué)報,2012,40(9):1876-1879.
13李瑛,胡志剛.一種基于BP神經(jīng)網(wǎng)絡(luò)的室內(nèi)定位模型.計算機技術(shù)與自動化,2007,26(2):77-80.