尹志寧,陳慶濤(大唐移動(dòng)通信設(shè)備有限公司,北京 100083)
網(wǎng)絡(luò)通過(guò)切換過(guò)程實(shí)現(xiàn)接入用戶的移動(dòng)性管理。當(dāng)用戶在業(yè)務(wù)進(jìn)行過(guò)程中到達(dá)小區(qū)邊界,需要切換到相鄰小區(qū)以保證業(yè)務(wù)性能。合理地配置鄰區(qū)關(guān)系,可以降低切換失敗的概率。
NR 的每個(gè)頻點(diǎn)上都可以有多個(gè)小區(qū),將所有的小區(qū)都配置為鄰區(qū)是不現(xiàn)實(shí)的,一方面基站產(chǎn)品對(duì)鄰區(qū)個(gè)數(shù)存在限制,另一方面,鄰區(qū)關(guān)系做的過(guò)多,則導(dǎo)致測(cè)量報(bào)告的精確性降低,容易造成頻繁切換、乒乓切換等問(wèn)題。但是鄰區(qū)關(guān)系做的太少,會(huì)造成大量掉話,在實(shí)際的鄰區(qū)規(guī)劃中要根據(jù)具體情況實(shí)施合理的鄰區(qū)規(guī)劃。
對(duì)于鄰區(qū)規(guī)劃,現(xiàn)網(wǎng)的主要方案是自動(dòng)鄰區(qū)關(guān)系(Automatic Neighbor Relations,ANR)。ANR 方案基于用戶的測(cè)量上報(bào)、切換請(qǐng)求等來(lái)管理鄰區(qū)關(guān)系。用戶通過(guò)測(cè)量報(bào)告上報(bào)鄰區(qū)物理小區(qū)標(biāo)識(shí)后,如果服務(wù)小區(qū)所在基站發(fā)現(xiàn)用戶上報(bào)的小區(qū)不在鄰區(qū)關(guān)系表中,則會(huì)通過(guò)無(wú)線資源控制重配置消息指示用戶讀取該小區(qū)的全球小區(qū)標(biāo)識(shí)(Global Cell Identity,GCI)。基站獲取到用戶上報(bào)的GCI 之后,即得知該小區(qū)的基本信息,會(huì)將該小區(qū)加入到鄰區(qū)關(guān)系表。一般讀取GCI 的時(shí)間較長(zhǎng),因此基站需要調(diào)度合適的間隙使用戶讀取鄰區(qū)的廣播信道,以獲取GCI。在建網(wǎng)之初,需要添加大量的鄰區(qū)關(guān)系,那么用戶需要讀取多個(gè)小區(qū)的CGI,會(huì)帶來(lái)切換延遲。
若在建網(wǎng)之初,對(duì)鄰區(qū)做一次預(yù)規(guī)劃,即靜態(tài)地規(guī)劃一些鄰區(qū),當(dāng)網(wǎng)絡(luò)運(yùn)行后,再由ANR 算法進(jìn)行動(dòng)態(tài)地微調(diào),則網(wǎng)絡(luò)性能會(huì)更好。本文提出使用機(jī)器學(xué)習(xí)算法來(lái)對(duì)區(qū)域內(nèi)的多個(gè)候選小區(qū)進(jìn)行鄰區(qū)預(yù)規(guī)劃,并使用了監(jiān)督的機(jī)器學(xué)習(xí)和無(wú)監(jiān)督的機(jī)器學(xué)習(xí)方法,將鄰區(qū)規(guī)劃轉(zhuǎn)換為分類問(wèn)題進(jìn)行預(yù)測(cè)。方法整體流程如下(見(jiàn)圖1)。
圖1 基于機(jī)器學(xué)習(xí)的鄰區(qū)規(guī)劃流程
a)數(shù)據(jù)預(yù)處理,即構(gòu)造樣本集的特征屬性。
b)選擇機(jī)器學(xué)習(xí)算法進(jìn)行數(shù)據(jù)訓(xùn)練。
c)輸出預(yù)測(cè)結(jié)果。
假設(shè)當(dāng)前規(guī)劃的是小區(qū)B,需要通過(guò)機(jī)器學(xué)習(xí)預(yù)測(cè)小區(qū)A是否為小區(qū)B的鄰區(qū)。由于原始數(shù)據(jù)包含的站址、扇區(qū)方位角等信息不利于數(shù)據(jù)分析,先對(duì)數(shù)據(jù)進(jìn)行如下的預(yù)處理:
a)將2 個(gè)小區(qū)的經(jīng)度、緯度轉(zhuǎn)化為2 個(gè)小區(qū)之間的地面距離。假設(shè)地球是一個(gè)完美的球體,那么它的半徑就是地球的平均半徑,記為R=6 371 004 m。設(shè)小區(qū)A的經(jīng)緯度為(lonA,latA),小區(qū)B的經(jīng)緯度為(lonB,latB),如圖2所示??紤]到中國(guó)處于東北半球,根據(jù)三角推導(dǎo),可以得到圓心角:n=cos-1sin(latA)×sin(latB)+cos[latA×coslatB×cos(lonA-lonB)],則小區(qū)A、B之間的地面距離,即弧長(zhǎng)L=R×π×n/180。
圖2 小區(qū)經(jīng)緯度與小區(qū)距離
b)候選鄰區(qū)篩選。使用的工參數(shù)據(jù)包含132 個(gè)4G基站,每個(gè)基站配置3個(gè)小區(qū),如果任意2個(gè)小區(qū)之間的關(guān)系稱為一個(gè)小區(qū)關(guān)系對(duì),則這樣的小區(qū)關(guān)系對(duì)多達(dá)132 ×3-1+132 ×3-2+…+2+1=78 210 個(gè)。在典型的蜂窩模型中,以規(guī)劃小區(qū)為圓心,通常只會(huì)添加由內(nèi)而外的6 圈鄰區(qū)。因此,可以將數(shù)據(jù)進(jìn)行篩選,只選擇有用的候選鄰區(qū)進(jìn)行訓(xùn)練。本文選取的場(chǎng)景是居民區(qū),站間距約400 m,因此需要篩選出小區(qū)間距離小于2 500 m 的小區(qū)關(guān)系對(duì)。篩選后,有用數(shù)據(jù)為4 702個(gè)。篩選后的數(shù)據(jù),每個(gè)規(guī)劃小區(qū)包含6圈候選鄰區(qū),數(shù)量多達(dá)6×3×(1+2+3+4+5+6)=378個(gè)。而實(shí)際的鄰區(qū)數(shù)量為64 個(gè),因此除了距離之外,鄰區(qū)關(guān)系還要考慮如下的角度因素。
c)將2 個(gè)小區(qū)的扇區(qū)方位角、經(jīng)度、緯度轉(zhuǎn)化為2個(gè)小區(qū)之間的夾角,夾角angle定義為CellA和CellB的連線與2個(gè)小區(qū)天線法線方向的夾角的最小值,如圖3所示。
圖3 小區(qū)夾角示意圖
先來(lái)計(jì)算2 個(gè)小區(qū)連線的方位角。設(shè)dlon=lonBlonA,dlat=latB-latA,alpha’=|dlon/dlat|。根據(jù)dlon和dlat取值的不同,對(duì)alpha’做如下變換,得到小區(qū)連線的方位角alpha:
當(dāng)dlon>0,dlat>0時(shí),alpha=alpha’;
當(dāng)dlon>0,dlat<0時(shí),alpha=180-alpha’;
當(dāng)dlon<0,dlat>0時(shí),alpha=360-alpha’;
當(dāng)dlon<0,dlat<0時(shí),alpha=180+alpha’。
接下來(lái)求小區(qū)夾角angle,設(shè)小區(qū)A的扇區(qū)方位角為angleA,小區(qū)B的扇區(qū)方位角為angleB,則angle1=|alpha- angleA|,angle2=|alpha-angleB|,angle=min(angle1,angle2)。
根據(jù)上述原則,數(shù)據(jù)預(yù)處理后包含小區(qū)間距離和夾角2個(gè)特征。
機(jī)器學(xué)習(xí)算法分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí),二者的主要區(qū)別在于數(shù)據(jù)是否有“標(biāo)簽”。本文所述的“標(biāo)簽”即實(shí)際的鄰區(qū)關(guān)系表,體現(xiàn)了一個(gè)候選鄰區(qū)是否為規(guī)劃小區(qū)的鄰區(qū),即將預(yù)測(cè)結(jié)果分為2類:“鄰區(qū)”和“非鄰區(qū)”。下面對(duì)各種算法分別做簡(jiǎn)要介紹。
監(jiān)督學(xué)習(xí)使用了樸素貝葉斯分類(Na?ve Bayes,NB)、邏輯回歸(Logistic Regression,LR)、支持向量機(jī)(Support Vector Machine,SVM)、K近鄰(K Nearest Neighbors,KNN)算法。
邏輯回歸以線性回歸為基礎(chǔ),尋找一條線或者一個(gè)超平面,盡可能將所有樣本分為2 部分。實(shí)際處理就是把線性回歸的計(jì)算結(jié)果,經(jīng)過(guò)sigmoid 函數(shù)映射到新的地方去。設(shè)x為輸入樣本數(shù)據(jù),線性回歸就是找到一條擬合曲線:h(θ)=,而邏輯回歸需要得到輸入樣本為正類的概率hθ(x)=,這樣就會(huì)直觀地感受到所處理的樣本點(diǎn)屬于正類的概率為多大。本文使用梯度上升法來(lái)計(jì)算邏輯回歸算法的權(quán)重,迭代次數(shù)為150次。
支持向量機(jī)在機(jī)器學(xué)習(xí)當(dāng)中被當(dāng)作一種二分類模型,它的基本模型是定義在特征空間上的最大間隔的線性分類器,其學(xué)習(xí)策略就是間隔最大化,可形式化為一個(gè)求解凸二次規(guī)劃的問(wèn)題。支持向量機(jī)提供了一個(gè)方法,可以在多個(gè)分類器中尋找能更準(zhǔn)確分離測(cè)試數(shù)據(jù)的分類器。支持向量機(jī)的工作原理是:首先尋找能準(zhǔn)確分離訓(xùn)練數(shù)據(jù)的決策邊界;然后在所有這些決策邊界中選擇與最近鄰點(diǎn)的距離最大化的決策邊界。支持向量機(jī)分為線性和非線性,對(duì)于非線性引入了核函數(shù),將歐式空間通過(guò)一個(gè)非線性變換映射到一個(gè)希爾伯特空間,使得在輸入空間中的超曲面模型對(duì)應(yīng)于特征空間中的超平面模型,通過(guò)在特征空間中求解線性支持向量機(jī)就可以完成分類。本文使用了非線性的支持向量機(jī),核參數(shù)為rbf,松弛變量C=0.6,迭代終止條件toler=0.001,最大迭代次數(shù)maxIter=50。
K 近鄰算法首先找出一個(gè)樣本的K個(gè)最近的鄰居,然后將這些鄰居屬性的均值作為該樣本的屬性,甚至可以對(duì)不同距離的鄰居進(jìn)行加權(quán)。尤其當(dāng)分類的樣本數(shù)差異較大時(shí),采用加權(quán)的方式是很好的改進(jìn)方法。K 近鄰算法實(shí)際上是對(duì)特征空間的劃分,因此選擇的K值、距離度量、分類決策規(guī)則將影響算法的最終結(jié)果。本文使用K=15,距離度量采用歐氏距離,分類決策指定用距離權(quán)重的方式。K近鄰算法依靠周?chē)鶮個(gè)鄰近的樣本,適用于類域存在交叉或重疊的樣本集。但是該算法需要計(jì)算每個(gè)待分類樣本到全體已知樣本的距離,因此計(jì)算量較大。
無(wú)監(jiān)督學(xué)習(xí)使用了聚類算法中的K 均值算法(KMeans,KM)、高斯混合分布算法(Gauss Mixture Model,GMM)。
K 均值算法是聚類的一種,將數(shù)據(jù)集中的樣本劃分為若干個(gè)不相交的類,然后基于類進(jìn)行訓(xùn)練,最后意圖使每個(gè)類內(nèi)的屬性是類似的,每個(gè)類間的屬性是背離的。具體過(guò)程如下。
a)將樣本集D劃分為2類。
b)選取(0,0)作為“鄰區(qū)”的初始均值向量,選?。? 000,360)作為“非鄰區(qū)”的初始均值向量。
“真可憐!”男孩同情地嘆了一聲,正想著掏錢(qián)去買(mǎi)一個(gè)糖人,卻又立即搖了搖腦袋,“我現(xiàn)在自身都難保了,萬(wàn)一出去又被那家伙給黏上了怎么辦?再說(shuō)這糖人一點(diǎn)都不好玩,也不好吃,而且還有一股焦煳的味道,擎天柱和巧克力才是我的菜!”
c)考察每個(gè)樣本與當(dāng)前均值向量的距離并得到其歸屬的類。
d)基于當(dāng)前類劃分,求得新的均值向量。
e)迭代直到類劃分的結(jié)果不再變化,得到最終的類劃分。K 均值算法適用于某些屬性之間具備相似性,而另外一些屬性與這些屬性之間不相似的情況,否則,可能需要迭代更多的次數(shù)或者結(jié)果一直不收斂。本文中“鄰區(qū)”與“非鄰區(qū)”的屬性并不存在明顯的不同,因此K均值算法用于鄰區(qū)規(guī)劃的效果不理想。
高斯混合分布也是聚類算法的一種,它要求各個(gè)屬性之間獨(dú)立分布。高斯混合分布采用概率模型來(lái)表達(dá)聚類原型,定義如下:p(x)=在本文中,高斯混合分布由2個(gè)混合成分組成,且每個(gè)混合成分對(duì)應(yīng)一個(gè)高斯分布,ai為混合系數(shù)且滿足=1,可根據(jù)最大似然估計(jì)求解模型參數(shù){(ai,μi,σi)|i=(1,2)}。高斯混合分布算法的步驟如下。
a)初始化模型參數(shù)。
b)計(jì)算樣本由各混合成分生成的后驗(yàn)概率。
c)更新模型參數(shù)。
d)重復(fù)步驟b)~c),直到最大似然函數(shù)不再增長(zhǎng),得到最終的分類結(jié)果。高斯混合分布通過(guò)增加分類個(gè)數(shù)來(lái)逼近連續(xù)的概率密度分布,本文中K=2,分類數(shù)較小,效果不理想。
表1給出了相關(guān)仿真參數(shù)。
圖4 和圖5 是樣本數(shù)為1 107 個(gè)時(shí),各類算法的預(yù)測(cè)結(jié)果。每個(gè)點(diǎn)代表一個(gè)候選鄰區(qū),橫軸和縱軸分別代表候選鄰區(qū)與規(guī)劃小區(qū)之間的距離(單位:m)和夾角(單位:°),藍(lán)色代表此候選小區(qū)被預(yù)測(cè)為鄰區(qū),紅色代表預(yù)測(cè)為非鄰區(qū)。
圖5 無(wú)監(jiān)督學(xué)習(xí)算法的預(yù)測(cè)結(jié)果
為了更精確地了解各種算法的性能,預(yù)測(cè)結(jié)果通常用準(zhǔn)確率、召回率和精確率3 個(gè)指標(biāo)來(lái)評(píng)估。首先定義表2所示的混淆矩陣。
基于表2矩陣,定義:
表2 混淆矩陣
準(zhǔn)確率=(TP+TN)/(TP+TN+FN+FP),即準(zhǔn)確率是預(yù)測(cè)正確的小區(qū)數(shù)量/總的小區(qū)數(shù)量。
召回率=TP/(TP+FN),即召回率是標(biāo)記為鄰區(qū)的小區(qū)中正確的數(shù)量/標(biāo)記為鄰區(qū)的小區(qū)數(shù)量。
精確率=TP/(TP+FP),即精確率是預(yù)測(cè)為鄰區(qū)的小區(qū)中正確的數(shù)量/預(yù)測(cè)為鄰區(qū)的小區(qū)數(shù)量。
由于訓(xùn)練集和測(cè)試集都是從數(shù)據(jù)集中按比例隨機(jī)選取的,因此每次程序運(yùn)行的結(jié)果都略有差異??梢詫⒊绦蜻\(yùn)行多次(本文運(yùn)行了10次),將上述指標(biāo)分別取平均值,得到如圖6所示的性能與樣本數(shù)的關(guān)系。
圖6 監(jiān)督學(xué)習(xí)算法性能與樣本數(shù)的關(guān)系
從以上仿真結(jié)果來(lái)看:
a)分類之間沒(méi)有明顯的界限。這是因?yàn)閿?shù)據(jù)集的2 個(gè)特征屬性都是連續(xù)的屬性,且篩選出來(lái)的小區(qū)都是候選鄰區(qū),只是因?yàn)猷弲^(qū)數(shù)量的限制,優(yōu)先級(jí)高的候選鄰區(qū)被劃分到了“鄰區(qū)”類,而優(yōu)先級(jí)較低的候選鄰區(qū)被劃分到了“非鄰區(qū)”類。如果允許添加更多的鄰區(qū),則分類結(jié)果會(huì)不一樣。
b)基于監(jiān)督的機(jī)器學(xué)習(xí)算法更勝一籌,這是因?yàn)楸O(jiān)督學(xué)習(xí)算法能夠依據(jù)“標(biāo)簽”的指導(dǎo)更好地訓(xùn)練數(shù)據(jù),進(jìn)而得到更為準(zhǔn)確的結(jié)果。
c)幾種監(jiān)督學(xué)習(xí)算法都可以滿足82%以上的準(zhǔn)確性,這也說(shuō)明了機(jī)器學(xué)習(xí)算法在鄰區(qū)規(guī)劃領(lǐng)域的可行性。
d)在訓(xùn)練的幾種監(jiān)督學(xué)習(xí)算法中,SVM、KNN、LR的性能更好,NB 的效果略差。這是因?yàn)镹B 算法計(jì)算每個(gè)候選鄰區(qū)在給定分類下的條件概率,哪種分類下的概率大,就將其劃分為哪類。本文中的特征屬性分別是小區(qū)間距離及小區(qū)間夾角,很明顯,距離的取值遠(yuǎn)大于夾角的取值,這會(huì)導(dǎo)致距離對(duì)最終結(jié)果的影響占主導(dǎo)地位。為了進(jìn)行優(yōu)化,需要同時(shí)考慮小區(qū)間夾角,可以對(duì)特征值進(jìn)行加權(quán),比如對(duì)距離屬性賦予較小的加權(quán)系數(shù),對(duì)角度屬性賦予較大的加權(quán)系數(shù)。
e)隨著樣本數(shù)增加,各類算法的準(zhǔn)確率和召回率也在升高,精確率略有浮動(dòng)。這種結(jié)果是合理的,因?yàn)樗惴〞?huì)在“過(guò)度擬合”與“欠擬合”之間自適應(yīng)調(diào)整參數(shù),因此精確率和召回率有時(shí)是矛盾的。在鄰區(qū)規(guī)劃問(wèn)題上,為不影響切換,算法期望將被標(biāo)記為鄰區(qū)的小區(qū)都預(yù)測(cè)為鄰區(qū)。也就是說(shuō),算法期望召回率越高越好,在此基礎(chǔ)上,期望準(zhǔn)確率和精確率也是越高越好。根據(jù)圖6 的統(tǒng)計(jì)分析,總體來(lái)說(shuō),樣本數(shù)越多,性能越好。
本文以中國(guó)移動(dòng)某縣的4G工參數(shù)據(jù)為例,研究了鄰區(qū)規(guī)劃問(wèn)題,此技術(shù)可用于2G、3G、5G 及未來(lái)移動(dòng)通信網(wǎng)絡(luò)的鄰區(qū)規(guī)劃。鄰區(qū)規(guī)劃可以分2 步走:第1步,使用監(jiān)督學(xué)習(xí)算法進(jìn)行鄰區(qū)預(yù)規(guī)劃,第2 步使用ANR 算法進(jìn)行鄰區(qū)管理。本文著重研究了基于機(jī)器學(xué)習(xí)的鄰區(qū)預(yù)規(guī)劃,得出了監(jiān)督學(xué)習(xí)算法可用于鄰區(qū)規(guī)劃的結(jié)論。后續(xù)機(jī)器學(xué)習(xí)算法可以結(jié)合用戶的測(cè)量上報(bào)結(jié)果,對(duì)鄰區(qū)進(jìn)行調(diào)整,完全替代現(xiàn)有的ANR算法,實(shí)現(xiàn)基于機(jī)器學(xué)習(xí)的鄰區(qū)管理。