高 媛,陽 媛,王鴻磊
(1.徐州工業(yè)職業(yè)技術(shù)學(xué)院 信息工程學(xué)院,江蘇 徐州 221000;2.東南大學(xué) 儀器科學(xué)與工程學(xué)院, 江蘇 南京 210096;3.中國礦業(yè)大學(xué) 信息與控制學(xué)院,江蘇 徐州 221000)
目前,為實現(xiàn)更加精準(zhǔn)的室內(nèi)定位,有研究人員開始應(yīng)用人工神經(jīng)網(wǎng)絡(luò)等人工智能理論結(jié)合接收信號強度RSSI(received signal strength indication)進行室內(nèi)定位[1,2]。其中,廣義回歸神經(jīng)網(wǎng)絡(luò)(generalized regression neural network,GRNN)非線性映射能力強,數(shù)據(jù)擬合能力和學(xué)習(xí)速度也更優(yōu)[3],十分適合室內(nèi)定位。其模型結(jié)構(gòu)簡單,預(yù)測性能很大程度上取決于參數(shù)σ的取值,而σ取值時主觀影響較大[4],需要尋找一種優(yōu)化σ取值的方法來實現(xiàn)高精度定位?;依莾?yōu)化算法(grey wolf optimizer,GWO)[5]是一種新興的群智能優(yōu)化算法,收斂性能較強、參數(shù)少、易實現(xiàn),可用于優(yōu)化參數(shù),被許多研究者廣泛采用,但GWO算法在尋優(yōu)過程中容易陷入局部最優(yōu)。為進一步提升GWO算法的性能,文獻[6]利用混沌Cat映射、粒子群算法個體記憶功能、高斯變異擾動和優(yōu)勝劣汰選擇規(guī)則來優(yōu)化算法。文獻[7]引入了混沌算法、改進了收斂因子,并對δ狼進行了融合變異。文獻[8]采用改進的精英反向?qū)W習(xí)策略產(chǎn)生精英反向個體,避免算法早熟收斂。文獻[9]在種群初始化、平衡全局和局部探索能力方面做出了改進,同時進行了Cauchy變異操作。但是以上4種改進算法并沒有對位置更新策略進行改進,且全局和局部搜索能力的協(xié)調(diào)不夠靈活,尋優(yōu)能力和尋優(yōu)效率還有待提高。本文提出一種改進的灰狼優(yōu)化算法(improved grey wolf optimizer,IGWO),通過對種群初始化的改進、控制參數(shù)的對數(shù)式調(diào)整以及適應(yīng)度權(quán)值的引入,經(jīng)過多次迭代,可獲得更佳的適應(yīng)度值和更快的收斂速度。同時將IGWO引入到GRNN模型中,利用IGWO優(yōu)化平滑因子σ的取值,建立最優(yōu)GRNN神經(jīng)網(wǎng)絡(luò)模型,準(zhǔn)確定位待測節(jié)點的三維位置。
GRNN神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示,由輸入層、模式層、求和層和輸出層4部分構(gòu)成[10]。
圖1 GRNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
將模型的輸入向量表示為X=[X1,X2,…Xm]T,輸出向量表示為Y=[y1,y2,…yn]T,聯(lián)合概率密度函數(shù)表示為f(X,y),y的觀測值為Y,假定f(X,y)服從正態(tài)分布,則
(1)
式中:m為輸入向量X的維度;n為學(xué)習(xí)樣本數(shù);σ為高斯函數(shù)的寬度系數(shù),即GRNN網(wǎng)絡(luò)的平滑因子。Xi為第i個輸入向量,Yi為第i個輸出向量。
y相對于X的回歸為
(2)
在已知概率密度函數(shù)的情況下,由式(1)、式(2)計算可得
(3)
將室內(nèi)定位時實際測量到的RSSI值作為輸入向量輸入GRNN模型,則可根據(jù)式(3)預(yù)測出被測目標(biāo)的真實位置。GRNN模型結(jié)構(gòu)簡單,當(dāng)樣本數(shù)據(jù)確定后,綜上可知,進行網(wǎng)絡(luò)預(yù)測只需確定平滑因子σ,σ的取值直接影響著GRNN模型的泛化能力和預(yù)測精度[4,11],所以適中的σ取值極其重要。本文采用改進的灰狼算法IGWO來優(yōu)化平滑因子σ的取值。
灰狼算法是一種根據(jù)灰狼群體捕食而提出的智能算法,獵物代表最優(yōu)解,每只灰狼的位置代表一個可能的解[12]?;依侨涸诓东C過程中有著嚴(yán)格的社會等級制度,領(lǐng)導(dǎo)能力最強的灰狼被記為α,是適應(yīng)度最佳、離最優(yōu)解最近的狼;β狼和δ狼是適應(yīng)度次于α狼的兩種個體,獵捕過程中它們會協(xié)助α狼管理狼群以及決策出現(xiàn)的問題,同時也是α狼的候選者;剩余的狼記為ω,負(fù)責(zé)平衡狼群內(nèi)務(wù)關(guān)系以及協(xié)助攻擊獵物[13,14]。
GWO算法的數(shù)學(xué)模型具體描述如下:
Di=|C·Xp(t)-Xi(t)|
(4)
C=2·r2
(5)
其中,Di為灰狼個體i與獵物間的距離,Xp(t)和Xi(t)分別為t次迭代時獵物和灰狼個體i所處的位置,C為擺動因子。
狼群要根據(jù)獵物方位對自己位置進行更新,其數(shù)學(xué)描述如下
Xi(t+1)=Xp(t)-A·Di
(6)
A=2a·r1-a
(7)
a=2-t/tmax
(8)
A為協(xié)同系數(shù)向量,變量a隨著迭代次數(shù)的增加從2線性減少到0,tmax為最大迭代次數(shù),r1,r2表示[0,1]間的隨機數(shù)。
包圍獵物后,β狼和δ狼在α狼的帶領(lǐng)下開始追捕獵物,灰狼的位置會隨著獵物逃跑而改變,需要更新α、β、δ狼的位置來重新確定最優(yōu)解,而其它灰狼個體則根據(jù)α、β、δ狼的位置來調(diào)整自己的位置,用Xi(t+1)表示。具體公式為
(9)
(10)
(11)
在一次捕獵的過程中,伴隨著參數(shù)和迭代次數(shù)的不斷調(diào)整,最終找到全局最優(yōu)解。
2.2.1 種群初始化的改進
在傳統(tǒng)灰狼算法中,初始的狼群種群是隨機生成的[15],種群的隨機分布會使得初始解的個體不能遍歷整個搜索空間,造成較優(yōu)解的丟失,還可能會陷入局部最優(yōu)值,降低了算法的尋優(yōu)能力。而具有均勻分布的初始化種群可以一定程度上提高算法的尋優(yōu)效果。本文采用文獻[16]提出的佳點集方法初始化灰狼種群,以獲得更均勻穩(wěn)定的初始種群分布。
設(shè)狼群初始種群數(shù)為N,搜索空間的維數(shù)為D,則有
rd=ed,1≤d≤D
(12)
佳點集中第i個點的第d維可表示為
(13)
將佳點集映射到灰狼初始種群,搜索空間為1維,則第i個灰狼的1維空間的值為
Xi=l1+ri1(u1-l1),i=1,2,…,N
(14)
式中:u1和l1分別為灰狼個體的1維空間的上下限。
取灰狼種群數(shù)量為50,灰狼個體的1維值分布在[0,1]中,使用佳點集方法獲得的初始種群分布的數(shù)據(jù)見表1,使用隨機生成法和佳點集方法的種群分布如圖2所示。
表1 佳點集獲取初始分布數(shù)據(jù)
圖2 兩種方法獲取初始種群分布情況
從表1和圖2可以看出,佳點集構(gòu)造的初始種群分布更加均勻,且沒有重復(fù)的個體,從而更有助于算法遍歷整個搜索空間,有效避免局部最優(yōu)。
2.2.2 控制參數(shù)的對數(shù)式調(diào)整
對群體智能優(yōu)化算法來說,全局和局部探索能力的協(xié)調(diào)至關(guān)重要。全局探索是群體需要搜索更廣泛的區(qū)域,避免算法陷入局部最優(yōu)[8];局部探索則是利用已有信息對某些鄰域進行密集搜索,決定著算法的收斂速度。使兩者協(xié)調(diào)的算法才能具備較強的魯棒性和較快的收斂速度。
由傳統(tǒng)灰狼位置更新公式可知,在平衡GWO算法的全局和局部探索能力方面,參數(shù)A的大小起到關(guān)鍵的作用。當(dāng)|A|>1時,灰狼群體擴大搜索范圍;當(dāng)|A|<1時,灰狼群體縮小搜索范圍。分別對應(yīng)于GWO算法的全局探索能力和局部探索能力。由式(7)可知,控制參數(shù)a決定A的值,a值越大,算法的探索能力越強;a值越小,搜索精度越高。由式(8)可知,控制參數(shù)a隨迭代次數(shù)t的增加線性減小,由2變化到0。但是,結(jié)合實際,GWO算法的尋優(yōu)過程是非常復(fù)雜的,尋優(yōu)前期和后期的側(cè)重點不同,要求也不一樣,控制參數(shù)a僅隨迭代次數(shù)t線性遞減不能反映出實際的尋優(yōu)過程。文獻[8]和文獻[9]提出了設(shè)計控制參數(shù)a隨迭代次數(shù)t進行非線性變化,由測試結(jié)果可知,改進后的GWO算法尋優(yōu)效果更佳。因此本文提出一種基于對數(shù)函數(shù)且曲率可變的控制參數(shù)計算方法,其表達式為
(15)
式中:μ為曲率參數(shù)。選取不同μ值,令tmax取500,控制參數(shù)a隨迭代次數(shù)t的變化如圖3所示。
圖3 控制參數(shù)a隨迭代次數(shù)t的變化
從圖3中可以看出,該控制參數(shù)計算方法對應(yīng)的曲線在尋優(yōu)前期時,a的變化幅度不斷變緩,有利于狼群的部署以及擴大搜索范圍,以得到全局最優(yōu)解;尋優(yōu)后期曲線變得越來越陡峭,有利于加快算法的收斂速度,增加狼群捕獵精度。隨著μ取值的不斷增大,曲線的曲率也不斷增大,實際應(yīng)用時,可根據(jù)實際需要適當(dāng)調(diào)整μ值,計算出的a能更好地協(xié)調(diào)全局與局部探索能力。
2.2.3 適應(yīng)度權(quán)值的引入
在α、β、δ狼隨著獵物的移動而更新自身的位置后,其它灰狼個體ω則根據(jù)α、β、δ狼的位置來調(diào)整自己的位置,由傳統(tǒng)灰狼算法可知,當(dāng)?shù)螖?shù)達到規(guī)定次數(shù)時,將α狼的位置作為全局最優(yōu)解輸出。所以,α狼的位置是最接近獵物的位置,ω狼位置更新時應(yīng)著重傾向于向α狼的位置移動,故本文引入適應(yīng)度權(quán)值。將α、β、δ狼的位置加權(quán)一定的系數(shù)后,得到ω狼的位置,這樣,能夠縮短整個狼群和獵物間的距離,增大捕獲的成功率,提高算法的尋優(yōu)效率。首先構(gòu)造適應(yīng)度函數(shù)計算灰狼個體的適應(yīng)度值,本文構(gòu)造適應(yīng)度函數(shù)為
(16)
式中:(x′j,y′j,z′j)是GRNN模型的第j個預(yù)測位置,(xj,yj,zj)是第j個樣本實際位置,M為測試位置樣本數(shù)。根據(jù)計算出的適應(yīng)度值選出值最小的3個灰狼個體,適應(yīng)度值按從小到大分別記為fα、fβ、fδ,將α、β、δ狼的適應(yīng)度權(quán)值分別記為:kα、kβ、kδ,數(shù)學(xué)表達式如式(17)~式(19)所示
(17)
(18)
(19)
由此計算ω狼的位置如式(20)所示
(20)
式中:X1i、X2i、X3i分別為α、β、δ狼更新后的位置。
將GRNN模型的參數(shù)平滑因子σ映射為灰狼種群中的灰狼,第i個灰狼個體表示為Xi={σi},i=1,2,…,N,基于IGWO-GRNN室內(nèi)3D定位算法的總體流程如圖4所示。
圖4 IGWO-GRNN室內(nèi)3D定位算法流程
其中,改進的灰狼優(yōu)化算法IGWO調(diào)整平滑因子的流程如圖5所示。
圖5 IGWO調(diào)整平滑因子的流程
本文將定位過程分為兩個階段:模型訓(xùn)練階段和三維坐標(biāo)預(yù)測階段。在模型訓(xùn)練階段,利用在測試場所采集到的RSSI值和對應(yīng)的測試節(jié)點實際三維坐標(biāo)樣本數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)并建立IGWO-GRNN模型;在三維坐標(biāo)預(yù)測階段,將待定位節(jié)點與信標(biāo)節(jié)點之間采集到的RSSI值輸入訓(xùn)練好的IGWO-GRNN模型中,神經(jīng)網(wǎng)絡(luò)的輸出即為待定位節(jié)點的三維坐標(biāo)。
具體步驟如下:
步驟1初始化算法參數(shù):灰狼種群規(guī)模N取值100,取值范圍介于[0,1]之間,最大迭代次數(shù)tmax=50,搜索空間維數(shù)D=1。
步驟2初始化灰狼個體位置Xi。采用式(14)的佳點集方法對狼群進行初始化,保證狼群較均勻分布。
步驟3按照式(16)構(gòu)造適應(yīng)度函數(shù)并計算所有灰狼個體的適應(yīng)度值。
步驟4根據(jù)計算出的適應(yīng)度值選出值最小的3個灰狼個體,并將其位置分別保存為Xα、Xβ、Xδ。
步驟5根據(jù)式(15)計算控制參數(shù)a,本文中曲率參數(shù)μ取值300,然后計算A、C
(21)
C=2rand(0,1)
(22)
rand(0,1)表示[0,1]上均勻分布的隨機數(shù)。
步驟6根據(jù)式(9)、式(10)、式(20)更新α、β、δ以及ω灰狼個體的位置。
步驟7判斷是否達到最大迭代次數(shù)tmax,如未達到,則返回步驟3,如達到,則輸出Xα作為最優(yōu)解,即得到最優(yōu)平滑因子σ。
步驟8輸入訓(xùn)練樣本集數(shù)據(jù)對神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,如滿足誤差要求,則訓(xùn)練完成,得到最優(yōu)GRNN定位模型,終止訓(xùn)練并保存模型,否則,重復(fù)步驟8。
步驟9將測試樣本集數(shù)據(jù)輸入最優(yōu)GRNN定位模型,獲得待定位節(jié)點三維坐標(biāo)。
我們將實驗選擇在一個12 m×10 m的辦公環(huán)境內(nèi),基于Zigbee定位系統(tǒng),準(zhǔn)備5個信標(biāo)節(jié)點(AP),分別放置在測試場所天花板的4個角落和中心位置,用來接收定位節(jié)點發(fā)送的數(shù)據(jù),測試場所內(nèi)存在各種障礙物。將測試區(qū)域劃分為120個小區(qū)域,每個小區(qū)域大小為1 m×1 m,小區(qū)域中心位置作為測試點。測試人員隨身攜帶定位節(jié)點,從(0,0)位置出發(fā),遍歷每個測試小區(qū)域。在每個測試點處,定位節(jié)點向5個信標(biāo)節(jié)點分別發(fā)送100個數(shù)據(jù)包,形成[RSSI1,RSSI2,RSSI3,RSSI4,RSSI5,(xi,yi,zi)]樣本數(shù)據(jù),i=1,2,3,…,120,作為樣本集數(shù)據(jù)。從120組樣本數(shù)據(jù)中抽取100組數(shù)據(jù)作為訓(xùn)練樣本集,剩余20組作為測試樣本集。將訓(xùn)練樣本集中的RSSI值作為網(wǎng)絡(luò)模型的輸入,訓(xùn)練神經(jīng)網(wǎng)絡(luò),對應(yīng)測試點的坐標(biāo)作為輸出,滿足誤差要求后,則得到最優(yōu)定位模型,再用測試樣本集數(shù)據(jù)來驗證該網(wǎng)絡(luò)模型的定位效果。
本文為了驗證IGWO-GRNN在室內(nèi)3D定位中的準(zhǔn)確性和優(yōu)越性,將IGWO-GRNN與GWO-GRNN和文獻[11]中提出的GA-GRNN以及將文獻[9]中提出的一種改進非線性收斂方式的灰狼優(yōu)化算法CGWO用于室內(nèi)3D定位進行比較。初始種群規(guī)模N取值100,平滑因子σ取值范圍設(shè)置在[0,1]之間,最大迭代次數(shù)tmax=50。其中本文算法IGWO中曲率參數(shù)μ取值300,CGWO算法的非線性調(diào)節(jié)系數(shù)k值直接取自文獻[9]中實驗性能最佳時的值。GWO、GA、CGWO和IGWO這4種算法的尋優(yōu)對比如圖6所示,從圖中可以看出,GWO算法在24代左右收斂,GA算法在34代左右收斂,CGWO算法在16代左右收斂,而IGWO算法在13代左右已經(jīng)收斂。同時可以看到,4種算法尋優(yōu)最終平穩(wěn)下來的適應(yīng)度值IGWO算法最低,GA算法最高。綜上表明,在算法的收斂速度方面和精準(zhǔn)度方面,IGWO都要明顯優(yōu)于另3種算法。
圖6 GWO、GA、CGWO和IGWO尋優(yōu)對比
通過上面4種算法不斷迭代更新,在尋優(yōu)結(jié)束時,得到各自最優(yōu)平滑因子σ。其中,GWO算法得到σ=0.572,GA算法得到σ=0.667,CGWO算法得到σ=0.407,IGWO算法得到σ=0.336。各自構(gòu)建神經(jīng)網(wǎng)絡(luò)模型,進行定位效果的比較。
GWO-GRNN、GA-GRNN、CGWO-GRNN和IGWO-GRNN這4種模型的定位效果如圖7所示。
將4種模型的定位誤差進行對比,如圖8所示,GA-GRNN模型的最大定位誤差是0.86 m,最小定位誤差是0.07 m,實際坐標(biāo)與模型輸出坐標(biāo)差在0.3 m內(nèi)的點只有8個,GWO-GRNN模型的最大定位誤差是0.61 m,最小定位誤差是0.03 m,實際坐標(biāo)與模型輸出坐標(biāo)差在0.3 m內(nèi)的點有13個,CGWO-GRNN模型的最大定位誤差是0.46 m,最小定位誤差是0.02 m,實際坐標(biāo)與模型輸出坐標(biāo)差在0.3 m內(nèi)的點有16個,而IGWO-GRNN模型的最大定位誤差是0.37 m,最小定位誤差是0 m,實際坐標(biāo)與模型輸出坐標(biāo)差在0.3 m內(nèi)的點有18個。由以上數(shù)據(jù)可知,GA-GRNN模型定位精度明顯低于GWO-GRNN模型。由文獻[11]實驗結(jié)果可知,GA-GRNN模型在定位精度和收斂速度上都優(yōu)于目前廣泛研究的FOA-GRNN以及BP神經(jīng)網(wǎng)絡(luò)算法。所以利用灰狼算法優(yōu)化GRNN平滑因子σ進而實現(xiàn)室內(nèi)3D定位是有明顯優(yōu)勢的。而將灰狼優(yōu)化算法進行改進后,CGWO-GRNN與IGWO-GRNN模型定位精度顯著提高,本文提出的IGWO-GRNN模型定位精度最高。
圖7 4種模型的定位效果
圖8 3種模型定位誤差對比
本文選用均方根誤差(RMSE)對模型的預(yù)測效果進行評價,公式如下
(23)
式中:(xi,yi,zi)為測試樣本集第i個樣本的真實位置,(x′i,y′i,z′i)為預(yù)測值,n為測試樣本集樣本數(shù),均方根誤差值越小,模型的預(yù)測性能越好。表2為4種模型的均方根誤差對比結(jié)果??梢钥闯觯珿A-GRNN模型的均方根誤差最大,IGWO-GRNN模型的最小,再次表明,利用IGWO優(yōu)化GRNN平滑因子σ,可以獲得更好的定位效果。
表2 4種模型的均方根誤差對比結(jié)果
本文提出一種基于IGWO-GRNN的室內(nèi)3D定位算法。該算法將待測節(jié)點與信標(biāo)節(jié)點間的RSSI值作為GRNN的輸入,待測節(jié)點的三維坐標(biāo)作為輸出,訓(xùn)練神經(jīng)網(wǎng)絡(luò)擬合RSSI值與三維坐標(biāo)最終建立網(wǎng)絡(luò)模型。該算法引入改進的灰狼算法IGWO優(yōu)化GRNN網(wǎng)絡(luò)的平滑因子σ,有效解決了因人為選擇參數(shù)不當(dāng)而導(dǎo)致的預(yù)測效果不好和過擬合現(xiàn)象,提高了模型的預(yù)測精度。仿真結(jié)果表明,與GWO-GRNN、GA-GRNN、CGWO-GRNN相比,本文提出的算法定位精度更高且尋優(yōu)速度更快,基本滿足定位要求,為室內(nèi)定位提供了一種方法。