基于机器学习的邻区规划研究
2022-08-17尹志宁陈庆涛大唐移动通信设备有限公司北京100083
尹志宁,陈庆涛(大唐移动通信设备有限公司,北京 100083)
1 邻区规划概述
网络通过切换过程实现接入用户的移动性管理。当用户在业务进行过程中到达小区边界,需要切换到相邻小区以保证业务性能。合理地配置邻区关系,可以降低切换失败的概率。
NR 的每个频点上都可以有多个小区,将所有的小区都配置为邻区是不现实的,一方面基站产品对邻区个数存在限制,另一方面,邻区关系做的过多,则导致测量报告的精确性降低,容易造成频繁切换、乒乓切换等问题。但是邻区关系做的太少,会造成大量掉话,在实际的邻区规划中要根据具体情况实施合理的邻区规划。
对于邻区规划,现网的主要方案是自动邻区关系(Automatic Neighbor Relations,ANR)。ANR 方案基于用户的测量上报、切换请求等来管理邻区关系。用户通过测量报告上报邻区物理小区标识后,如果服务小区所在基站发现用户上报的小区不在邻区关系表中,则会通过无线资源控制重配置消息指示用户读取该小区的全球小区标识(Global Cell Identity,GCI)。基站获取到用户上报的GCI 之后,即得知该小区的基本信息,会将该小区加入到邻区关系表。一般读取GCI 的时间较长,因此基站需要调度合适的间隙使用户读取邻区的广播信道,以获取GCI。在建网之初,需要添加大量的邻区关系,那么用户需要读取多个小区的CGI,会带来切换延迟。
若在建网之初,对邻区做一次预规划,即静态地规划一些邻区,当网络运行后,再由ANR 算法进行动态地微调,则网络性能会更好。本文提出使用机器学习算法来对区域内的多个候选小区进行邻区预规划,并使用了监督的机器学习和无监督的机器学习方法,将邻区规划转换为分类问题进行预测。方法整体流程如下(见图1)。
图1 基于机器学习的邻区规划流程
a)数据预处理,即构造样本集的特征属性。
b)选择机器学习算法进行数据训练。
c)输出预测结果。
2 数据预处理
假设当前规划的是小区B,需要通过机器学习预测小区A是否为小区B的邻区。由于原始数据包含的站址、扇区方位角等信息不利于数据分析,先对数据进行如下的预处理:
a)将2 个小区的经度、纬度转化为2 个小区之间的地面距离。假设地球是一个完美的球体,那么它的半径就是地球的平均半径,记为R=6 371 004 m。设小区A的经纬度为(lonA,latA),小区B的经纬度为(lonB,latB),如图2所示。考虑到中国处于东北半球,根据三角推导,可以得到圆心角:n=cos-1sin(latA)×sin(latB)+cos[latA×coslatB×cos(lonA-lonB)],则小区A、B之间的地面距离,即弧长L=R×π×n/180。
图2 小区经纬度与小区距离
b)候选邻区筛选。使用的工参数据包含132 个4G基站,每个基站配置3个小区,如果任意2个小区之间的关系称为一个小区关系对,则这样的小区关系对多达132 ×3-1+132 ×3-2+…+2+1=78 210 个。在典型的蜂窝模型中,以规划小区为圆心,通常只会添加由内而外的6 圈邻区。因此,可以将数据进行筛选,只选择有用的候选邻区进行训练。本文选取的场景是居民区,站间距约400 m,因此需要筛选出小区间距离小于2 500 m 的小区关系对。筛选后,有用数据为4 702个。筛选后的数据,每个规划小区包含6圈候选邻区,数量多达6×3×(1+2+3+4+5+6)=378个。而实际的邻区数量为64 个,因此除了距离之外,邻区关系还要考虑如下的角度因素。
c)将2 个小区的扇区方位角、经度、纬度转化为2个小区之间的夹角,夹角angle定义为CellA和CellB的连线与2个小区天线法线方向的夹角的最小值,如图3所示。
图3 小区夹角示意图
先来计算2 个小区连线的方位角。设dlon=lonBlonA,dlat=latB-latA,alpha’=|dlon/dlat|。根据dlon和dlat取值的不同,对alpha’做如下变换,得到小区连线的方位角alpha:
当dlon>0,dlat>0时,alpha=alpha’;
当dlon>0,dlat<0时,alpha=180-alpha’;
当dlon<0,dlat>0时,alpha=360-alpha’;
当dlon<0,dlat<0时,alpha=180+alpha’。
接下来求小区夹角angle,设小区A的扇区方位角为angleA,小区B的扇区方位角为angleB,则angle1=|alpha- angleA|,angle2=|alpha-angleB|,angle=min(angle1,angle2)。
根据上述原则,数据预处理后包含小区间距离和夹角2个特征。
3 基于机器学习的邻区预测方法
机器学习算法分为监督学习和无监督学习,二者的主要区别在于数据是否有“标签”。本文所述的“标签”即实际的邻区关系表,体现了一个候选邻区是否为规划小区的邻区,即将预测结果分为2类:“邻区”和“非邻区”。下面对各种算法分别做简要介绍。
3.1 监督学习算法
监督学习使用了朴素贝叶斯分类(Naïve Bayes,NB)、逻辑回归(Logistic Regression,LR)、支持向量机(Support Vector Machine,SVM)、K近邻(K Nearest Neighbors,KNN)算法。
逻辑回归以线性回归为基础,寻找一条线或者一个超平面,尽可能将所有样本分为2 部分。实际处理就是把线性回归的计算结果,经过sigmoid 函数映射到新的地方去。设x为输入样本数据,线性回归就是找到一条拟合曲线:h(θ)=,而逻辑回归需要得到输入样本为正类的概率hθ(x)=,这样就会直观地感受到所处理的样本点属于正类的概率为多大。本文使用梯度上升法来计算逻辑回归算法的权重,迭代次数为150次。
支持向量机在机器学习当中被当作一种二分类模型,它的基本模型是定义在特征空间上的最大间隔的线性分类器,其学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题。支持向量机提供了一个方法,可以在多个分类器中寻找能更准确分离测试数据的分类器。支持向量机的工作原理是:首先寻找能准确分离训练数据的决策边界;然后在所有这些决策边界中选择与最近邻点的距离最大化的决策边界。支持向量机分为线性和非线性,对于非线性引入了核函数,将欧式空间通过一个非线性变换映射到一个希尔伯特空间,使得在输入空间中的超曲面模型对应于特征空间中的超平面模型,通过在特征空间中求解线性支持向量机就可以完成分类。本文使用了非线性的支持向量机,核参数为rbf,松弛变量C=0.6,迭代终止条件toler=0.001,最大迭代次数maxIter=50。
K 近邻算法首先找出一个样本的K个最近的邻居,然后将这些邻居属性的均值作为该样本的属性,甚至可以对不同距离的邻居进行加权。尤其当分类的样本数差异较大时,采用加权的方式是很好的改进方法。K 近邻算法实际上是对特征空间的划分,因此选择的K值、距离度量、分类决策规则将影响算法的最终结果。本文使用K=15,距离度量采用欧氏距离,分类决策指定用距离权重的方式。K近邻算法依靠周围K个邻近的样本,适用于类域存在交叉或重叠的样本集。但是该算法需要计算每个待分类样本到全体已知样本的距离,因此计算量较大。
3.2 无监督学习算法
无监督学习使用了聚类算法中的K 均值算法(KMeans,KM)、高斯混合分布算法(Gauss Mixture Model,GMM)。
K 均值算法是聚类的一种,将数据集中的样本划分为若干个不相交的类,然后基于类进行训练,最后意图使每个类内的属性是类似的,每个类间的属性是背离的。具体过程如下。
a)将样本集D划分为2类。
b)选取(0,0)作为“邻区”的初始均值向量,选取(3 000,360)作为“非邻区”的初始均值向量。
“真可怜!”男孩同情地叹了一声,正想着掏钱去买一个糖人,却又立即摇了摇脑袋,“我现在自身都难保了,万一出去又被那家伙给黏上了怎么办?再说这糖人一点都不好玩,也不好吃,而且还有一股焦煳的味道,擎天柱和巧克力才是我的菜!”
c)考察每个样本与当前均值向量的距离并得到其归属的类。
d)基于当前类划分,求得新的均值向量。
e)迭代直到类划分的结果不再变化,得到最终的类划分。K 均值算法适用于某些属性之间具备相似性,而另外一些属性与这些属性之间不相似的情况,否则,可能需要迭代更多的次数或者结果一直不收敛。本文中“邻区”与“非邻区”的属性并不存在明显的不同,因此K均值算法用于邻区规划的效果不理想。
高斯混合分布也是聚类算法的一种,它要求各个属性之间独立分布。高斯混合分布采用概率模型来表达聚类原型,定义如下:p(x)=在本文中,高斯混合分布由2个混合成分组成,且每个混合成分对应一个高斯分布,ai为混合系数且满足=1,可根据最大似然估计求解模型参数{(ai,μi,σi)|i=(1,2)}。高斯混合分布算法的步骤如下。
a)初始化模型参数。
b)计算样本由各混合成分生成的后验概率。
c)更新模型参数。
d)重复步骤b)~c),直到最大似然函数不再增长,得到最终的分类结果。高斯混合分布通过增加分类个数来逼近连续的概率密度分布,本文中K=2,分类数较小,效果不理想。
4 仿真结果
4.1 仿真参数
表1给出了相关仿真参数。
4.2 预测结果
图4 和图5 是样本数为1 107 个时,各类算法的预测结果。每个点代表一个候选邻区,横轴和纵轴分别代表候选邻区与规划小区之间的距离(单位:m)和夹角(单位:°),蓝色代表此候选小区被预测为邻区,红色代表预测为非邻区。
图5 无监督学习算法的预测结果
为了更精确地了解各种算法的性能,预测结果通常用准确率、召回率和精确率3 个指标来评估。首先定义表2所示的混淆矩阵。
基于表2矩阵,定义:
表2 混淆矩阵
准确率=(TP+TN)/(TP+TN+FN+FP),即准确率是预测正确的小区数量/总的小区数量。
召回率=TP/(TP+FN),即召回率是标记为邻区的小区中正确的数量/标记为邻区的小区数量。
精确率=TP/(TP+FP),即精确率是预测为邻区的小区中正确的数量/预测为邻区的小区数量。
由于训练集和测试集都是从数据集中按比例随机选取的,因此每次程序运行的结果都略有差异。可以将程序运行多次(本文运行了10次),将上述指标分别取平均值,得到如图6所示的性能与样本数的关系。
图6 监督学习算法性能与样本数的关系
4.3 结果分析
从以上仿真结果来看:
a)分类之间没有明显的界限。这是因为数据集的2 个特征属性都是连续的属性,且筛选出来的小区都是候选邻区,只是因为邻区数量的限制,优先级高的候选邻区被划分到了“邻区”类,而优先级较低的候选邻区被划分到了“非邻区”类。如果允许添加更多的邻区,则分类结果会不一样。
b)基于监督的机器学习算法更胜一筹,这是因为监督学习算法能够依据“标签”的指导更好地训练数据,进而得到更为准确的结果。
c)几种监督学习算法都可以满足82%以上的准确性,这也说明了机器学习算法在邻区规划领域的可行性。
d)在训练的几种监督学习算法中,SVM、KNN、LR的性能更好,NB 的效果略差。这是因为NB 算法计算每个候选邻区在给定分类下的条件概率,哪种分类下的概率大,就将其划分为哪类。本文中的特征属性分别是小区间距离及小区间夹角,很明显,距离的取值远大于夹角的取值,这会导致距离对最终结果的影响占主导地位。为了进行优化,需要同时考虑小区间夹角,可以对特征值进行加权,比如对距离属性赋予较小的加权系数,对角度属性赋予较大的加权系数。
e)随着样本数增加,各类算法的准确率和召回率也在升高,精确率略有浮动。这种结果是合理的,因为算法会在“过度拟合”与“欠拟合”之间自适应调整参数,因此精确率和召回率有时是矛盾的。在邻区规划问题上,为不影响切换,算法期望将被标记为邻区的小区都预测为邻区。也就是说,算法期望召回率越高越好,在此基础上,期望准确率和精确率也是越高越好。根据图6 的统计分析,总体来说,样本数越多,性能越好。
5 结束语
本文以中国移动某县的4G工参数据为例,研究了邻区规划问题,此技术可用于2G、3G、5G 及未来移动通信网络的邻区规划。邻区规划可以分2 步走:第1步,使用监督学习算法进行邻区预规划,第2 步使用ANR 算法进行邻区管理。本文着重研究了基于机器学习的邻区预规划,得出了监督学习算法可用于邻区规划的结论。后续机器学习算法可以结合用户的测量上报结果,对邻区进行调整,完全替代现有的ANR算法,实现基于机器学习的邻区管理。