本發(fā)明涉及一種基于在線增量超限學習機的室內(nèi)指紋定位算法。
背景技術(shù):
隨著無線通信網(wǎng)絡(luò)及移動設(shè)備的普及與運用,人們對于位置服務(wù)(Location based Service,LBS)的需求與日俱增,其中室內(nèi)定位的應用場景也變得越來越廣泛,如消防救援、廣告投放、物流管理等。因此,國內(nèi)外許多學者及機構(gòu)提出了利用UWB、RFID、藍牙、紅外等技術(shù)進行室內(nèi)定位。但上述定位技術(shù)有一個共同缺陷,它們都依賴部署專用的硬件設(shè)施,成本昂貴,只能應用在有限的范圍內(nèi)。近年來,隨著以WiFi為代表的無線局域網(wǎng)絡(luò)(WLAN)被廣泛部署于室內(nèi)環(huán)境之中,基于WLAN技術(shù)進行室內(nèi)定位恰好能夠利用現(xiàn)有的無線局域網(wǎng)架構(gòu),降低了部署難度及成本,目前已經(jīng)成長為室內(nèi)定位技術(shù)中的絕對主流。
根據(jù)定位原理的不同,室內(nèi)定位主要可以分為三類:最近AP定位、幾何計算定位和位置指紋定位。最近AP定位主要是通過尋找目標附近最近AP點,并將其位置近似為目標所在位置,定位準確性不高。幾何定位包括TOA法、TDOA法、AOA法,這些方法的共同點是利用幾何原理計算目標的位置,對于設(shè)備要及環(huán)境要求苛刻;位置指紋定位主要過程是將指紋信號與數(shù)據(jù)庫中的指紋信號進行匹配從而估算出位置。與另外兩種定位技術(shù)相比,位置指紋定位精度較高、對環(huán)境及設(shè)備要求低,因此成為室內(nèi)定位技術(shù)中的熱點。
超限學習機(Extreme Learning Machine,ELM)作為一種新興的機器學習算法被提出,并且憑借其快速學習能力以及良好的泛化能力,引起了廣泛的關(guān)注,與此同時,基于ELM的室內(nèi)指紋定位算法也受到了研究者的青睞。假設(shè)訓練樣本輸入為輸出為其中,N:輸入數(shù)據(jù)個數(shù),d:輸入數(shù)據(jù)維數(shù),c:輸出數(shù)據(jù)維數(shù)?;贓LM的室內(nèi)指紋定位算法的步驟如下:
Step1:隨機分配隱含層節(jié)點參數(shù),包括權(quán)值wi與偏差bi,并選取隱含層節(jié)點的激活函數(shù)G;
Step2:計算隱含層輸出矩陣H:
Step3:利用公式Hβ=T計算輸出權(quán)值矩陣,建立定位模型。
β=H-1T=(HTH)-1HTT
其中:
Step4:將測試點收集到的指紋信號,輸入到建立好的定位模型之中,估計出位置。
所以一旦輸入權(quán)值和偏差被初始化,那么隱含層輸出矩陣H就被固定,那么訓練一個ELM定位模型就等同于尋找最小二乘的解β,然而,由于ELM網(wǎng)絡(luò)結(jié)構(gòu)不夠緊湊及室內(nèi)環(huán)境復雜,導致基于ELM的室內(nèi)指紋定位算法的精度較低,自適應性較差。
技術(shù)實現(xiàn)要素:
:
針對上述問題,本文發(fā)明的目的是解決基于ELM的室內(nèi)定位算法精度差和對環(huán)境的動態(tài)調(diào)整能力弱的問題,提出一種基于在線增量超限學習機的室內(nèi)指紋定位算法。
為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案:
(1)通過增量學習,逐個添加隱含層節(jié)點至定位模型之中;
(2)計算經(jīng)過增量學習后的隱含層輸出權(quán)值向量,構(gòu)建初始化的位置估計模型;
(3)通過在線學習方法對初始化的位置估計模型進行動態(tài)調(diào)整;
(4)計算經(jīng)過在線學習后的隱含層輸出權(quán)值向量,得到最終的位置估計模型。
本發(fā)明采取以上技術(shù)方案,具有以下優(yōu)點:
(1)本發(fā)明通過增量學習,逐個增加隱含層節(jié)點并尋找最佳的隱含層節(jié)點參數(shù),使得定位模型變得更加緊湊并減少無關(guān)節(jié)點的干擾,提高定位的精度。
(2)在室內(nèi)環(huán)境中,指紋數(shù)據(jù)往往受到較大的干擾,位置估計模型的自適應能力就變得尤為重要。本發(fā)明融入在線學習方法,利用最新的指紋數(shù)據(jù)對先前建立好的位置估計模型進行動態(tài)調(diào)整,而不需要對整個指紋數(shù)據(jù)庫進行重新訓練,提高了算法的自適應能力。
附圖說明
圖1為基于OS-IELM的指紋定位算法基本流程。
圖2為定位誤差與隱含層節(jié)點個數(shù)的關(guān)系圖。
圖3為離線訓練時間與隱含層節(jié)點個數(shù)的關(guān)系圖。
圖4為不同算法的累計誤差分布。
圖5為OS-IELM和OS-ELM算法在線學習性能對比。
具體實施方式
OS-IELM算法首先利用增量超限學習機(IELM)對輸入的訓練數(shù)據(jù)進行訓練,得出一個初步的位置估計模型。IELM算法步驟概括如下:
Step 1:初始化階段,首先初始化隱含層節(jié)點個數(shù)L=1,最大化隱含層節(jié)點個數(shù)Lmax,初始殘留誤差E=T,T=[t1,...,tN]T,期望的學習精度ε;
Step 2:增量學習階段:當Lk<Lmax或者||E||>ε,當新的隱含層節(jié)點加入后,分別訓練k次,效果最好的那一次的訓練參數(shù)作為該隱含層節(jié)點的參數(shù)。
a、L=L+1;
b、給新添加的隱含層節(jié)點隨機分配輸入權(quán)值和偏差aL和bL;
c、新隱含層節(jié)點輸出權(quán)值向量其中HL代表加入節(jié)點后的隱含層輸出向量;
當給定一個SLFN,激活函數(shù)是非常數(shù)間斷連續(xù)函數(shù),對于任意連續(xù)目標函數(shù)f隨機產(chǎn)生的函數(shù)序列{hn}以及正整數(shù)k,要使得則輸出權(quán)值向量必須滿足
其中,e是殘留物差。
d、計算加入新節(jié)點后的殘差EL=f-fL=EL-1-βLHL,EL-1代表新節(jié)點添加前的殘差向量,EL代表新節(jié)點添加后的殘差向量。
基于OS-IELM的指紋定位算法在基于IELM算法的基礎(chǔ)之上,又加入在線學習的功能。該算法在擁有緊湊的定位模型前提下,充分利用在線校準點數(shù)據(jù),對定位模型進行動態(tài)調(diào)整,而無需對整個訓練數(shù)據(jù)庫重新進行訓練,大大節(jié)省了訓練時間,提高了算法對于動態(tài)環(huán)境的自適應能力。
在線學習過程中,將新的數(shù)據(jù)模塊加入到初始化的定位模型時,假設(shè)新加入的訓練樣本為Nk+1,輸入為輸出為那么對應的隱含層輸出矩陣為
隱含層輸出矩陣Hk+1對應的輸出權(quán)值向量β(k+1)為
其中,中間量為了避免在迭代過程中產(chǎn)生的像K-1k+1一樣的逆矩陣無法正常求解,在求逆過程中滿足
由于Pk+1=K-1k+1,所以可得
即
算法分析
1)算法定位精度
本文采用的指紋數(shù)據(jù)的采集點位于里加工業(yè)大學的實驗樓5樓,是一個自然場景而非人為特意布置,增加算法的普適性。實驗的測試區(qū)域面積達860m2,包括8個教室、4個辦公室以及一個走廊。由表1可知,基于OS-IELM的室內(nèi)指紋定位算法應用增量學習方法使得定位模型變得更加緊湊,定位精度達到1.301m,相比KNN、BP、ELM算法,性能分別提高了47.96%,70.96%,46.23%。4種算法的距離誤差累計百分比如圖3所示,可以看出本文提出的OS-IELM算法性能明顯好于其他三種算法。
表1 不同算法性能對比
Table 1 Comparison of different algorithm performance
2)算法復雜度
算法的復雜度主要依據(jù)算法的學習時間及測試時間。由表1可知OS-IELM算法的所需的學習時間高于ELM算法,低于BP神經(jīng)網(wǎng)絡(luò),需要2.176s來進行模型的學習,但是一旦模型建立,在線測試時間耗時非常短,僅需0.009s,完全符合實時定位的需要,而KNN的測試時間相對其他三種算法較長,因此OS-IELM的算法復雜度相對適中。
3)算法的自適應性
本文提出的基于OS-IELM的定位算法另一個特點就是能夠進行在線學習,它能夠?qū)σ呀?jīng)建立好的定位模型根據(jù)新加入的測試數(shù)據(jù)不斷更新網(wǎng)絡(luò)動態(tài)參數(shù)從而進行動態(tài)調(diào)整,最終提高算法對環(huán)境的自適應性,并降低離線階段的數(shù)據(jù)采集工作量。與OS-ELM算法性能對比如表2所示,兩種算法的總的校準點數(shù)量都相同,在線調(diào)整次數(shù)都分為8次和20次兩種情況,得出改進后的OS-IELM算法在定位精度上都有一定提高。距離誤差累計分布圖如圖4所示,可以看出當OS-IELM算法動態(tài)調(diào)整次數(shù)越多,精度越好,對環(huán)境的自適應能力也就越強。
表2 在線學習時的性能對比
Table 2 Performance comparison in online learning