本發(fā)明屬于模式識(shí)別和計(jì)算智能領(lǐng)域內(nèi)的一種蜂窩網(wǎng)絡(luò)無線定位方法,具體涉及粒子群優(yōu)化(particleswarmoptimization,pso)和半監(jiān)督極限學(xué)習(xí)機(jī)(semi-supervisedextremelearningmachine,ss-elm)。
背景技術(shù):
高度發(fā)達(dá)的蜂窩網(wǎng)絡(luò)系統(tǒng)和覆蓋全球的蜂窩網(wǎng)絡(luò)信號(hào)使得蜂窩網(wǎng)絡(luò)系統(tǒng)是最為廣泛使用的移動(dòng)通信系統(tǒng),和智能手機(jī)的普及使得基于蜂窩網(wǎng)系統(tǒng)的定位技術(shù)成為了一種重要的室外定位技術(shù)。尤其在衛(wèi)星定位系統(tǒng),如全球定位系統(tǒng)(gps)不可用的情況下,智能手機(jī)只能依靠蜂窩網(wǎng)絡(luò)系統(tǒng)進(jìn)行室外的定位。與此同時(shí)隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,接入蜂窩網(wǎng)絡(luò)的智能設(shè)備將會(huì)越來越多,獲取智能設(shè)備的位置信息將會(huì)成為各種應(yīng)用場景的先決條件。
與toa,tdoa,aoa等基于幾何距離的傳統(tǒng)定位技術(shù)相比,接收信號(hào)強(qiáng)度(rss)和機(jī)器學(xué)習(xí)算法更適用于在無線電信號(hào)非視距傳播(nlos)的環(huán)境下對(duì)移動(dòng)設(shè)備進(jìn)行定位。但是由于因?yàn)橛斜O(jiān)督的機(jī)器學(xué)習(xí)算法訓(xùn)練所需要的rss指紋數(shù)據(jù),即帶有位置信息和接收信號(hào)強(qiáng)度(rss)的“有標(biāo)簽訓(xùn)練數(shù)據(jù)”的采集,需要通過可移動(dòng)的信號(hào)采集設(shè)備在定位的目標(biāo)區(qū)域中獲取接收信號(hào)強(qiáng)度和對(duì)應(yīng)的位置信息(二維的經(jīng)緯度或者一維的位置區(qū)域標(biāo)示),特別是在廣闊的室外環(huán)境收集到足夠的rss指紋數(shù)據(jù)則需要更多時(shí)間和人力成本。于此相反獲取不含位置信息的無標(biāo)簽接收信號(hào)強(qiáng)度(rss)數(shù)據(jù)的所付出的代價(jià)要少很多,我們可以從目標(biāo)服務(wù)區(qū)內(nèi)的手機(jī)上傳的mr(measurementreport)數(shù)據(jù)中提取出大量接收信號(hào)強(qiáng)度(rss)數(shù)據(jù),但這些數(shù)據(jù)不包含位置信息,我們稱之為“無標(biāo)簽訓(xùn)練數(shù)據(jù)”。模式識(shí)別領(lǐng)域中半監(jiān)督學(xué)習(xí),無標(biāo)簽數(shù)據(jù)是有標(biāo)簽訓(xùn)練數(shù)據(jù)的補(bǔ)充,在有標(biāo)簽訓(xùn)練數(shù)據(jù)較少的情況下無標(biāo)簽數(shù)據(jù)可以提高算法預(yù)測和識(shí)別的準(zhǔn)確率。
半監(jiān)督極限學(xué)習(xí)機(jī)(semi-supervisedextremelearningmachine)以下簡稱ss-elm是一種單隱藏層的神經(jīng)網(wǎng)絡(luò),具有訓(xùn)練速度快泛化能力好的特點(diǎn),同時(shí)該算法可以結(jié)合有標(biāo)簽和無標(biāo)簽訓(xùn)練數(shù)據(jù)進(jìn)行訓(xùn)練。但是ss-elm對(duì)
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施方案分為兩大步驟:目的在于解決基于rss指紋數(shù)據(jù)的蜂窩網(wǎng)絡(luò)環(huán)境下的定位需要采集較多的有標(biāo)簽訓(xùn)練數(shù)據(jù),使用ss-elm在實(shí)現(xiàn)同等定位精度下,ss-elm需要的有標(biāo)簽訓(xùn)練數(shù)據(jù)較少,從而降低了人工收集有標(biāo)簽訓(xùn)練數(shù)據(jù)的成本。同時(shí)本發(fā)明是ss-elm和pso的結(jié)合,利用pso對(duì)ss-elm的超參數(shù)進(jìn)行自動(dòng)優(yōu)化,減少了算法參數(shù)調(diào)優(yōu)中的人工干預(yù),提高生產(chǎn)應(yīng)用的效率。本發(fā)明通過如下技術(shù)方案實(shí)現(xiàn)。
融合pso和ss-elm的蜂窩網(wǎng)無線定位方法,其包括使用有標(biāo)簽訓(xùn)練數(shù)據(jù)和無標(biāo)簽訓(xùn)練數(shù)據(jù)對(duì)ss-elm的輸出層權(quán)值參數(shù)β作進(jìn)行訓(xùn)練,在ss-elm訓(xùn)練過程中使用pso對(duì)ss-elm的超參數(shù)進(jìn)行自動(dòng)優(yōu)化,pso的適應(yīng)度值計(jì)算函數(shù)的計(jì)算涵蓋了有標(biāo)簽訓(xùn)練數(shù)據(jù)和無標(biāo)簽訓(xùn)練數(shù)據(jù),經(jīng)過pso優(yōu)化篩選后得到的最優(yōu)ss-elm參數(shù)作為回歸模型用于在線定位服務(wù)。
進(jìn)一步地,以設(shè)備接收信號(hào)強(qiáng)度(rss)作為輸入,對(duì)ss-elm進(jìn)行訓(xùn)練和優(yōu)化得到ss-elm參數(shù)作為回歸模型提供蜂窩網(wǎng)絡(luò)環(huán)境下的在線定位服務(wù)。
進(jìn)一步地,在對(duì)ss-elm輸出層權(quán)值參數(shù)β的訓(xùn)練過程中同時(shí)使用了有標(biāo)簽訓(xùn)練數(shù)據(jù)和無標(biāo)簽訓(xùn)練數(shù)據(jù)。
進(jìn)一步地,pso算法的適應(yīng)度值計(jì)算函數(shù)的計(jì)算涵蓋了有標(biāo)簽訓(xùn)練和無標(biāo)簽訓(xùn)練數(shù)據(jù),粒子適應(yīng)度計(jì)算函數(shù)的具體定義為:
其中i、j、k、n分別表示粒子的編號(hào)、有標(biāo)簽訓(xùn)練數(shù)據(jù)實(shí)例編號(hào)、標(biāo)簽向量的維度編號(hào)、標(biāo)簽向量總維度,l為訓(xùn)練數(shù)據(jù)集中有標(biāo)簽訓(xùn)練數(shù)據(jù)的數(shù)目,u為訓(xùn)練數(shù)據(jù)集中無標(biāo)簽訓(xùn)練數(shù)據(jù)的數(shù)目,
進(jìn)一步地,在ss-elm訓(xùn)練和優(yōu)化的過程中使用pso對(duì)ss-elm的關(guān)鍵參數(shù):
vid(t+1)=vid(t)+c1*rand()*[pid(t)-xid(t)]+c2*and()*[pgd(t)-xid(t)](4)
xid(t+1)=xid(t)+vid(t+1)1≤i≤n,1≤d≤2(5)
其中正數(shù)c1,c2是加速度因子,rand()是0和1之間的隨機(jī)數(shù);vmax和vmin分別是粒子速度的上界和下界,t為算法迭代的代數(shù);迭代過程中當(dāng)全局最優(yōu)位置所對(duì)應(yīng)的粒子適應(yīng)度收斂不再隨著迭代發(fā)生變化時(shí)停止迭代計(jì)算,通過全局最優(yōu)粒子位置和超參數(shù)的對(duì)應(yīng)關(guān)系能得到最優(yōu)的超參數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于:
1)在訓(xùn)練數(shù)據(jù)較少的情況下相比使用監(jiān)督學(xué)習(xí)方法,使用半監(jiān)督學(xué)習(xí)算法ss-elm可以得到更好的定位精度。
2)ss-elm對(duì)超參數(shù)的選擇比較敏感,往往需要有經(jīng)驗(yàn)的技術(shù)人員根據(jù)不同的業(yè)務(wù)場景進(jìn)行反復(fù)的實(shí)驗(yàn)調(diào)節(jié)參數(shù),本發(fā)明使用了pso對(duì)ss-elm的超參數(shù)進(jìn)行自動(dòng)優(yōu)化和調(diào)節(jié),減少了人工干預(yù)。
3)與傳統(tǒng)的pso僅僅使用標(biāo)簽訓(xùn)練數(shù)據(jù)不同本發(fā)明的pso基于同時(shí)基于有標(biāo)簽訓(xùn)練數(shù)據(jù)和無標(biāo)簽訓(xùn)練數(shù)據(jù)進(jìn)行迭代訓(xùn)練,并采用了公式(1)作為適應(yīng)度值計(jì)算函數(shù)使得經(jīng)過pso優(yōu)化過的ss-elm更為健壯穩(wěn)定,對(duì)用戶的定位更為精準(zhǔn)。
附圖說明
圖1為本發(fā)明方法的具體實(shí)施過程中離線訓(xùn)練部分的流程圖。
圖2為本發(fā)明方法的具體實(shí)施過程中在線預(yù)測部分的流程圖。
圖3為本發(fā)明所使用的ss-elm神經(jīng)網(wǎng)絡(luò)拓?fù)鋱D。
圖4為本發(fā)明具體實(shí)施例中pso適應(yīng)度值在迭代訓(xùn)練中的變化趨勢。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)例對(duì)本發(fā)明的具體實(shí)施作進(jìn)一步說明,但本發(fā)明的實(shí)施和保護(hù)不限于此。本發(fā)明通過以下的實(shí)施方案分為兩大步驟:
步驟一、使用部分有標(biāo)簽訓(xùn)練數(shù)據(jù)和無標(biāo)簽訓(xùn)練數(shù)據(jù)通過融合pso對(duì)ss-elm算法的模型進(jìn)行離線訓(xùn)練,與傳統(tǒng)的人工調(diào)參法不同,融合pso和ss-elm的目的在于利用pso搜索和篩選出在不同業(yè)務(wù)場景ss-elm的最優(yōu)超參,得出最優(yōu)的模型。
步驟二、利用最優(yōu)的ss-elm模型對(duì)用戶的設(shè)備進(jìn)行在線定位。
上述步驟一中ss-elm和pso訓(xùn)練的關(guān)鍵計(jì)算方法介紹如下:
假設(shè)給定有l(wèi)個(gè)帶標(biāo)簽的rss指紋數(shù)據(jù)樣本集合{(rk,yk)|k=1,2,3,…,l}l和u個(gè)不帶標(biāo)簽的rss數(shù)據(jù)樣本集合,{rk|k=1,2,3,…,u}u其中r分量為接收信號(hào)強(qiáng)度(rss),y分量為位置信息,選取sigmoid函數(shù)作為ss-elm的隱藏層激活函數(shù),則ss-elm的訓(xùn)練需要滿足如下目標(biāo)函數(shù):
s.t.f=hβ
其中
a為輸入層連接隱藏層的權(quán)重,b為隱藏層的偏置,β為ss-elm中連接隱藏層和輸出層的權(quán)重,cβ和λ分別對(duì)應(yīng)
l=d-w(12)
由于極限學(xué)習(xí)機(jī)只需要訓(xùn)練和校正輸出層和隱藏層之間的權(quán)重β,所以對(duì)ss-elm的訓(xùn)練等同于求解滿足公式(7)的權(quán)重β。所以對(duì)公式(7)進(jìn)行求導(dǎo),令其導(dǎo)數(shù)為0得到下列公式:
如果矩陣h的行數(shù)大于列數(shù)
如果h的列數(shù)大于行數(shù)
β*=ht(cβi(l+u)×(1+u)+cehht+λlhht)-1cet(15)
其中i是
pso在規(guī)定的搜索空間內(nèi)隨機(jī)地生成粒子,每一個(gè)粒子以一定的速度移動(dòng)到全局搜索最優(yōu)的解的位置。在pso的每一次迭代中每一個(gè)粒子都會(huì)根據(jù)自己的動(dòng)量和自身最佳的位置(pb)和全局最佳(pg)位置的影響因素調(diào)整自己的速度,同時(shí)計(jì)算出自己在本次迭代中的位置。假設(shè)我們的搜索空間是的維度是d,總粒子群個(gè)數(shù)為n,某個(gè)粒子ith每次迭代的位置可以表示為向量xi=(xi1,xi2,…,xid),該粒子從搜索開始至今的個(gè)體最優(yōu)位置表示為pib=(pi1,pi2,…,pid),粒子的運(yùn)動(dòng)速度表示為向量vi=(vi1,vi2,…,vid),全局最優(yōu)位置pg=(pg1,pg2,…,pgd),在每一次迭代粒子會(huì)更新當(dāng)前的速度和位置,并根據(jù)粒子當(dāng)前位置利用適度函數(shù)f(xi)計(jì)算粒子的適度更新個(gè)體最優(yōu)位置和全局最優(yōu)位置。pso各變量在迭代中的更新可以用下列的公式表示:
vid(t+1)=vid(t)+c1*rand()*[pid(t)-xid(t)]+c2*rand()*[pgd(t)-xid(t)](18)
xid(t+1)=xid(t)+vid(t+1)1≤i≤n,1≤d≤d(19)
其中正數(shù)c1,c2是加速度因子,rand()是0和1之間的隨機(jī)數(shù);vmax和vmin分別是粒子速度的上界和下界,t為算法迭代的代數(shù)。
下面以二維空間為例對(duì)本發(fā)明的實(shí)施方案做進(jìn)一步的說明。
步驟1:隨機(jī)初始化一批數(shù)量為n粒子,每個(gè)粒子的初始位置xi=(xi1,xi2),其中xi1∈[-10,0]、xi2∈[-10,0],i表示粒子的編號(hào)。對(duì)應(yīng)地為每個(gè)粒子構(gòu)建一個(gè)ss-elm實(shí)例:
初始化權(quán)重方陣ce的對(duì)角元素[ce]jj=1,j=1,2…l,j表示方陣元素的下標(biāo),l表示有標(biāo)簽訓(xùn)練數(shù)據(jù)的個(gè)數(shù),方陣ce其余的元素初始化為0。
步驟2:表1為定位目標(biāo)區(qū)域的rss指紋數(shù)據(jù)實(shí)例,表1中前35列為設(shè)備的rss信息用字母r表示,后兩列表示對(duì)應(yīng)設(shè)備的二維位置坐標(biāo)用字母y表示,則該實(shí)例中有標(biāo)簽訓(xùn)練數(shù)據(jù)集可以表示為{(rk,yk)|k=1,2,3,…,l}l,其中l(wèi)為有標(biāo)簽訓(xùn)練數(shù)據(jù)的數(shù)目。分別對(duì)前35列的rss和后兩列位置坐標(biāo)信息進(jìn)行歸一化處理后按照公式(8)~(12)計(jì)算ss-elm的隱藏層輸出h和拉普拉斯矩陣l。
表1.rss數(shù)據(jù)實(shí)例
步驟3:實(shí)例根據(jù)公式(14)或公式(15)計(jì)算每個(gè)ss-elm實(shí)例的對(duì)應(yīng)輸出層權(quán)重
并按如下的公式利用本次迭代訓(xùn)練輸出權(quán)重在訓(xùn)練數(shù)據(jù)集上進(jìn)行預(yù)測
其次,統(tǒng)計(jì)預(yù)測集
最后按照公式(22)計(jì)算每個(gè)粒子的適應(yīng)度值
根據(jù)公式(16)~(20)對(duì)各粒子的位置和速度以及個(gè)體最佳位置全局最佳位置等變量進(jìn)行更新,并根據(jù)更新后的粒子重新計(jì)算ss-elm的超參數(shù)cβi和λi。
步驟4:重復(fù)步驟3的計(jì)算直到全局最優(yōu)粒子的適應(yīng)度值收斂不再發(fā)生變化如圖3所示。
步驟5:選取上述步驟中全局最佳的粒子pg,以及對(duì)應(yīng)的ss-elm參數(shù)
步驟6:對(duì)于在線的定位請(qǐng)求輸入當(dāng)前設(shè)備接收信號(hào)強(qiáng)度信息,按照步驟2中使用的歸一化方法得到歸一化后的接收信號(hào)強(qiáng)度數(shù)據(jù)
對(duì)
上述中步驟1到步驟5為離線訓(xùn)練部分,步驟6為在線定位部分。上述流程為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。