柴志遠(yuǎn),王小妮
(北京信息科技大學(xué)理學(xué)院,北京 100192)
隨著網(wǎng)絡(luò)及移動(dòng)通信技術(shù)的發(fā)展,人均一部手機(jī)已成為了現(xiàn)實(shí),而在移動(dòng)通信業(yè)務(wù)發(fā)展的過程中,無線定位技術(shù)[1]受到的關(guān)注度越來越多,基于位置的服務(wù)更是運(yùn)營(yíng)商們一直廣泛關(guān)注的重點(diǎn),因此對(duì)用戶定位的需求占據(jù)了很高的地位。目前,無線定位技術(shù)主要包括GPS衛(wèi)星定位,位置指紋定位技術(shù)、藍(lán)牙定位技術(shù)、紅外線定位技術(shù)以及超寬帶定位技術(shù)等[2]
在眾多移動(dòng)定位的方法中,指紋定位技術(shù)[3]可以不受外界遮擋物,天氣差異的影響,具有成本低、準(zhǔn)確率高、抗干擾能力強(qiáng)等優(yōu)點(diǎn),得到了業(yè)界的廣泛青睞。傳統(tǒng)的指紋定位通常為基于WIFI的室內(nèi)位置指紋定位,近年來,學(xué)者針對(duì)指紋定位提出了多種相關(guān)算法模型。吳虹[4]等人提出了一種基于KNN的室內(nèi)定位算法模型,該模型具有良好的預(yù)測(cè)精度,但并未考慮到信號(hào)波動(dòng)性對(duì)定位結(jié)果產(chǎn)生的影響;許甜[5]等人針對(duì)這一問題提出了一種基于離散系數(shù)改進(jìn)的VWKNN位置指紋定位算法,使KNN指紋定位的準(zhǔn)確率得到很大提升;文獻(xiàn)[6]提出了一種基于RSS和CSI的混合指紋定位方法,該方法利用了卡爾曼濾波器和高斯函數(shù),有效消除了噪聲數(shù)據(jù),實(shí)現(xiàn)了RSSI和CSI值的準(zhǔn)確和平滑輸出,從而提高定位的準(zhǔn)確率;同時(shí),為了解決室內(nèi)定位系統(tǒng)中因環(huán)境動(dòng)態(tài)變化而導(dǎo)致定位精度下降的問題,康曉非[7]等人提出了一種基于XGBoost(極端梯度提升)并融合彈性網(wǎng)的誤差補(bǔ)償算法,在變化的室內(nèi)環(huán)境采用彈性網(wǎng)算法構(gòu)建誤差補(bǔ)償模型,提高了定位算法的精度。上述算法使指紋定位具有可觀的準(zhǔn)確率,但所研究的均是基于WIFI的室內(nèi)指紋定位?;诖?周志超[8]等人提出一種基于移動(dòng)蜂窩網(wǎng)的機(jī)器學(xué)習(xí)室外指紋定位的算法,但定位準(zhǔn)確性較低;李達(dá)[9]等人提出了基于LTE網(wǎng)絡(luò)的室外指紋定位算法,但提出的算法并未考慮到海量數(shù)據(jù)模型,數(shù)據(jù)的緯度因素以及數(shù)據(jù)的時(shí)序性問題,因此,本文在此提出一種基于LightGBM算法和LSTM網(wǎng)絡(luò)相結(jié)合用于指紋定位的模型,且所選數(shù)據(jù)為中國(guó)移動(dòng)基站所收集到的用戶數(shù)據(jù)。LightGBM算法是 常用的機(jī)器學(xué)習(xí)算法,是為了解決XGBoost在處理海量數(shù)據(jù)時(shí)空間復(fù)雜度和時(shí)間復(fù)雜度高等問題而提出的;LSTM網(wǎng)絡(luò)模型是一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò),它是RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型的變種實(shí)現(xiàn),具備處理和預(yù)測(cè)包含時(shí)間序列數(shù)據(jù)的能力;文章結(jié)合兩者的優(yōu)點(diǎn),構(gòu)建利用基站數(shù)據(jù)預(yù)測(cè)指紋定位算法的模型。
作為一種監(jiān)督學(xué)習(xí)的算法,指紋定位算法利用了每處位置多徑結(jié)構(gòu)(即電波傳輸過程中遇到障礙物會(huì)產(chǎn)生散射波,這些波會(huì)一起構(gòu)成多徑效應(yīng))唯一性的優(yōu)點(diǎn),在訓(xùn)練階段,將每個(gè)位置的信號(hào)特征與該位置經(jīng)緯度信息結(jié)合起來,構(gòu)成一條指紋,合并多個(gè)位置的指紋并存儲(chǔ)在指紋數(shù)據(jù)庫(kù)中,以便于在線階段的定位匹配[4]。利用基站數(shù)據(jù)進(jìn)行指紋定位的實(shí)現(xiàn)如圖1所示,其中(X,Y)是該位置的經(jīng)緯度信息,ai,bi,ci……為該位置的特征信息。
圖1 指紋定位過程
2.2.1 LightGBM算法模型
LightGBM是一種用于分類的機(jī)器學(xué)習(xí)算法[10],該算法是XGBoost的改進(jìn)算法,適用于數(shù)據(jù)量呈現(xiàn)出高維度的背景下。LightGBM的核心是GBDT (梯度提升樹)算法[11],通過改進(jìn)GBDT,并提出了GOSS (梯度單邊采樣)和 EFB (互斥特征捆綁)兩種新方法,提高了算法的高效性。
GOSS算法給不同的樣本點(diǎn)賦予不同的權(quán)值,計(jì)算信息增益時(shí),梯度大的樣本點(diǎn)具有更高的權(quán)值,梯度小的樣本點(diǎn),隨機(jī)按照比例賦予權(quán)值,其算法描述如下:
step1:按照數(shù)據(jù)樣本點(diǎn)梯度的絕對(duì)值,對(duì)樣本點(diǎn)進(jìn)行排序;
step2:選擇一部分較大梯度的樣本(此處為a%)作為較大梯度值的訓(xùn)練樣本,從另一部分的樣本中,再次隨機(jī)一部分(設(shè)為b%)作為較小梯度值的訓(xùn)練樣本;
step3:合并步驟二所得的樣本,并給小梯度樣本賦予權(quán)重;
step4:利用以上步驟得到的數(shù)據(jù)樣本,通過學(xué)習(xí)得到一個(gè)弱學(xué)習(xí)器;
step5:重復(fù)上述步驟,當(dāng)達(dá)到設(shè)置的迭代次數(shù)或收斂時(shí),停止。
GOSS算法有效降低了模型學(xué)習(xí)的時(shí)間,在一定程度上提升了訓(xùn)練模型的泛化能力。
EFB算法被稱為互斥特征捆綁,在實(shí)際應(yīng)用中高維數(shù)據(jù)一般都是稀疏的,EFB被設(shè)計(jì)用于減少有效特征的數(shù)量,且樣本中許多特征可能是互斥的,EFB還可以將這些特征組合成一個(gè)特征,降低特征的維度。
因此,LightGBM算模型引入了基于GOSS模型和EFB互斥特征捆綁等方法,優(yōu)化了XGBoost算法耗時(shí)的缺點(diǎn),并降低了需要處理數(shù)據(jù)的維度,研究表明,用此方法對(duì)數(shù)據(jù)進(jìn)行處理,不但不會(huì)損失預(yù)測(cè)的精度,有時(shí)還會(huì)提高精度。
2.2.2 LSTM網(wǎng)絡(luò)模型
LSTM是一種深度學(xué)習(xí)模型的框架,它是RNN網(wǎng)絡(luò)的變種,為了解決RNN在對(duì)長(zhǎng)序列訓(xùn)練時(shí)存在梯度爆炸和梯度消失的問題而提出的,LSTM網(wǎng)絡(luò)結(jié)構(gòu)和RNN的主要IO(輸入和輸出)區(qū)別如圖2所示。可以看出,LSTM網(wǎng)絡(luò)比RNN多了一路輸入,一路輸出和一個(gè)存儲(chǔ)單元用于存儲(chǔ)記憶[12]。
圖2 RNN和LSTM網(wǎng)絡(luò)結(jié)構(gòu)
從圖中可以看出,LSTM有兩個(gè)傳輸狀態(tài),一個(gè)ct(細(xì)胞狀態(tài)),對(duì)應(yīng)于RNN中的ht和自身的一個(gè)ht(隱藏狀態(tài))。通常ct由上一個(gè)狀態(tài)傳過來的ct-1加上一些數(shù)值構(gòu)成,而ht的區(qū)別往往會(huì)很大,LSTM網(wǎng)絡(luò)的當(dāng)前輸入xt和上一狀態(tài)的輸出ht-1結(jié)合訓(xùn)練得到以下四個(gè)狀態(tài)
(1)
(2)
(3)
(4)
其中,zf,zi,zo是0到1之間的數(shù)值,作為一種門控狀態(tài)。z的取值范圍是-1到1(這里使用tan h是將其作為輸入數(shù)據(jù),而不是門控信號(hào))。
LSTM內(nèi)部圖如圖3所示,其中
圖3 LSTM模型網(wǎng)絡(luò)內(nèi)部圖
ct=zf⊙ct-1+zi⊙z
(5)
ht=zo⊙tanh(ct)
(6)
yt=σ(W′ht)
(7)
LSTM模型的內(nèi)部有三個(gè)階段,第一階段為忘記階段,此階段會(huì)進(jìn)行選擇性忘記上一節(jié)點(diǎn)的輸入,此處用zf來表示忘記門控,控制上一狀態(tài)的ct-1需要忘記的東西;第二階段為選擇記憶階段,此階段將輸入的一部分進(jìn)行“記憶”,即對(duì)輸入xt進(jìn)行選擇記憶,即對(duì)于重要的賦予高權(quán)值記錄下來,不重要賦予低權(quán)值,當(dāng)前的輸入由計(jì)算得到的z表示,zi用于控制選擇的門控信號(hào),對(duì)以上兩個(gè)階段的結(jié)果求和,得到傳給下一狀態(tài)的ct,即為上式(5);第三階段為輸出階段,此階段決定當(dāng)前狀態(tài)的輸出,由zo來進(jìn)行控制,并縮放上一階段所得到的co(通過tanh激活函數(shù))。輸出的yt最終通過ht變化得到[13,14]。
為了提高用戶位置指紋定位預(yù)測(cè)結(jié)果的準(zhǔn)確率,并有效地預(yù)測(cè)帶有時(shí)間序列的數(shù)據(jù),同時(shí)解決對(duì)高維數(shù)據(jù)特征進(jìn)行處理時(shí),算法的時(shí)間復(fù)雜度高等問題,本文將LightGBM算法和LSTM模型進(jìn)行組合用來實(shí)現(xiàn)用戶指紋定位,組合方式此處選擇誤差倒數(shù)法并更新權(quán)值,誤差倒數(shù)法即賦予誤差大的模型較小權(quán)值,進(jìn)一步減小了組合模型誤差。計(jì)算公式為
fi=w1f1i+w2f2i
(8)
(9)
(10)
其中,εi模型i的預(yù)測(cè)誤差,wk是賦予模型k的權(quán)值參數(shù),fi即賦權(quán)后的目標(biāo)組合模型對(duì)樣本i的預(yù)測(cè)結(jié)果,fki是第k個(gè)模型的預(yù)測(cè)值[15]。同時(shí),求出前m時(shí)刻權(quán)重平均值對(duì)本時(shí)刻模型進(jìn)行賦權(quán)
(11)
其中wj(k)為第k時(shí)刻組合模型的權(quán)值,計(jì)算該時(shí)刻組合模型的預(yù)測(cè)值與真實(shí)值的誤差絕對(duì)值分別為eit,ejt,即
(12)
(13)
比較式(12)與式(13)結(jié)果的大小,若eit 圖4 LightGBM+LSTM組合實(shí)現(xiàn)流程圖 step1:對(duì)基站原始數(shù)據(jù)進(jìn)行預(yù)處理,去除“臟數(shù)據(jù)”及無用數(shù)據(jù)處理,并對(duì)得到的結(jié)果歸一化處理。 step2:設(shè)置LightGBM的learning_rate=0.05,early_stopping_rounds=80,num_boost_round=200,max_depth=5,對(duì)預(yù)處理的數(shù)據(jù)進(jìn)行預(yù)測(cè); step3:設(shè)置LSTM神經(jīng)網(wǎng)絡(luò)采用Adam隨機(jī)梯度下降算法,學(xué)習(xí)率0.05,堆疊層數(shù)為5,批量大小為128,隱藏單元數(shù)為50,延遲階數(shù)為3對(duì)第一步預(yù)處理的數(shù)據(jù)進(jìn)行預(yù)測(cè); step4:對(duì)第二步和第三步得到的結(jié)果利用誤差倒數(shù)法加權(quán)求和并更新權(quán)重得到最終預(yù)測(cè)結(jié)果。 本文選擇2019年5月5日12時(shí)北京移動(dòng)基站所收集的用戶信息(已去除用戶手機(jī)號(hào)等隱私信息)及工參數(shù)據(jù)進(jìn)行測(cè)試,測(cè)試數(shù)據(jù)包括數(shù)據(jù)獲取時(shí)間(TimeStamp),小區(qū)ID(CellID),物理小區(qū)標(biāo)識(shí)( SCPCI),頻點(diǎn)(SCFreq),信號(hào)接收功率(SCRSRP),經(jīng)度(Longitude),緯度(Latitude)以及一些相鄰小區(qū)(鄰區(qū))的PCI,FREQ,RSRP等數(shù)據(jù);工參數(shù)據(jù)包括源小區(qū)ID(src_eci),基礎(chǔ)經(jīng)度(base_lon),基礎(chǔ)緯度(base_lat),基礎(chǔ)偏移角度(base_angle)。數(shù)據(jù)每5分鐘獲取一次,一小時(shí)內(nèi)共12次,樣本部分?jǐn)?shù)據(jù)如表1,表2所示。 表1 工參樣本數(shù)據(jù) 表2 測(cè)試樣本數(shù)據(jù) 3.2.1 “臟數(shù)據(jù)”及無用數(shù)據(jù)處理 上述所得數(shù)據(jù),由于基站覆蓋和網(wǎng)絡(luò)等原因可能出現(xiàn)某些數(shù)據(jù)字段值為空或字段出現(xiàn)明顯錯(cuò)誤等問題,此類數(shù)據(jù)通常稱之為“臟數(shù)據(jù)”,對(duì)于出現(xiàn)的“臟數(shù)據(jù)”,此處采用線性差值的方式將其補(bǔ)全或修改;同時(shí),有些字段對(duì)于定位來說毫無用處,在此該類將字段直接去除,結(jié)果的部分?jǐn)?shù)據(jù)如表3所示。 表3 數(shù)據(jù)預(yù)處理結(jié)果 表4 三種算法平均實(shí)現(xiàn)時(shí)間比較 表5 三種算法經(jīng)緯度平均RMSE比較 3.2.2 數(shù)據(jù)歸一化處理 由于所用的測(cè)試數(shù)據(jù)存在不同的量綱,可能會(huì)造成預(yù)測(cè)準(zhǔn)確度下降的問題,在此對(duì)數(shù)據(jù)進(jìn)行歸一化處理[17],除經(jīng)緯度和時(shí)間數(shù)據(jù)外,將其它數(shù)據(jù)的范圍限制在0-100之間。 (14) 式中,y為歸一化后所得的值,x為待處理數(shù)據(jù)值,Max為待處理數(shù)據(jù)最大值,Min為待處理數(shù)據(jù)的最大值。 本文使用RMSE(均方根誤差)進(jìn)行評(píng)估預(yù)測(cè)模型的準(zhǔn)確率,RMSE是反映預(yù)測(cè)值y與真實(shí)值Y偏差平方與樣本數(shù)n的比值的平方根,在一定程度上能夠有效地測(cè)量預(yù)測(cè)結(jié)果的準(zhǔn)確率,RMSE的公式如下[18] (15) 4.2.1 實(shí)驗(yàn)環(huán)境與實(shí)驗(yàn)數(shù)據(jù) 為了驗(yàn)證LSTM+LightGBM結(jié)合模型的準(zhǔn)確率,實(shí)驗(yàn)在同一臺(tái)計(jì)算機(jī)(Win10,32G內(nèi)存,Inteli7-8750H)利用Python編程語言,JetBrains PyCharm Community Edition程序開發(fā)環(huán)境,建立LSTM+LightGBM相結(jié)合的模型進(jìn)行仿真測(cè)試。選取北京市海淀區(qū)2019年5月4日的所有數(shù)據(jù)結(jié)合工參數(shù)據(jù)作為訓(xùn)練集,并隨機(jī)選取北京市海淀區(qū)2019年5月5日12時(shí)去除位置信息的20000條數(shù)據(jù)作為測(cè)試集。 4.2.2 模型仿真 將LSTM+LightGBM模型預(yù)測(cè)得到的經(jīng)緯度轉(zhuǎn)換為距離信息隨機(jī)取100條與真實(shí)位置進(jìn)行比較,得到的經(jīng)緯度距離上相差的結(jié)果分別如圖5所示,結(jié)果表明,即使存在一些差異,結(jié)合的模型在預(yù)測(cè)地理經(jīng)緯度等方面均具有較高的準(zhǔn)確率。 圖5 LSTM+LightGBM模型預(yù)測(cè)距離偏差 4.2.3 模型對(duì)比及分析 為驗(yàn)證構(gòu)建模型的準(zhǔn)確率和運(yùn)行速度,分別構(gòu)建KNN算法模型,XGBoost算法模型和LSTM+LightGBM組合的模型,實(shí)驗(yàn)數(shù)據(jù)取5組,分別為5分鐘,10分鐘,15分鐘,20分鐘,25分鐘部分?jǐn)?shù)據(jù),利用構(gòu)建的三種算法模型對(duì)數(shù)據(jù)進(jìn)行多次仿真;三種預(yù)測(cè)模型在平均實(shí)現(xiàn)時(shí)間和平均RMSE方面的比較如下表所示,經(jīng)緯度RMSE計(jì)算公式為 (16) 其中,RMSElat為經(jīng)度的平均RMSE,RMSElon為緯度的平均RMSE,此式能夠在一定程度上反映出實(shí)際距離的誤差值。 由仿真結(jié)果得,即使將兩種模型進(jìn)行結(jié)合,在運(yùn)行速度方面,由于LightGBM模型中采用了直方圖算法和leaf-wise的生長(zhǎng)策略,LSTM+LightGBM模型運(yùn)行速度仍明顯優(yōu)于KNN算法和XGboost算法;且由于引入LSTM與LightGBM結(jié)合來減小誤差,在最終實(shí)現(xiàn)的精度方面,LSTM+LightGBM模型最高,在測(cè)試數(shù)據(jù)集為25min部分?jǐn)?shù)據(jù)時(shí),本文提出模型的RMSE達(dá)到0.00017,約為實(shí)際距離的15-25米,具有很高的應(yīng)用價(jià)值。 文章提出了一種基于LightGBM和LSTM結(jié)合的分類模型用于用戶位置指紋定位的實(shí)現(xiàn),通過對(duì)基站收集到的用戶數(shù)據(jù)進(jìn)行預(yù)處理,將得到的結(jié)果傳入LightGBM模型和LSTM模型進(jìn)行組合預(yù)測(cè)。相比于傳統(tǒng)實(shí)現(xiàn)指紋定位的KNN與XGBoost等方法,本文提出的模型更具有優(yōu)越性;同時(shí)通過實(shí)驗(yàn)與比較可得,本文提出的模型在預(yù)測(cè)精度方面表現(xiàn)的較好,且明顯優(yōu)于KNN和XGBoost算法模型,在處理海量時(shí)時(shí)間復(fù)雜度較低,具有更高的優(yōu)勢(shì)。在如今大數(shù)據(jù)的背景下,可將本文模型應(yīng)用到指紋定位算法來進(jìn)行用戶位置的預(yù)測(cè),具有廣泛的應(yīng)用價(jià)值,為進(jìn)一步在大數(shù)據(jù)集群上研究指紋定位算法提供了一定的參考價(jià)值[19]。3 數(shù)據(jù)來源及數(shù)據(jù)預(yù)處理
3.1 實(shí)驗(yàn)數(shù)據(jù)獲取
3.2 數(shù)據(jù)預(yù)處理
4 實(shí)驗(yàn)結(jié)果及分析
4.1 實(shí)驗(yàn)結(jié)果評(píng)估方法
4.2 LSTM+LightGBM模型仿真
5 結(jié)語