融合PSO和SS‑ELM的蜂窝网无线定位方法与流程

文档序号:11411550阅读:376来源:国知局
融合PSO和SS‑ELM的蜂窝网无线定位方法与流程

本发明属于模式识别和计算智能领域内的一种蜂窝网络无线定位方法,具体涉及粒子群优化(particleswarmoptimization,pso)和半监督极限学习机(semi-supervisedextremelearningmachine,ss-elm)。



背景技术:

高度发达的蜂窝网络系统和覆盖全球的蜂窝网络信号使得蜂窝网络系统是最为广泛使用的移动通信系统,和智能手机的普及使得基于蜂窝网系统的定位技术成为了一种重要的室外定位技术。尤其在卫星定位系统,如全球定位系统(gps)不可用的情况下,智能手机只能依靠蜂窝网络系统进行室外的定位。与此同时随着物联网技术的发展,接入蜂窝网络的智能设备将会越来越多,获取智能设备的位置信息将会成为各种应用场景的先决条件。

与toa,tdoa,aoa等基于几何距离的传统定位技术相比,接收信号强度(rss)和机器学习算法更适用于在无线电信号非视距传播(nlos)的环境下对移动设备进行定位。但是由于因为有监督的机器学习算法训练所需要的rss指纹数据,即带有位置信息和接收信号强度(rss)的“有标签训练数据”的采集,需要通过可移动的信号采集设备在定位的目标区域中获取接收信号强度和对应的位置信息(二维的经纬度或者一维的位置区域标示),特别是在广阔的室外环境收集到足够的rss指纹数据则需要更多时间和人力成本。于此相反获取不含位置信息的无标签接收信号强度(rss)数据的所付出的代价要少很多,我们可以从目标服务区内的手机上传的mr(measurementreport)数据中提取出大量接收信号强度(rss)数据,但这些数据不包含位置信息,我们称之为“无标签训练数据”。模式识别领域中半监督学习,无标签数据是有标签训练数据的补充,在有标签训练数据较少的情况下无标签数据可以提高算法预测和识别的准确率。

半监督极限学习机(semi-supervisedextremelearningmachine)以下简称ss-elm是一种单隐藏层的神经网络,具有训练速度快泛化能力好的特点,同时该算法可以结合有标签和无标签训练数据进行训练。但是ss-elm对范数和流形正则约束十分敏感,在实际的应用中没有系统的理论指导我们去优化约束的超参数,而ss-elm的训练过程本身只对输出层权值β进行训练优化,也不存在系统的理论对ss-elm超参数优化进行指导,所以ss-elm超参数的优化往往只能通过有经验的工作人员根据具体的业务场景进行反复的实验。



技术实现要素:

本发明的实施方案分为两大步骤:目的在于解决基于rss指纹数据的蜂窝网络环境下的定位需要采集较多的有标签训练数据,使用ss-elm在实现同等定位精度下,ss-elm需要的有标签训练数据较少,从而降低了人工收集有标签训练数据的成本。同时本发明是ss-elm和pso的结合,利用pso对ss-elm的超参数进行自动优化,减少了算法参数调优中的人工干预,提高生产应用的效率。本发明通过如下技术方案实现。

融合pso和ss-elm的蜂窝网无线定位方法,其包括使用有标签训练数据和无标签训练数据对ss-elm的输出层权值参数β作进行训练,在ss-elm训练过程中使用pso对ss-elm的超参数进行自动优化,pso的适应度值计算函数的计算涵盖了有标签训练数据和无标签训练数据,经过pso优化筛选后得到的最优ss-elm参数作为回归模型用于在线定位服务。

进一步地,以设备接收信号强度(rss)作为输入,对ss-elm进行训练和优化得到ss-elm参数作为回归模型提供蜂窝网络环境下的在线定位服务。

进一步地,在对ss-elm输出层权值参数β的训练过程中同时使用了有标签训练数据和无标签训练数据。

进一步地,pso算法的适应度值计算函数的计算涵盖了有标签训练和无标签训练数据,粒子适应度计算函数的具体定义为:

其中i、j、k、n分别表示粒子的编号、有标签训练数据实例编号、标签向量的维度编号、标签向量总维度,l为训练数据集中有标签训练数据的数目,u为训练数据集中无标签训练数据的数目,表示ss-elm在训练数据集上对有标签训练数据进行预测的标签预测值,y表示有标签训练数据的标签实际值,为每次迭代训练中ss-elm在训练集上做预测所产生的极端值的比例。

进一步地,在ss-elm训练和优化的过程中使用pso对ss-elm的关键参数:范数超参数cβ、流形正则超参数λ进行调节和优化;pso对ss-elm超参数cβ、λ的优化计算方式具体如下:pso在规定的搜索空间内随机地生成粒子,每一个粒子以一定的速度移动到全局搜索最优的解的位置;在粒子群算法的每一次迭代中每一个粒子都会根据自己的动量和自身最佳的位置pb和全局最佳pg位置的影响因素调整自己的速度,同时计算出自己在本次迭代中的位置;粒子群的搜索空间的维度是2,总粒子群个数为n,某个粒子ith每次迭代的位置可以表示为向量xi=(xi1,xi2),xi1∈[-10,0],xi2∈[-10,0];粒子位置和超参数的关系表示为该粒子从搜索开始至今的个体最优位置表示为pib=(pi1,pi2),粒子的运动速度表示为向量vi=(vi1,vi2,),全局最优位置pg=(pg1,pg2),在每一次迭代粒子会更新当前的速度和位置,并根据粒子当前位置利用适度函数f(xi)计算粒子适应度,更新个体最优位置和全局最优位置;pso各变量在迭代中的更新可用下列的公式表示:

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)

其中正数c1,c2是加速度因子,rand()是0和1之间的随机数;vmax和vmin分别是粒子速度的上界和下界,t为算法迭代的代数;迭代过程中当全局最优位置所对应的粒子适应度收敛不再随着迭代发生变化时停止迭代计算,通过全局最优粒子位置和超参数的对应关系能得到最优的超参数。

与现有技术相比,本发明的有益效果在于:

1)在训练数据较少的情况下相比使用监督学习方法,使用半监督学习算法ss-elm可以得到更好的定位精度。

2)ss-elm对超参数的选择比较敏感,往往需要有经验的技术人员根据不同的业务场景进行反复的实验调节参数,本发明使用了pso对ss-elm的超参数进行自动优化和调节,减少了人工干预。

3)与传统的pso仅仅使用标签训练数据不同本发明的pso基于同时基于有标签训练数据和无标签训练数据进行迭代训练,并采用了公式(1)作为适应度值计算函数使得经过pso优化过的ss-elm更为健壮稳定,对用户的定位更为精准。

附图说明

图1为本发明方法的具体实施过程中离线训练部分的流程图。

图2为本发明方法的具体实施过程中在线预测部分的流程图。

图3为本发明所使用的ss-elm神经网络拓扑图。

图4为本发明具体实施例中pso适应度值在迭代训练中的变化趋势。

具体实施方式

以下结合附图和实例对本发明的具体实施作进一步说明,但本发明的实施和保护不限于此。本发明通过以下的实施方案分为两大步骤:

步骤一、使用部分有标签训练数据和无标签训练数据通过融合pso对ss-elm算法的模型进行离线训练,与传统的人工调参法不同,融合pso和ss-elm的目的在于利用pso搜索和筛选出在不同业务场景ss-elm的最优超参,得出最优的模型。

步骤二、利用最优的ss-elm模型对用户的设备进行在线定位。

上述步骤一中ss-elm和pso训练的关键计算方法介绍如下:

假设给定有l个带标签的rss指纹数据样本集合{(rk,yk)|k=1,2,3,…,l}l和u个不带标签的rss数据样本集合,{rk|k=1,2,3,…,u}u其中r分量为接收信号强度(rss),y分量为位置信息,选取sigmoid函数作为ss-elm的隐藏层激活函数,则ss-elm的训练需要满足如下目标函数:

s.t.f=hβ

其中

a为输入层连接隐藏层的权重,b为隐藏层的偏置,β为ss-elm中连接隐藏层和输出层的权重,cβ和λ分别对应范数和流形正则项的超参数。ce是(l+u)×(l+u)的权重方阵,[ce]jj=1,j=1,2…l,其余的元素等于零,l和u分别是有标签训练数据和无标签训练数据的数目。tr(·)表示矩阵的迹,l是拉普拉斯矩阵,d是对角矩阵,其中。wij是xi和xj之间的属性相似度:

l=d-w(12)

由于极限学习机只需要训练和校正输出层和隐藏层之间的权重β,所以对ss-elm的训练等同于求解满足公式(7)的权重β。所以对公式(7)进行求导,令其导数为0得到下列公式:

如果矩阵h的行数大于列数则公式(13)中β的近似解为:

如果h的列数大于行数

β*=ht(cβi(l+u)×(1+u)+cehht+λlhht)-1cet(15)

其中i是维单位矩阵。

pso在规定的搜索空间内随机地生成粒子,每一个粒子以一定的速度移动到全局搜索最优的解的位置。在pso的每一次迭代中每一个粒子都会根据自己的动量和自身最佳的位置(pb)和全局最佳(pg)位置的影响因素调整自己的速度,同时计算出自己在本次迭代中的位置。假设我们的搜索空间是的维度是d,总粒子群个数为n,某个粒子ith每次迭代的位置可以表示为向量xi=(xi1,xi2,…,xid),该粒子从搜索开始至今的个体最优位置表示为pib=(pi1,pi2,…,pid),粒子的运动速度表示为向量vi=(vi1,vi2,…,vid),全局最优位置pg=(pg1,pg2,…,pgd),在每一次迭代粒子会更新当前的速度和位置,并根据粒子当前位置利用适度函数f(xi)计算粒子的适度更新个体最优位置和全局最优位置。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)

其中正数c1,c2是加速度因子,rand()是0和1之间的随机数;vmax和vmin分别是粒子速度的上界和下界,t为算法迭代的代数。

下面以二维空间为例对本发明的实施方案做进一步的说明。

步骤1:随机初始化一批数量为n粒子,每个粒子的初始位置xi=(xi1,xi2),其中xi1∈[-10,0]、xi2∈[-10,0],i表示粒子的编号。对应地为每个粒子构建一个ss-elm实例:其中,ai、bi、βi、cβi、λi分别表示输入层权重、隐藏层偏置、输出层权重、范数超参数、流形正则项的超参数。根据输入参数维度设置ss-elm输入层神经元的个数设置隐藏层神经元个数对ss-elm的输入层权重ai,隐藏层的偏置bi进行随机赋值取值范围为[0,1],同时令ss-elm中的范数和流形正则项的超参数分别表示为以10为底的指数表示:

初始化权重方阵ce的对角元素[ce]jj=1,j=1,2…l,j表示方阵元素的下标,l表示有标签训练数据的个数,方阵ce其余的元素初始化为0。

步骤2:表1为定位目标区域的rss指纹数据实例,表1中前35列为设备的rss信息用字母r表示,后两列表示对应设备的二维位置坐标用字母y表示,则该实例中有标签训练数据集可以表示为{(rk,yk)|k=1,2,3,…,l}l,其中l为有标签训练数据的数目。分别对前35列的rss和后两列位置坐标信息进行归一化处理后按照公式(8)~(12)计算ss-elm的隐藏层输出h和拉普拉斯矩阵l。

表1.rss数据实例

步骤3:实例根据公式(14)或公式(15)计算每个ss-elm实例的对应输出层权重

并按如下的公式利用本次迭代训练输出权重在训练数据集上进行预测

其次,统计预测集中极端值样本比例极端值的定义为:对于任意的如果不满足则该样本属于极端值。假设极端值样本个数为κ,可以得到

最后按照公式(22)计算每个粒子的适应度值

根据公式(16)~(20)对各粒子的位置和速度以及个体最佳位置全局最佳位置等变量进行更新,并根据更新后的粒子重新计算ss-elm的超参数cβi和λi。

步骤4:重复步骤3的计算直到全局最优粒子的适应度值收敛不再发生变化如图3所示。

步骤5:选取上述步骤中全局最佳的粒子pg,以及对应的ss-elm参数作为最终回归模型用于在线定位。

步骤6:对于在线的定位请求输入当前设备接收信号强度信息,按照步骤2中使用的归一化方法得到归一化后的接收信号强度数据通过如下公式计算得出

做反归一化后得到设备的最终位置。

上述中步骤1到步骤5为离线训练部分,步骤6为在线定位部分。上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1