CN109743683A - 一种采用深度学习融合网络模型确定手机用户位置的方法 - Google Patents
一种采用深度学习融合网络模型确定手机用户位置的方法 Download PDFInfo
- Publication number
- CN109743683A CN109743683A CN201811468582.0A CN201811468582A CN109743683A CN 109743683 A CN109743683 A CN 109743683A CN 201811468582 A CN201811468582 A CN 201811468582A CN 109743683 A CN109743683 A CN 109743683A
- Authority
- CN
- China
- Prior art keywords
- normalization
- lon
- lat
- mobile phone
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明公开了一种基于深度学习融合网络模型的手机定位方法,该方法利用深度学习中的栈式自编码器进行用户手机记录数据的处理,得到手机用户所在位置是属于室内还是室外;然后针对室内采用栈式自编码器、卷积神经网络与全连接神经网络顺次处理得到高精度手机用户定位;对于室外采用栈式自编码器、长短时记忆网络与卡尔曼滤波顺次处理得到优化后的手机用户的位置轨迹。本发明方法充分考虑了移动通信工参数据的多源异构性,从而尽可能地消除手机信号在传播过程中产生的噪声干扰,提升定位的精度。
Description
技术领域
本发明涉及大数据的深度学习技术领域,更特别地说,是指一种采用深度学习融合网络模型确定手机用户位置的方法。
背景技术
早在1996年,美国联邦通信委员会(FCC)就在E-911条例中要求移动商提供紧急救援服务,以方便移动用户拨打911时快速获知用户位置信息,其目的在于更为迅速有效的为用户提供公共救助服务。E-911条例对移动网络运营商提出的参数指标为67%的定位成功概率和125m以内的定位精度,当然定位必须在特定时间内完成,否则即使完成定位也不会具有太大意义。E-911条例的发布体现了人们对于时间和空间位置信息的需求量日益增长,其实这是社会发展的必然。随着信息技术的发展以及人类活动的进程一体化,移动定位及导航占据了越来越重要的位置。精确的定位导航信息能够为普通百姓带来方便,提高生活质量;更能够为军事机构提供信息,降低动乱发生的概率,追踪敌人动态,从而降低伤亡率。此外,地理信息系统以及移动通讯的发展,对人员、车辆、事件等移动目标的定位也有着迫切的需求。
因此,移动定位技术有着广泛的应用前景和巨大的市场潜力,很多国家相继提出相关政策或号召大力发展定位技术,针对各行业的商用定位服务层出不穷,研究愈发深入。美国和欧盟发展最为迅速,产品也最为成熟。移动通信网络覆盖了世界大多人口稠密区,用户数以亿计,它的定位导航功能的意义和所牵涉的投资也是不言而喻的。中国是世界上移动通信网络最大,用户最多的国家,其定位功能正在发展之中。因此需要有更多这方面的研究,这对我国移动定位导航技术及通信业务的拓展是有意义的。
目前来看,主流的技术比较完善的定位方法大多是通过对接收到的手机信号的一些参数进行测量,这些参数一般有传输时间、幅度、相位、到达角等,根据一定的算法来判断被测物体的位置。主要的定位方法可以分为基于终端定位、基于网络定位,以及GPS辅助定位这3种方法,但各自都存在一定的问题,如CELL-ID(小区号)定位方法最简单,算法全网适用,速度快,但是精度最低;AOA(基于到达角度)定位方法因为需要接收机具有高精度的智能天线阵列,对系统要求太高;而GPS方法需要手机内置GPS芯片,在天气环境以及周边环境较差时终端无法接收到卫星信号。
深度学习源于人工神经网络的研究。含多隐层的多层感知器(Multi-LayerPerception,MLP)就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习能够获得可更好地表示数据的特征,同时由于模型的层次深、表达能力强,因此有能力表示大规模数据。在人工神经网络领域内,深度学习算法近年来取得了重大的突破,它通过组合低层特征形成更加抽象的高层特征,来发现数据的分布式特征。
发明内容
本发明提供一种基于深度学习融合模型的手机定位方法,以实现高精度的手机定位、室内外位置区分以及用户的移动轨迹纠偏等移动定位方面的功能。
为了实现上述目的,本发明提出了的一种采用深度学习融合网络模型确定手机用户位置的方法,通过三个步骤实现手机定位。
步骤一,对用户手机记录数据和工参数据利用深度学习中的栈式自编码器(Stacked AutoEncoder,SAE)和卷积神经网络(Convolutional Neural Network,CNN)分别提取出小区BS的工参特征SAE_Features和地形高度特征Cen_Area;而后将其输入到全连接神经网络(Fully-Connected Neural Network,FCN)进行特征融合,使两种不同的特征能够进行共享并预测出用户的经纬度位置,从而实现高精度定位;
步骤二,采用深度学习中的栈式自编码器方法对用户手机能够接收到多个小区BS的信号、经纬度特征、手机位置的室内标签或者外标签进行处理,得到栈式自编码器模型的输入特征,记为Model_Features;然后将Model_Features在栈式自编码器模型中进行训练,得到手机用户所在位置是属于室内还是室外;若为室内,则执行步骤一;若为室外,则执行步骤三;
步骤三,采用深度学习中的栈式自编码器对用户手机记录数据和工参数据进行处理,得到连续时段内手机用户的位置轨迹;然后采用深度学习中的长短时记忆网络对所述手机用户的位置轨迹进行纠偏,得到纠偏后位置轨迹;最后采用卡尔曼滤波对纠偏后位置轨迹进行平滑处理,得到优化后的手机用户的位置轨迹。
本发明深度学习融合网络定位方法的优点在于:
①本发明方法中应用栈式自编码器与卷积神经网络或长短时记忆网络这些深度神经网络的融合,充分考虑了移动通信定位数据的多源异构性,从而保证了结果的准确性。
②本发明方法中采用了栈式自编码器这个逐层贪婪算法作为提取工参特征的模型,该方法克服了深度网络训练中梯度下降方法的局部极值和梯度不稳定的缺点,在初始化时已从数据的预训练中获得了包含数据模式的先验信息,以这些先验数据为起点开始的梯度下降算法更有可能收敛到较好的局部极值点,从而提升定位的精确度。
③本发明方法开创性地引入了基站周边的地形高度数据,并将其视作图片利用卷积神经网络提取地形高度特征,从而尽可能地消除手机信号在传播过程中产生的噪声干扰,提升定位的精度。
附图说明
图1是本发明的采用深度学习融合网络模型确定手机用户位置的结构框图。
图2是本发明的基于深度学习融合模型的手机用户定位方法的流程图。
图2A是本发明的基于深度学习中栈式自编码器和卷积神经网络融合模型的手机用户定位方法的框架图。
图2B是本发明的基于深度学习融合模型的手机用户定位方法中栈式自编码器部分的框架图。
图3是本发明的基于深度学习或机器学习的手机用户室内、外位置区分方法的流程图。
图3A是本发明的基于深度学习中栈式自编码器模型的手机用户室内、外位置区分方法的框架图。
图4是本发明的基于深度学习融合模型的用户移动轨迹纠偏方法的流程图。
图4A是本发明的基于深度学习中栈式自编码器和长短时记忆网络混合模型的连续时段内用户移动轨迹纠偏方法的框架图。
图5是本发明实施例中对手机用户进行定位时,利用深度学习融合模型预测得到的经纬度与实际经纬度之间距离误差的累积分布函数曲线图。
具体实施方式
下面将结合附图和实施例对本发明做进一步的详细说明。
在本发明中,手机用户记为U,手机用户的地理位置记为(U_Lon,U_Lat),U_Lon表示经度,U_Lat表示纬度。
在本发明中,每个移动通信基站都存在有自已的覆盖区域,对所述覆盖区域采用信号强弱划分为多个小区,小区记为BS,小区中心点的地理位置记为(BS_Lon,BS_Lat),BS_Lon表示经度,BS_Lat表示纬度;其中信号最强的称为主小区,记为M,除主小区以外的小区称为邻区,邻区记为N,因为邻区N相对主小区M来讲存在多个,故书写为Ni,i为属于所述主小区M的邻区个数,也称为邻区标志号,一般地,i取值最多为9,i=1,...,9。
将移动商提供的用于本发明进行大数据分析的信息称为工参数据,该工参数据至少包括有小区的唯一标志号ECI、物理层小区识别码PCI、中心载频的信道号EARFCN、小区的信号接收功率RSRP、小区的经纬度坐标(BS_Lon,BS_Lat)、小区的方位角Azimuth、小区的下倾角Tilt、小区的天线挂高Height和小区的参考信号功率Power。其中,使用基站小区的唯一标志号ECI可以确定该小区的所有工参信息,而使用物理层小区识别码PCI和中心载频的信道号EARFCN可以求出该小区的唯一标志号ECI。
参见图1所示,本发明的一种采用深度学习融合网络模型确定手机用户位置的方法,通过三个步骤实现手机定位,具体步骤为:
步骤一,对用户手机记录数据和工参数据利用深度学习中的栈式自编码器(Stacked AutoEncoder,SAE)和卷积神经网络(Convolutional Neural Network,CNN)分别提取出小区BS的工参特征SAE_Features和地形高度特征Cen_Area;而后将其输入到全连接神经网络(Fully-Connected Neural Network,FCN)进行特征融合,使两种不同的特征能够进行共享并预测出用户的经纬度位置,从而实现高精度定位;
步骤二,采用深度学习中的栈式自编码器方法对用户手机能够接收到多个小区BS的信号、经纬度特征、手机位置的室内标签或者外标签进行处理,得到栈式自编码器模型的输入特征,记为Model_Features;然后将Model_Features在栈式自编码器模型中进行训练,得到手机用户所在位置是属于室内还是室外;若为室内,则执行步骤一;若为室外,则执行步骤三;
步骤三,采用深度学习中的栈式自编码器对用户手机记录数据和工参数据进行处理,得到连续时段内手机用户的位置轨迹;然后采用深度学习中的长短时记忆网络对所述手机用户的位置轨迹进行纠偏,得到纠偏后位置轨迹;最后采用卡尔曼滤波对纠偏后位置轨迹进行平滑处理,得到优化后的手机用户的位置轨迹。
参见图2、图2A、图2B所示,在步骤一中,以基于深度学习中栈式自编码器和卷积神经网络融合模型实现的手机用户定位方法,该定位方法包括有下列详细的处理步骤:
步骤11:将手机记录数据和工参数据作为栈式自编码器的输入信息,通过过滤、清洗及归一化等处理得到栈式自编码器的输入特征;
在本发明中,如图2对用户手机记录数据和工参数据进行处理,从而获得栈式自编码器的输入特征。
用户手机记录数据中每条手机记录提供了用户当前所在位置的经纬度坐标(U_Lon,U_Lat),手机接收到的主小区的信号接收功率记为CRS_RSRP,手机接收到的该主小区的标志号记为M_ECI,以及手机接收到的主小区周边9个邻接基站小区(以后简称为邻区)的代表性数据,包括每个邻区的信号接收功率Ni_RSRP,i为主小区的邻区个数,也称为邻区标志号,物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN。其中,用户当前所在位置的经纬度是本专利申请中要确定的目标,而其余关于主小区和邻区的相关记录作为定位所需的特征信息需要求出其对应的工参数据并进行进一步的处理。
工参数据中包含了所有基站小区的详细信息,其中具有代表性的特征有:每个基站小区的唯一标志号ECI,物理层小区识别码PCI和中心载频的信道号EARFCN,小区的经纬度坐标(BS_Lon,BS_Lat),小区的方位角Azimuth,小区的下倾角Tilt,小区的天线挂高Height,小区的参考信号功率Power。其中,使用基站小区的唯一标志号ECI可以确定该小区的所有工参信息,而使用物理层小区识别码PCI和中心载频的信道号EARFCN可以求出该小区的唯一标志号ECI。
对于每条手机记录中的主小区M,可以直接利用其唯一标志号M_ECI从工参数据表中查出主小区的所有特征,这里从工参数据中选择了经纬度坐标(M_Lon,M_Lat),方位角M_Azimuth,下倾角M_Tilt,天线挂高M_Height,参考信号功率M_Power以及主小区的信号接收功率CRS_RSRP作为主小区的工参特征。
对于每条手机记录中的邻区Ni,由于手机记录中只提供了邻区的物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN,而许多基站小区的这对值都相同,不能用这对值作为基站小区的唯一标志,因此要利用这对值从工参数据中求出邻区的唯一标志号Ni_ECI。因此,对于该条手机记录中的每个邻区Ni,利用邻区的物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN在工参表中找到所有值为Ni_PCI和Ni_EARFCN的小区[Ni1,Ni2,...,Nim],Ni1为属于Ni的第1个备选邻区,Ni2为属于Ni的第2个备选邻区,Nim为属于Ni的最后一个备选邻区,Nim中的m表示属于Ni的备选邻区的标识号,而后分别计算所述m的经纬度坐标(Nim_Lon,Nim_Lat)与主小区的经纬度坐标(M_Lon,M_Lat)之间的距离,距离公式并从中找出离主小区距离最近的小区Ni_min,若最小距离小于等于1公里,则判定小区Ni_min即为该邻区Ni的工参记录,否则删掉手机记录中邻区Ni的相关信息(因为无法查找到邻区Ni对应的工参数据)。
在查找到每条手机记录中所有邻区的唯一标志号Ni_ECI后,由于每条手机记录中提供的9个邻区中并非每个邻区都存在对应数据,有很多邻区的值为空值,因此要从提供的邻区中选取合适个数的邻区提取工参特征。通过测试和比较,能够从9个邻区非空的邻区记录中选取出信号接收功率Ni_RSRP值最大的前3个非同站邻区,并利用这3个邻区的唯一标志号Ni_ECI(i=1,2,3)从工参数据中选择以下对应数据作为邻区提供的工参特征:经纬度坐标(Ni_Lon,Ni_Lat)(i=1,2,3),方位角Ni_Azimuth(i=1,2,3),下倾角Ni_Tilt(i=1,2,3),天线挂高Ni_Height(i=1,2,3),参考信号功率Ni_Power(i=1,2,3)以及3个邻区的信号接收功率Ni_RSRP(i=1,2,3)。
综上所述,对于手机周边基站小区的工参数据进行以上处理后,数据被组装成如下格式:
[CRS_RSRP,M_Lon,M_Lat,
M_Azimuth,M_Tilt,M_Height,M_Power,
N1_RSRP,N1_Lon,N1_Lat,
N1_Azimuth,N1_Tilt,N1_Height,N1_Power,
N2_RSRP,N2_Lon,N2_Lat,
N2_Azimuth,N2_Tilt,N2_Height,N2_Power,
N3_RSRP,N3_Lon,N3_Lat,
N3_Azimuth,N3_Tilt,N3_Height,N3_Power]
其中,第一行的工参数据属于主小区M,后三行的工参数据属于选出的最有代表性的3个备选邻区Ni(i=1,2,3),即模型中栈式自编码器部分所需的输入为28个元素,如图2A、图2B所示。
而后要对以上28个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
归一化后信号接收功率
归一化后方位角
归一化后下倾角
归一化后天线挂高
归一化后参考信号功率
对于经纬度坐标,包括手机用户当前的经纬度坐标(U_Lon,U_Lat)和所有基站小区的经纬度坐标(BS_Lon,BS_Lat),由于不同地区的经纬度范围不同,因此采用了相对经纬度,即首先求出每条手机记录中4个小区的质心经纬度(Cen_Lon,Cen_Lat),计算公式为:
Cen_Lon为质心经度;
Cen_Lat为质心纬度;
M_Lon为工参数据中主小区M的经度;
M_Lat为工参数据中主小区M的纬度;
Ni_Lon为备选邻区的经度;
Ni_Lat为备选邻区的纬度。
而后对每个经纬度坐标首先计算与质心经纬度(Cen_Lon,Cen_Lat)的差值,记为(Lon_Offset,Lat_Offset),Lon_Offset为经度差值,Lat_Offset为纬度差值,再对该坐标差值进行归一化,计算公式如下:
坐标相对经度值Lon相对值=Lon原始值-Cen_Lon,
坐标相对纬度值Lat相对值=Lat原始值-Cen_Lat。
归一化经度值
归一化纬度值
Lon原始值为手机用户所在地理位置的经度;
Lat原始值为手机用户所在地理位置的纬度;
Lon相对值最小值为3个备选小区中的最小经度值;
Lon相对值最大值为3个备选小区中的最大经度值;
Lat相对值最小值为3个备选小区中的最小纬度值;
Lat相对值最大值为3个备选小区中的最大纬度值;
因此,模型中栈式自编码器部分所需的归一化后的输入格式SAE_Features如下:
[CRS_RSRP归一化,M_Lon相对值归一化,M_Lat相对值归一化,
M_Azimuth归一化,M_Tilt归一化,M_Height归一化,M_Power归一化,
N1_RSRP归一化,N1_Lon相对值归一化,N1_Lat相对值归一化,
N1_Azimuth归一化,N1_Tilt归一化,N1_Height归一化,N1_Power归一化,
N2_RSRP归一化,N2_Lon相对值归一化,N2_Lat相对值归一化,
N2_Azimuth归一化,N2_Tilt归一化,N2_Height归一化,N2_Power归一化,
N3_RSRP归一化,N3_Lon相对值归一化,N3_Lat相对值归一化,
N3_Azimuth归一化,N3_Tilt归一化,N3_Height归一化,N3_Power归一化]
共28个输入特征。而融合模型的输出,即归一化后的相对经纬度的格式为:
(U_Lon相对值归一化,U_Lat相对值归一化)。
步骤12:将小区周边的地图高度数据作为卷积神经网络的输入信息,栅格化地形数据为二维矩阵,并对矩阵中的元素进行归一化,从而提取出每条手机记录对应的小块地图数据作为模型中卷积神经网络的输入层;
在本发明中,地图高度的原始数据是地图的shapefile文件,其中包含了城区建筑、公园绿地、河流湖泊、郊区村落、街道平面等城市中不同地块的相关信息,不同地块的海拔高度也有所不同,因此要从原始shapefile文件中提取出地图的高度文件。这里借助了ArcGis软件,首先将地图的shapefile文件按5m×5m(经纬度范围为0.00005×0.00005)的大小按序进行栅格化,而后以遍历的顺序记录下每个栅格的中心点和栅格外围四个点的经纬度坐标,以及该栅格所代表的地形高度,具体格式如下:
Grid_Lon中心点为栅格中心点的经度;
Grid_Lat中心点为栅格中心点的纬度;
Grid_Lon左上角为栅格中心点的左上角的经度;
Grid_Lat左上角为栅格中心点的左上角的纬度;
Grid_Lon右上角为栅格中心点的右上角的经度;
Grid_Lat右上角为栅格中心点的右上角的纬度;
Grid_Lon右下角为栅格中心点的右下角的经度;
Grid_Lat右下角为栅格中心点的右下角的纬度;
Grid_Lon左下角为栅格中心点的左下角的经度;
Grid_Lat左下角为栅格中心点的左下角的纬度;
Grid_Height为栅格中心点的地形高度。
将地图的shapefile文件中的高度数据提取出来后,用每个栅格的中心点(Grid_Lon中心点,Grid_Lat中心点)作为该栅格位置的代表,从而将整张地图的栅格化数据转换为一个二维矩阵其中,r是一个变量,取值范围1至R,表示为坐标经度上的第r个点;c是一个变量,取值范围1至C,表示为坐标纬度上的第c个点;R是地图栅格化得到的二维矩阵Heights的行数;C是地图栅格化得到的二维矩阵Heights列数;heirc是高度数据在栅格中心点位置(r,c)的栅格化数据。该矩阵Heights以整张地图中栅格中心点经纬度的最小值(Grid_Lon中心点最小值,Grid_Lat中心点最小值)为基准原点,同时利用求出每个栅格在该矩阵中的位置(r,c),并将该栅格的地形高度Grid_Height放入二维矩阵第(r,c)个元素中去,从而将整张地图栅格化后的地形高度数据存入二维矩阵Heights中。而后对该二维矩阵Heights中的每个元素进行归一化,计算公式如下:从而将高度的二维矩阵转变为归一化的高度矩阵Heights归一化。Height原始值是指中的任意一个,Height原始值∈Heights,Height最小值是指从中选取的最小值,Height最大值是指从中选取的最大值。
对于工参数据中的每条记录,在求出了4个小区的质心经纬度(Cen_Lon,Cen_Lat)后,首先利用公式求出该质心在地图高度的二维矩阵中的坐标(r,c),而后从二维矩阵Heights归一化中获取坐标为[r-100:r+100,c-100:c+100]的矩阵切片Cen_Area(共200×200个元素),即4个小区质心周围1km×1km范围内的归一化地形高度数据作为模型中卷积神经网络部分的输入,共40000个元素。实践过程中为每条工参数据的记录提供其对应的Cen_Area二维矩阵,通过从基站周边的地形高度中提取出传播过程中可能加入的噪声信息,并利用训练降低噪声的权重,从而达到减轻噪声影响的效果。
步骤13:将工参特征和地形特征引入到深度学习融合网络模型中,得到确定手机用户所在位置(经纬度值)的深度学习融合网络的拓扑结构;
由于本目标中数据源格式不同,因此针对不同的特征要构建不同的深度神经网络,并从中提取出有效的特征信息,从而提高对手机用户进行定位的精度。
对于工参特征的提取,构建了一个含7个隐藏层的栈式自编码器(SAE),将工参数据从输入层向高维空间做非线性映射,层与层之间采用逐层的预训练,并把预训练得到的参数作为SAE的权重初始值,而后将最后一层提取出的特征作为融合模型中工参特征的输入。相比与普通的多层深度神经网络,栈式自编码器逐层预训练的过程可以看作特征提取的一种手段,预训练使神经网络权值进行了初始化,从而帮助模型在微调时更好更快地收敛,避免神经网络收敛到局部极值。在SAE模型部分,输入数据如步骤11中所获取得到的SAE_Features所示包含了28个元素,各层的神经元个数依次设置为[256,512,1024,1024,512,256,64],激活函数设置为sigmoid函数其中e-x中的e为指数函数,x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的一种S型非线性映射,输出的特征个数为64,如图2A、图2B。
对于地形特征的提取,构建了一个以Lenet-5为基本结构的卷积神经网络(CNN),将每个数据样本周围1km×1km范围的地图高度矩阵Cen_Area当作图像进行处理:首先通过卷积层对地形高度矩阵进行分块和平移处理以提取特征,而后利用池化层对卷积后的矩阵进行池化,最后使用全连接层连接局部特征以形成全局感知,从而将展平后的全连接层提取出的特征作为融合模型中地图数据的输入。在CNN模型部分,共采用了2个卷积滤波器不同的卷积层,其中滤波器的大小相同,均为5×5尺寸的卷积核,但滤波器个数不同,分别是6和16,激活函数设置为relu函数其中x为每层神经网络中所有神经元输入的加权多项式的和,ReLu(x)为对该加权多项式的和x的一种分段线性映射。池化层部分均采用了尺寸为2×2的最大池采样。而展平后的特征经由全连接层部分进行特征压缩后的输出个数为512。
最后将两个模型提取出的特征连接起来,利用共享表达的融合网络将提取出的特征输入到3层的全连接神经网络(FCN)中,最后对手机的经纬度进行预测。其中,全连接层的神经元个数依次为[512,256,128],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射。输出层的结果有2个,分别是预测得到的经纬度(U_Lon相对值预测结果,U_Lat相对值预测结果)。
本发明中提供的基于栈式自编码器和卷积神经网络融合模型的手机用户定位方法的框架图如图2所示。
步骤14:依据步骤13设计的深度学习融合网络模型对步骤11和12中获得的数据进行训练,从而得到手机定位的目标模型;
在本发明中,手机定位的目标模型为下述函数的最小化:
其中,第一项用于衡量整个融合模型对每个样本的预测经纬度和真实的相对经纬度之间的误差和,D为训练集中所有数据样本的个数,j为每个样本的数据标号,即j=1,...,D,λ是训练系数,ω是训练数据。通过训练使得第一项最小,即要求模型能够尽量拟合给定的训练数据ω。但除了保证训练误差最小之外,更希望模型的测试误差小,因此加上了第二项,也就是对模型网络中的所有参数ω的规则化函数L2范数||ω||2来约束本发明的模型尽量的简单,从而在一定程度上避免过拟合。
在本发明的融合模型中,栈式自编码器部分要先构建图3所示的模型结构,对工参数据先进行一轮训练,而后将训练好的权重导入图2所示的融合模型中,并将SAE部分训练好的权重“冻结”起来,使它的权值在之后的训练中不做任何改变,只训练余下的卷积神经网络及融合部分的权重,通过采用EarlyStopping的技术在损失函数收敛时停止训练,并将整个模型训练好的权重保存起来作为之后对新的数据进行手机定位的基础。
步骤15:利用测试集数据对步骤14中得到的手机定位目标模型进行数据验证,并将预测结果反归一化回手机用户实际的经纬度值。
由于步骤14中获得的目标模型是用于预测手机的经纬度,因此模型的输出分别为经度和纬度。
因为融合模型中栈式自编码器和卷积神经网络两部分的输入均经过了归一化,所以融合模型预测得到的经度和纬度也是归一化后的预测结果,需要进行反归一化,即:
U_Lon相对值预测结果=U_Lon相对值预测结果×(Lon相对值最大值-Lon相对值最小值)+Lon相对值最小值和
U_Lat相对值预测结果=U_Lat相对值预测结果×(Lat相对值最大值-Lat相对值最小值)+Lat相对值最小值。又由融合模型中的经纬度都是相对值,因此反归一化后的结果还要还原回预测的实际经纬度值:
U_Lon预测结果=U_Lon相对值预测结果+Cen_Lon和U_Lat预测结果=U_Lat相对值预测结果+Cen_Lat。
将预测得到的归一化后的手机经纬度还原为实际的经纬度后,通过比较预测的经纬度和用户的实际经纬度之间的距离对步骤D中得到的手机定位目标模型进行验证,距离公式为:分别计算整个数据集中误差距离小于50m和100m的数据比例,并画出相应的累积分布函数(Cumulative Distribution Function,CDF)曲线,从而获得模型的预测精度。
当有新的手机周边的相关基站记录时,通过对数据分别进行步骤11和步骤12的处理获得归一化的模型输入后,利用步骤14中训练好的深度学习融合模型对新的样本数据进行预测后,就可对这部分手机用户进行定位,即获取这些手机用户所在的实际经纬度坐标。
参见图3、图3A所示,在步骤二中,以基于深度学习或机器学习的手机用户室内外位置的区分方法,该定位方法包括下列详细处理步骤:
步骤21:将室内、外用户的手机信令数据和工参数据作为机器学习/深度学习模型中的输入信息,通过过滤、清洗及归一化等操作得到模型的输入特征;
在本发明中,参考图3对用户的手机信令数据和工参数据进行处理,从而获得机器学习/深度学习模型的输入特征。
用户的手机信令数据分为室内信令数据和室外信令数据,两种数据记录的字段信息有所不同,例如室内信令数据中包含了一些与建筑有关的信息,而室外信令数据不含与此相关的信息,因此在数据合并的过程中会剔除掉室内、外不共有的数据内容,并将同一用户在同一时间、同一地点且主小区也相同的记录进行合并,从而将室内、外手机信令数据的字段内容统一成如下格式:时间戳PC_Time,用户当前所在位置的经纬度坐标(U_Lon,U_Lat),手机接收到的主小区的信号接收功率CRS_RSRP,该主小区的标志号M_ECI,物理层小区识别码M_PCI和中心载频的信道号M_EARFCN,手机可接收到信号的邻区个数N_Count以及提供的9个邻区(包括空邻区)的相关数据,包括每个邻区的信号接收功率Ni_RSRP,物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN。其中,用户当前所在位置是室内还是室外是本发明要确定的分类目标,而其余关于主小区和邻区的相关记录作为室内、外分类所需的特征信息,需要求出其对应的工参数据并进行进一步的处理。
工参数据中包含了所有基站小区的详细信息,其中具有代表性的信息有:每个基站小区的唯一标志号ECI,物理层小区识别码PCI和中心载频的信道号EARFCN,小区的经纬度坐标(BS_Lon,BS_Lat)。其中,使用基站小区的唯一标志号ECI可以确定该小区的所有工参信息,而使用物理层小区识别码PCI和中心载频的信道号EARFCN可以求出该小区的唯一标志号ECI。
对于每条手机记录中的邻区Ni,由于手机记录中只提供了邻区的物理层小区识别码Ni_RSRP和中心载频的信道号Ni_EARFCN,而许多基站小区这对值都相同,不能用这对值作为基站小区的唯一标志,因此要利用这对值从工参数据中求出邻区的唯一标志号Ni_ECI。因此,对于该条手机记录中的每个邻区Ni,利用邻区的物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN在工参表中找到所有值为Ni_PCI和Ni_EARFCN的小区[Ni1,Ni2,...,Nim],Nim中的m表示属于Ni的备选邻区,而后分别计算所述m的经纬度坐标(Nim_Lon,Nim_Lat)与主小区的经纬度坐标(M_Lon,M_Lat)之间的距离,距离公式为:并从中找出离主小区距离最近的小区Ni_min,若最小距离小于等于1公里,则判定小区Ni_min即为该邻区Ni的工参记录,否则删掉手机记录中邻区Ni的相关信息(因为无法查找到邻区Ni对应的工参数据)。
在查找到合并后每条手机信令数据中所有邻区的唯一标志号Ni_ECI后,由于每条手机记录中的9个邻区中并非每个邻区都存在信号数据,有很多邻区为空,因此要对合并后的数据进行进一步处理,并从中提取出对预测有效的特征。本发明选取了所有小区(包括主小区和邻区)的信号接收功率RSRP,每个小区距离小区质心点的距离Dis以及中心载频的信道号EARFCN这3个特征作为模型的输入,具体的处理流程如下所示:
首先,将可接收到信号的邻区个数N_Count的值设置为计算求出的非空邻区的个数。而后,对于每条手机记录,利用小区的唯一标志号ECI从工参表中查出所有小区(包括主小区和邻区)的经纬度,计算这些小区的质心经纬度(Cen_Lon,Cen_Lat),从而求出每个小区经纬度相对质心经纬度的距离BS_Dis。质心经纬度的计算公式为:
每个小区距离质心距离的计算公式为:之后,由于每个小区的中心载频的信道号EARFCN为二值数据,因此对其进行二值化的热编码(one hot)处理,即对应频点位取1,其余位取0。
综上所述,对于手机信令数据进行以上处理后,数据被组装成如下格式:
[N_Count,
M_RSRP,M_Dis,M_EARFCN,
N1_RSRP,N1_Dis,N1_EARFCN,
N2_RSRP,N2_Dis,N2_EARFCN,
N3_RSRP,N3_Dis,N3_EARFCN,
N4_RSRP,N4_Dis,N4_EARFCN,
N5_RSRP,N5_Dis,N5_EARFCN,
N6_RSRP,N6_Dis,N6_EARFCN,
N7_RSRP,N7_Dis,N7_EARFCN,
N8_RSRP,N8_Dis,N8_EARFCN,
N9_RSRP,N9_Dis,N9_EARFCN]
其中,第一行的N_Count的值为可接收到信号的非空邻区的个数,第二行的工参数据属于主小区M,后9行的工参数据属于该行数据中9个邻区Ni(i=1,...,9),其中空邻区的对应数据做补0处理,最终模型中的输入元素有41个,如图3、图3A。
而后要对以上41个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
因此,模型中归一化后的输入格式Model_Features如下:
[N_Count归一化,
M_RSRP归一化,M_Dis归一化,M_EARFCN二值化,
N1_RSRP归一化,N1_Dis归一化,N1_EARFCN二值化,
N2_RSRP归一化,N2_Dis归一化,N2_EARFCN二值化,
N3_RSRP归一化,N3_Dis归一化,N3_EARFCN二值化,
N4_RSRP归一化,N4_Dis归一化,N4_EARFCN二值化,
N5_RSRP归一化,N5_Dis归一化,N5_EARFCN二值化,
N6_RSRP归一化,N6_Dis归一化,N6_EARFCN二值化,
N7_RSRP归一化,N7_Dis归一化,N7_EARFCN二值化,
N8_RSRP归一化,N8_Dis归一化,N8_EARFCN二值化,
N9_RSRP归一化,N9_Dis归一化,N9_EARFCN二值化]
共41个输入特征。而模型的输出,即手机用户室内、外位置区分的结果为:
步骤22:利用机器学习中的AdaBoost模型对步骤21中获得的数据进行训练,从而得到手机室内、外位置区分的机器学习模型;
AdaBoost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。其算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,而后将每次训练得到的分类器最终融合起来,作为最后的决策分类器。
在本发明中,采用的弱分类器模型为一层决策树分类器,并利用100个弱分类器融合得到的强分类器AdaBoost模型对步骤21中获得的数据,即所有特征个数为41的样本集合进行训练。通过分析特征和目标分类结果之间的联系,迭代地计算训练样本的分布权值并更新弱分类器的权重直到模型收敛,从而利用多个弱分类器的加权融合得到强分类器,即用于区分手机室内、外位置的AdaBoost模型。而后保存训练好的AdaBoost模型中所有弱分类器的权重以及弱分类器最终组合时使用的权值系数等,将该AdaBoost模型作为之后的测试数据比较评估室内、外位置区分精度时的预测模型。
步骤23:利用深度学习中的栈式自编码器模型对步骤21中获得的数据进行训练,从而得到手机室内、外位置区分的深度学习模型;
在本发明中构建了一个含3个隐藏层的栈式自编码器(SAE),将步骤21中获得的特征样本输入到模型中进行训练,从而实现了区分手机室内、外位置的目标。相比与普通的多层深度神经网络,栈式自编码器逐层预训练的过程可以看作特征提取的一种手段,预训练使神经网络权值进行了初始化,从而帮助模型在微调时更好更快地收敛,避免神经网络收敛到局部极值。
在栈式自编码器模型中,输入数据如步骤21中所获取得到的Model_Features所示包含了41个元素,各层的神经元个数依次设置为[10,10,10],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射。由于栈式自编码器在本目标中要解决的问题是二分类问题,因此网络中的损失函数J(θ)采用了交叉熵函数
D为训练集中所有数据样本的个数,j为每个样本的数据标号,即j=1,...,D。输出InOut为二分类的结果0或1(0表示室内,1表示室外)。通过设置一定的迭代次数使模型在损失函数J(θ)收敛时停止训练,并将整个模型训练好的权重保存起来作为之后测试数据比较评估该模型对室内、外位置区分精度的基础。
本发明中提供的基于深度学习中栈式自编码器模型的手机用户室内、外位置区分方法的框架图如图3所示。
步骤24:利用测试集数据对步骤22和23中得到的手机室内、外位置的不同模型进行比较和验证,从而确定模型的分类精度;
由步骤22和步骤23得到的两个不同的目标模型均用于区分手机用户的室内、外位置,因此要对这两个模型的分类效果进行比较和相互验证。
将测试集中的样本分别输入这两个训练好的模型中,从而检测两个模型对于室内、外位置区分的性能。分析发现,对于处在相同区域内的手机用户来说,深度学习的栈式自编码器模型的优势更明显;而对于处在不同区域的手机用户来说,机器学习的AdaBoost模型的效果更出众。
相比而言,AdaBoost模型的优势在于灵活性强,可以将不同的分类算法作为弱分类器,性能优于普通的机器学习算法,可以解决过拟合问题。但在很多情况下,其特征学习能力要低于深度学习中的一些方法。
当有新的手机信令数据需要区分室内外位置时,对数据进行如步骤21的处理后,输入步骤22或步骤23中训练好的模型,即可得到这部分手机用户所在位置是室内还是室外的区分结果。
参见图4、图4A所示,在步骤三中,以基于深度学习中栈式自编码器和长短时记忆网络混合模型的连续时段内用户移动轨迹的纠偏方法,该方法包括下列详细处理步骤:
步骤31:将多个手机用户的路测数据和工参数据作为栈式自编码器的输入信息,通过过滤、清洗及归一化等处理得到栈式自编码器的输入特征;
在本发明中,参考图4对手机用户的路测数据和工参数据进行处理,从而获得栈式自编码器的输入特征。
手机用户的路测数据中包含了不同用户在多个连续时段内移动过程中的手机记录数据,其中每条手机记录数据提供了该用户当前所在的时间PC_Time以及当时所在位置的经纬度坐标(U_Lon,U_Lat),手机接收到的主小区的信号接收功率CRS_RSRP和该主小区的标志号M_ECI,以及手机接收到的主小区周边9个邻接基站小区(以后简称为邻区)的代表性数据,包括每个邻区的信号接收功率Ni_RSRP,物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN。其中,每个用户在一段时间内连续移动的轨迹的经纬度是本发明要确定的目标,而其余关于主小区和邻区的相关记录作为对轨迹定位所需的特征信息需要求出其对应的工参数据并进行进一步的处理。
工参数据中包含了所有基站小区的详细信息,其中具有代表性的特征有:每个基站小区的唯一标志号ECI,物理层小区识别码PCI和中心载频的信道号EARFCN,小区的经纬度坐标(BS_Lon,BS_Lat),小区的方位角Azimuth,小区的下倾角Tilt,小区的天线挂高Height,小区的参考信号功率Power。其中,使用基站小区的唯一标志号ECI可以确定该小区的所有工参信息,而使用物理层小区识别码PCI和中心载频的信道号EARFCN可以求出该小区的唯一标志号ECI。
对于路测数据中每条手机记录中的主小区M,可以直接利用其唯一标志号M_ECI从工参数据表中查出主小区的所有特征,这里从工参数据中选择了经纬度坐标(M_Lon,M_Lat),方位角M_Azimuth,下倾角M_Tilt,天线挂高M_Height,参考信号功率M_Power以及主小区的信号接收功率CRS_RSRP作为主小区的工参特征。
对于路测数据中每条手机记录中的邻区Ni,由于手机记录中只提供了邻区的物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN,而许多基站小区这对值都相同,不能用这对值作为基站小区的唯一标志,因此要利用这对值从工参数据中求出邻区的唯一标志号Ni_ECI。因此,对于该条手机记录中的每个邻区Ni,利用邻区的物理层小区识别码Ni_PCI和中心载频的信道号Ni_EARFCN在工参表中找到所有值为Ni_PCI和Ni_EARFCN的小区[Ni1,Ni2,...,Nim],Nim中的m表示属于Ni的备选邻区,而后分别计算所述m的经纬度坐标(Nim_Lon,Nim_Lat)与主小区的经纬度坐标(M_Lon,M_Lat)之间的距离,距离公式为:并从中找出离主小区距离最近的小区Ni_min,若最小距离小于等于1公里,则判定小区Ni_min即为该邻区Ni的工参记录,否则删掉手机记录中邻区Ni的相关信息(因为无法查找到邻区Ni对应的工参数据)。
在查找到路测数据中每条手机记录里所有邻区的唯一标志号Ni_ECI后,由于每条手机记录中提供的9个邻区中并非每个邻区都存在对应数据,有很多邻区的值为空值,因此要从提供的邻区中选取合适个数的邻区提取工参特征。通过测试和比较,能够从9个邻区非空的邻区记录中选取出信号接收功率Ni_RSRP值最大的前3个非同站邻区,并利用这3个邻区的唯一标志号Ni_ECI(i=1,2,3)从工参数据中选择了以下对应数据作为邻区提供的工参特征:经纬度坐标(Ni_Lon,Ni_Lat)(i=1,2,3),方位角Ni_Azimuth(i=1,2,3),下倾角Ni_Tilt(i=1,2,3),天线挂高Ni_Height(i=1,2,3),参考信号功率Ni_Power(i=1,2,3)以及3个邻区的信号接收功率Ni_RSRP(i=1,2,3)。
此外,在路测数据中存在PC_Time相同且手机记录中主小区和邻区特征分别相同的数据,或者虽然有些特征不同,但用于构造模型特征的主要特征相同的数据,这些数据被视为冗余数据,会导致数值问题,也可能导致优化过程中模型难以收敛的问题,因此认为PC_Time相同且主要特征相同的数据属于冗余数据,针对这类冗余数据仅保存其中一条而删除其他多条。
综上所述,对于多个手机用户的路测数据进行以上处理后,数据被组装成如下格式:
[CRS_RSRP,M_Lon,M_Lat,
M_Azimuth,M_Tilt,M_Height,M_Power,
N1_RSRP,N1_Lon,N1_Lat,
N1_Azimuth,N1_Tilt,N1_Height,N1_Power,
N2_RSRP,N2_Lon,N2_Lat,
N2_Azimuth,N2_Tilt,N2_Height,N2_Power,
N3_RSRP,N3_Lon,N3_Lat,
N3_Azimuth,N3_Tilt,N3_Height,N3_Power]
其中,第一行的工参数据属于主小区M,后三行的工参数据属于选出的最有代表性的3个邻区Ni(i=1,2,3),即模型中栈式自编码器部分所需的输入为28个元素,如图4、图4A。
而后要对以上28个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
对于经纬度坐标,包括手机用户移动轨迹中的经纬度坐标(U_Lon,U_Lat)和所有基站小区的经纬度坐标(BS_Lon,BS_Lat),由于不同地区的经纬度范围不同,因此采用了相对经纬度,即首先求出每条手机记录中4个小区的质心经纬度(Cen_Lon,Cen_Lat),计算公式为:
而后对每个经纬度坐标首先计算与质心经纬度的差值(Lon_Offset,Lat_Offset),再对该差值进行归一化,计算公式如下:
Lon相对值=Lon原始值-Cen_Lon,
Lat相对值=Lat原始值-Cen_Lat。
因此,模型中栈式自编码器部分所需的归一化后的输入格式SAE_Features如下:
[CRS_RSRP归一化,M_Lon相对值归一化,M_Lat相对值归一化,
M_Azimuth归一化,M_Tilt归一化,M_Height归一化,M_Power归一化,
N1_RSRP归一化,N1_Lon相对值归一化,N1_Lat相对值归一化,
N1_Azimuth归一化,N1_Tilt归一化,N1_Height归一化,N1_Power归一化,
N2_RSRP归一化,N2_Lon相对值归一化,N2_Lat相对值归一化,
N2_Azimuth归一化,N2_Tilt归一化,N2_Height归一化,N2_Power归一化,
N3_RSRP归一化,N3_Lon相对值归一化,N3_Lat相对值归一化,
N3_Azimuth归一化,N3_Tilt归一化,N3_Height归一化,N3_Power归一化]
共28个输入特征。而融合模型的输出,即归一化后的相对经纬度的格式为:(U_Lon相对值归一化,U_Lat相对值归一化)。
步骤32:将步骤31中得到的工参特征引入到深度学习融合网络模型中进行训练,得到对连续时段内用户移动轨迹进行纠偏的深度学习融合网络的拓扑结构;
在本发明中首先构建了一个含5个隐藏层的栈式自编码器(SAE),将步骤31中获得的特征数据从输入层向高维空间做非线性映射,层与层之间采用逐层的预训练,并把预训练得到的参数作为SAE的权重初始值,而后将最后一层提取出的特征作为融合模型中长短时记忆网络(LSTM)部分的输入。相比与普通的多层深度神经网络,栈式自编码器逐层预训练的过程可以看作特征提取的一种手段,预训练使神经网络权值进行了初始化,从而帮助模型在微调时更好更快地收敛,避免神经网络收敛到局部极值。在栈式自编码器模型部分,输入数据如步骤31中所获取得到的SAE_Features所示包含了28个元素,各层的神经元个数依次设置为[256,512,1024,512,256],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射,输出的特征个数为256。
而后,本发明将栈式自编码器部分提取出的特征输入到长短时记忆网络(LSTM)中去。长短时记忆网络是深度学习中循环神经网络(RNN,Recurrent Neutral Network)的一种变体,循环神经网络(RNN)的一大特点就是在网络中的神经元之间有直接的环路,而这样的环路使得网络能够保存之前的状态,并且通过基于时间的反向传播(BPTT,BackPropagation Through Time)训练这样的网络,可以使得先前的状态能够动态的调整其对于后续行为影响的程度。但普通的循环神经网络模型中存在两个问题,即长时间依赖(Long-Term Dependencies)和梯度消失(Vanishing Gradient)的问题。长短时记忆网络(LSTM,Long Short-Term Memory)模型作为一种特殊设计的循环神经网络模型,通过刻意的设计来避免长期依赖问题,记住长期的信息在实践中是LSTM的一种默认行为,从而解决了循环神经网络模型中存在的以上问题。此外,LSTM的另一大优势在于能够针对时间间隔不固定的时间序列特征进行良好的建模,因此特别适合于建模这种存在时间上下文关系且PC_Time间隔不固定的路测数据。在长短时记忆网络层中,神经元个数设置为256个,时间步长的数目设置为1,为循环步施加的激活函数设置为tanh函数其中x为每层神经网络中所有神经元输入的加权多项式的和,tanh(x)为对该加权多项式的和x的另一种S型非线性映射,输出的特征个数为256。
最后将经过两个叠加模型提取出的特征输入到全连接神经网络(FCN)中,从而对手机用户的移动轨迹进行预测。其中,全连接层的神经元个数为2,激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射。输出层的结果有2个,分别是预测得到的经纬度(U_Lon相对值预测结果,U_Lat相对值预测结果)。
由于融合模型中栈式自编码器部分的输入经过了归一化,所以融合模型预测得到的经度和纬度也是归一化后的预测结果,需要进行反归一化,即:
U_Lon相对值预测结果=U_Lon相对值预测结果×(Lon相对值最大值-Lon相对值最小值)+Lon相对值最小值和
U_Lat相对值预测结果=U_Lat相对值预测结果×(Lat相对值最大值-Lat相对值最小值)+Lat相对值最小值。又由融合模型中的经纬度都是相对值,因此反归一化后的结果还要还原回预测的实际经纬度值:
U_Lon预测结果=U_Lon相对值预测结果+Cen_Lon和U_Lat预测结果=U_Lat相对值预测结果+Cen_Lat。
最终融合模型预测得到的用户移动轨迹中的经纬度坐标为
(U_Lon预测结果,U_Lat预测结果),而后的卡尔曼滤波纠偏也是在该预测得到的时间序列上进行的。
本发明中提供的基于栈式自编码器和长短时记忆网络融合模型的连续时段内用户移动轨迹的纠偏方法的框架图如图4A所示。
步骤33:将深度学习融合网络预测得到的纠偏后的移动轨迹作为输入信息,利用改进的卡尔曼滤波方法(Improved Kalman Filter)对纠偏后的移动轨迹进行平滑,从而提升预测结果在时间上的合理性与准确性;
卡尔曼滤波的一个典型实例是从一组有限的,包含噪声的,对物体位置的观察序列(可能有偏差)预测出物体的位置的坐标及速度。其中卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
本发明中,在使用一种变体的卡尔曼滤波算法将时间间隔作为已知信息引入卡尔曼滤波的过程中,通过对步骤32中得到的深度学习融合网络模型给出的用户一段时间内的轨迹定位结果进行平滑,从而在一定程度上消除了由于输入数据时间间隔不确定导致的预测偏差问题,使得整个输出的预测结果更加符合时间上的合理性,进而使得整个模型的预测准确度更高。
卡尔曼滤波的思想是:以最小均方误差为最佳估计准则,采用信号与噪声的状态空间模型,利用前一时刻的估计值和当前时刻的观测值来更新对状态变量的估计,求出当前时刻的估计值,算法根据建立的系统方程和观测方程对需要处理的信号做出满足最小均方误差的估计。普通卡尔曼滤波的过程具体步骤如下:
本发明的目标是对预测得到的用户一段时间内的纠偏后的移动轨迹进行平滑。假设用户当前所处的系统状态是k时刻(即当前时刻k),要确定k时刻用户所在移动轨迹中的位置,则可以基于系统的上一状态k-1时刻用户在移动轨迹中的位置获得一个系统预测估计值x(k|k-1):
x(k|k-1)=Ax(k-1|k-1)+BU(k)
在上式中,x(k-1|k-1)为k-1时刻利用卡尔曼滤波预测得到的用户所在移动轨迹中的位置,而x(k|k-1)是利用k-1时刻的预测位置x(k-1|k-1)对k时刻用户在移动轨迹中的位置的预测估计值,U(k)一般设置为k时刻对系统状态的控制量,如果没有控制量也可以为0,在本目标中设置U(k)为利用深度学习融合网络预测得到的k时刻的用户所在移动轨迹中的位置。A和B均为该预测过程中计算使用的参数,在本目标中也可作为置信度使用,即对x(k-1|k-1)和U(k)进行评估,哪个值更可靠则对应的权值更大。
而预测当前状态k时刻的误差协方差矩阵计算公式如下:
P(k|k-1)=AP(k-1|k-1)AT+Q(k|k-1)
在上式中,P(k|k-1)为x(k|k-1)所对应的预测误差协方差矩阵,P(k-1|k-1)是x(k-1|k-1)所对应的误差协方差矩阵,AT表示A的转置矩阵,Q(k|k-1)为U(k)所对应的误差协方差矩阵。
上述两式是对当前状态k时刻基于k-1时刻的用户位置得到的位置的预测值x(k|k-1)的计算,而后要利用测量值,即深度学习融合网络预测得到的k时刻的用户所在移动轨迹中的位置z(k)对预测值x(k|k-1)进行修正。结合预测值和测量值,从而得到当前状态k时刻的最优化估计值x(k|k),其中Kg(k)为卡尔曼增益(Kalman Gain):
x(k|k)=x(k|k-1)+Kg(k)[z(k)-H(k)x(k|k-1)]
在上式中,Kg(k)为卡尔曼增益矩阵,z(k)为k时刻深度学习融合网络预测得到的用户所在移动轨迹中的位置,H(k)为系统的测量参数,即对深度学习融合网络预测得到的用户位置的准确性的信任度,在本发明中该值取1,HT(k)为H(k)的转置矩阵,R(k)为k时刻的系统观测噪声方差矩阵,x(k|k)为k时刻基于测量值z(k)和预测值x(k|k-1)综合得到的用户位置的最优化估计值。
为了使卡尔曼滤波器不断运行下去直到系统过程结束,需要更新k时刻的x(k|k)的修正状态误差协方差矩阵:
P(k|k)=[I-Kg(k)H(k)]P(k|k-1)
其中,P(k|k)为x(k|k)所对应的修正状态误差协方差矩阵,I为单位矩阵。
但在使用卡尔曼滤波算法对模型预测得到的轨迹进行纠偏的过程中,发现当相同用户在一段时间内的两条数据时间间隔较大的时候,普通的卡尔曼滤波算法趋向于对于两个时间间隔内的点进行线性插值,从而拉低了对模型的预测结果进行纠偏的精度。因此考虑将时间间隔作为一个有用的信息引入卡尔曼滤波算法中,具体修改方法如下:
在利用k-1时刻的卡尔曼滤波预测得到的用户所在移动轨迹中的位置x(k-1|k-1)来对k时刻的用户位置进行估计时,所采用的公式为x(k|k-1)=Ax(k-1|k-1)+BU(k),对其中的参数A和B进行了相应设定,对其分别采用了时间间隔TimeGap倒数的归一化值,即这种修改方法基于概率上的考虑,即当时间间隔较大的时候,认为信号应更大程度地取决于预测值U(k)而非卡尔曼滤波器平滑的上一时刻的值x(k-1|k-1)。
步骤34:利用测试集数据对步骤32和33中得到的用户移动轨迹的纠偏模型进行数据验证,并将预测结果的时序分布图展示在地图上。
由于步骤32和步骤33中计算得到的用户移动轨迹的纠偏结果是对一个用户连续时段内的移动轨迹经纬度进行了预测和平滑,因此可通过比较预测的经纬度和用户的实际经纬度之间的距离对卡尔曼平滑后的移动轨迹纠偏模型进行验证,距离公式为分别计算整个数据集中误差距离小于50m和100m的数据比例,并与未进行步骤33中卡尔曼滤波平滑的融合模型进行比较,可以发现经过改进的卡尔曼滤波算法的平滑,模型的预测精度有了很大的提升。
利用Echarts数据可视化工具将平滑前和平滑后的用户移动轨迹分别展示到地图上,能够更直观地将卡尔曼滤波方法的提升效果显示出来。
当有新的手机用户的路测数据记录时,通过对数据进行步骤31的处理获得归一化的模型输入后,利用步骤32中训练好的深度学习融合模型对新的样本数据进行预测后,再利用步骤33中的改进卡尔曼滤波算法对预测结果进行平滑,就可以确定该手机用户连续时段内的移动轨迹。
实施例1
若一个城市某区域中用户的手机记录总数为75613条,其中训练集样本个数为60491,验证集和测试集样本个数均为7561,利用图1所示的基于深度学习融合模型的手机用户定位方法进行训练和预测,可以看到测试集中预测的手机经纬度与实际经纬度之间距离误差的累积分布函数曲线如图5所示,其中距离误差在50m内的概率为51%左右,在100m内的概率为78%左右。
若一个城市某区域中用户的手机信令数据总数为128572条,其中对相同区域内数据集的划分为:训练集样本个数为94582,测试集样本个数为33990;对不同区域内数据集的划分为:训练集样本个数为102857,测试集样本个数为25715。分别利用步骤22和步骤23中的算法对这两部分数据集进行训练和预测,可以看到测试集中手机用户所在位置是室内还是室外的分类精度如下表所示,其中在不同区域内预测的准确率为71%左右,在相同区域内预测的准确率达到80%以上。
模型的分类精度 | 不同区域 | 相同区域 |
机器学习(AdaBoost) | 71.08% | 80.19% |
深度学习(SAE) | 71.67% | 84.46% |
若一个城市某区域内用户的路测数据总数为16598条,其中训练集样本个数为11918,验证集样本个数为2979,测试集样本个数为1701,利用图4所示的基于深度学习融合模型的用户移动轨迹纠偏方法进行训练、预测和滤波,可以看到测试集中用户移动轨迹未进行卡尔曼滤波和进行卡尔曼滤波后的预测精度如下表所示,可以看出利用深度学习融合模型预测得到用户的移动轨迹后,加入改进的卡尔曼滤波对轨迹进行平滑纠偏之后的效果更好。
模型预测误差的精度 | 50m | 100m |
深度学习融合模型 | 75.96% | 92.12% |
加入改进的卡尔曼滤波 | 76.90% | 96.24% |
在本发明中,字母的物理意义为:
Claims (4)
1.一种采用深度学习融合网络模型确定手机用户位置的方法,其特征在于有下列处理步骤:
步骤一,对用户手机记录数据和工参数据利用深度学习中的栈式自编码器和卷积神经网络分别提取出小区BS的工参特征SAE_Features和地形高度特征Cen_Area;而后将其输入到全连接神经网络进行特征融合,使两种不同的特征能够进行共享并预测出用户的经纬度位置,从而实现高精度定位;
步骤二,采用深度学习中的栈式自编码器方法对用户手机能够接收到多个小区BS的信号、经纬度特征、手机位置的室内标签或者外标签进行处理,得到栈式自编码器模型的输入特征,记为Model_Features;然后将Model_Features在栈式自编码器模型中进行训练,得到手机用户所在位置是属于室内还是室外;若为室内,则执行步骤一;若为室外,则执行步骤三;
步骤三,采用深度学习中的栈式自编码器对用户手机记录数据和工参数据进行处理,得到连续时段内手机用户的位置轨迹;然后采用深度学习中的长短时记忆网络对所述手机用户的位置轨迹进行纠偏,得到纠偏后位置轨迹;最后采用卡尔曼滤波对纠偏后位置轨迹进行平滑处理,得到优化后的手机用户的位置轨迹。
2.根据权利要求1所述的采用深度学习融合网络模型确定手机用户位置的方法,其特征在于:在步骤一的具体步骤为:
步骤11:将手机记录数据和工参数据作为栈式自编码器的输入信息,通过过滤、清洗及归一化等处理得到栈式自编码器的输入特征;
手机周边基站小区的工参数据格式:
[CRS_RSRP,M_Lon,M_Lat,
M_Azimuth,M_Tilt,M_Height,M_Power,
N1_RSRP,N1_Lon,N1_Lat,
N1_Azimuth,N1_Tilt,N1_Height,N1_Power,
N2_RSRP,N2_Lon,N2_Lat,
N2_Azimuth,N2_Tilt,N2_Height,N2_Power,
N3_RSRP,N3_Lon,N3_Lat,
N3_Azimuth,N3_Tilt,N3_Height,N3_Power]
其中,第一行的工参数据属于主小区M,后三行的工参数据属于选出的最有代表性的3个邻区Ni(i=1,2,3),即模型中栈式自编码器部分所需的输入为28个元素;
而后要对以上28个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
对于经纬度坐标,包括手机用户当前的经纬度坐标(U_Lon,U_Lat)和所有基站小区的经纬度坐标(BS_Lon,BS_Lat),由于不同地区的经纬度范围不同,因此采用了相对经纬度,即首先求出每条手机记录中4个小区的质心经纬度(Cen_Lon,Cen_Lat),计算公式为:
而后对每个经纬度坐标首先计算与质心经纬度的差值(Lon_Offset,Lat_Offset),再对该差值进行归一化,计算公式如下:
Lon相对值=Lon原始值-Cen_Lon,
Lat相对值=Lat原始值-Cen_Lat;
因此,模型中栈式自编码器部分所需的归一化后的输入格式SAE_Features如下:
[CRS_RSRP归一化,M_Lon相对值归一化,M_Lat相对值归一化,
M_Azimuth归一化,M_Tilt归一化,M_Height归一化,M_Power归一化,
N1_RSRP归一化,N1_Lon相对值归一化,N1_Lat相对值归一化,
N1_Azimuth归一化,N1_Tilt归一化,N1_Height归一化,N1_Power归一化,
N2_RSRP归一化,N2_Lon相对值归一化,N2_Lat相对值归一化,
N2_Azimuth归一化,N2_Tilt归一化,N2_Height归一化,N2_Power归一化,
N3_RSRP归一化,N3_Lon相对值归一化,N3_Lat相对值归一化,
N3_Azimuth归一化,N3_Tilt归一化,N3_Height归一化,N3_Power归一化]
共28个输入特征;而融合模型的输出,即归一化后的相对经纬度的格式为:
(U_Lon相对值归一化,U_Lat相对值归一化);
步骤12:将小区周边的地图高度数据作为卷积神经网络的输入信息,栅格化地形数据为二维矩阵,并对矩阵中的元素进行归一化,从而提取出每条手机记录对应的小块地图数据作为模型中卷积神经网络的输入层;
以遍历的顺序记录下每个栅格的中心点和栅格外围四个点的经纬度坐标,以及该栅格所代表的地形高度,具体格式如下:
[Grid_Lon中心点,Grid_Lat中心点,Grid_Lon左上角,Grid_Lat左上角,
Grid_Lon右上角,Grid_Lat右上角,Grid_Lon右下角,Grid_Lat右下角,
Grid_Lon左下角,Grid_Lat左下角,Grid_Height]
将地图的shapefile文件中的高度数据提取出来后,用每个栅格的中心点(Grid_Lon中心点,Grid_Lat中心点)作为该栅格位置的代表,从而将整张地图的栅格化数据转换为一个二维矩阵其中R和C分别是地图栅格化得到的二维矩阵Heights的行数和列数;该矩阵Heights以整张地图中栅格中心点经纬度的最小值(Grid_Lon中心点最小值,Grid_Lat中心点最小值)为基准原点,同时利用求出每个栅格在该矩阵中的位置(r,c),并将该栅格的地形高度Grid_Height放入二维矩阵第(r,c)个元素中去,从而将整张地图栅格化后的地形高度数据存入二维矩阵Heights中;而后对该二维矩阵Heights中的每个元素进行归一化,计算公式如下:从而将高度的二维矩阵转变为归一化的高度矩阵Heights归一化;
对于工参数据中的每条记录,在求出了4个小区的质心经纬度(Cen_Lon,Cen_Lat)后,首先利用公式求出该质心在地图高度的二维矩阵中的坐标(r,c),而后从二维矩阵Heights归一化中获取坐标为[r-100:r+100,c-100:c+100]的矩阵切片Cen_Area(共200×200个元素),即4个小区质心周围1km×1km范围内的归一化地形高度数据作为模型中卷积神经网络部分的输入,共40000个元素;实践过程中为每条工参数据的记录提供其对应的Cen_Area二维矩阵,通过从基站周边的地形高度中提取出传播过程中可能加入的噪声信息,并利用训练降低噪声的权重,从而达到减轻噪声影响的效果;
步骤13:将工参特征和地形特征引入到深度学习融合网络模型中,得到确定手机用户所在位置的深度学习融合网络的拓扑结构;
输入数据如步骤11中所获取得到的SAE_Features所示包含了28个元素,各层的神经元个数依次设置为[256,512,1024,1024,512,256,64],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的一种S型非线性映射,输出的特征个数为64;
对于地形特征的提取,构建了一个以Lenet-5为基本结构的卷积神经网络(CNN),将每个数据样本周围1km×1km范围的地图高度矩阵Cen_Area当作图像进行处理:首先通过卷积层对地形高度矩阵进行分块和平移处理以提取特征,而后利用池化层对卷积后的矩阵进行池化,最后使用全连接层连接局部特征以形成全局感知,从而将展平后的全连接层提取出的特征作为融合模型中地图数据的输入;在CNN模型部分,共采用了2个卷积滤波器不同的卷积层,其中滤波器的大小相同,均为5×5尺寸的卷积核,但滤波器个数不同,分别是6和16,激活函数设置为relu函数其中x为每层神经网络中所有神经元输入的加权多项式的和,ReLu(x)为对该加权多项式的和x的一种分段线性映射;池化层部分均采用了尺寸为2×2的最大池采样;而展平后的特征经由全连接层部分进行特征压缩后的输出个数为512;
最后将两个模型提取出的特征连接起来,利用共享表达的融合网络将提取出的特征输入到3层的全连接神经网络(FCN)中,最后对手机的经纬度进行预测;其中,全连接层的神经元个数依次为[512,256,128],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射;输出层的结果有2个,分别是预测得到的经纬度(U_Lon相对值预测结果,U_Lat相对值预测结果);
步骤14:依据步骤13设计的深度学习融合网络模型对步骤11和12中获得的数据进行训练,从而得到手机定位的目标模型;
手机定位的目标模型为下述函数的最小化:
;其中,第一项用于衡量整个融合模型对每个样本的预测经纬度和真实的相对经纬度之间的误差和,D为训练集中所有数据样本的个数,j为每个样本的数据标号,即j=1,...,D;
步骤15:利用测试集数据对步骤14中得到的手机定位目标模型进行数据验证,并将预测结果反归一化回手机用户实际的经纬度值;
由于步骤14中获得的目标模型是用于预测手机的经纬度,因此模型的输出分别为经度和纬度;
因为融合模型中栈式自编码器和卷积神经网络两部分的输入均经过了归一化,所以融合模型预测得到的经度和纬度也是归一化后的预测结果,需要进行反归一化,即:U_Lon相对值预测结果=U_Lon相对值预测结果×(Lon相对值最大值-Lon相对值最小值)+Lon相对值最小值和U_Lat相对值预测结果=U_Lat相对值预测结果×(Lat相对值最大值-Lat相对值最小值)+Lat相对值最小值;又由融合模型中的经纬度都是相对值,因此反归一化后的结果还要还原回预测的实际经纬度值:U_Lon预测结果=U_Lon相对值预测结果+Cen_Lon和U_Lat预测结果=U_Lat相对值预测结果+Cen_Lat;
将预测得到的归一化后的手机经纬度还原为实际的经纬度后,通过比较预测的经纬度和用户的实际经纬度之间的距离对步骤D中得到的手机定位目标模型进行验证,距离公式为
分别计算整个数据集中误差距离小于50m和100m的数据比例,并画出相应的累积分布函数(Cumulative Distribution Function,CDF)曲线,从而获得模型的预测精度。
3.根据权利要求1所述的采用深度学习融合网络模型确定手机用户位置的方法,其特征在于:在步骤二的基于深度学习或机器学习的手机用户室内外位置的区分方法,该定位方法包括下列处理步骤:
步骤21:将室内、外用户的手机信令数据和工参数据作为机器学习/深度学习模型中的输入信息,通过过滤、清洗及归一化等操作得到模型的输入特征;
手机信令数据格式:
[N_Count,
M_RSRP,M_Dis,M_EARFCN,
N1_RSRP,N1_Dis,N1_EARFCN,
N2_RSRP,N2_Dis,N2_EARFCN,
N3_RSRP,N3_Dis,N3_EARFCN,
N4_RSRP,N4_Dis,N4_EARFCN,
N5_RSRP,N5_Dis,N5_EARFCN,
N6_RSRP,N6_Dis,N6_EARFCN,
N7_RSRP,N7_Dis,N7_EARFCN,
N8_RSRP,N8_Dis,N8_EARFCN,
N9_RSRP,N9_Dis,N9_EARFCN]
其中,第一行的N_Count的值为可接收到信号的非空邻区的个数,第二行的工参数据属于主小区M,后9行的工参数据属于该行数据中9个邻区Ni(i=1,...,9),其中空邻区的对应数据做补0处理,最终模型中的输入元素有41个;
而后要对以上41个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
因此,模型中归一化后的输入格式Model_Features如下:
[N_Count归一化,
M_RSRP归一化,M_Dis归一化,M_EARFCN二值化,
N1_RSRP归一化,N1_Dis归一化,N1_EARFCN二值化,
N2_RSRP归一化,N2_Dis归一化,N2_EARFCN二值化,
N3_RSRP归一化,N3_Dis归一化,N3_EARFCN二值化,
N4_RSRP归一化,N4_Dis归一化,N4_EARFCN二值化,
N5_RSRP归一化,N5_Dis归一化,N5_EARFCN二值化,
N6_RSRP归一化,N6_Dis归一化,N6_EARFCN二值化,
N7_RSRP归一化,N7_Dis归一化,N7_EARFCN二值化,
N8_RSRP归一化,N8_Dis归一化,N8_EARFCN二值化,
N9_RSRP归一化,N9_Dis归一化,N9_EARFCN二值化]
共41个输入特征;而模型的输出,即手机用户室内、外位置区分的结果为:
步骤22:利用机器学习中的AdaBoost模型对步骤21中获得的数据进行训练,从而得到手机室内、外位置区分的机器学习模型;
采用的弱分类器模型为一层决策树分类器,并利用100个弱分类器融合得到的强分类器AdaBoost模型对步骤21中获得的数据,即所有特征个数为41的样本集合进行训练;通过分析特征和目标分类结果之间的联系,迭代地计算训练样本的分布权值并更新弱分类器的权重直到模型收敛,从而利用多个弱分类器的加权融合得到强分类器,即用于区分手机室内、外位置的AdaBoost模型;而后保存训练好的AdaBoost模型中所有弱分类器的权重以及弱分类器最终组合时使用的权值系数等,将该AdaBoost模型作为之后的测试数据比较评估室内、外位置区分精度时的预测模型;
步骤23:利用深度学习中的栈式自编码器模型对步骤21中获得的数据进行训练,从而得到手机室内、外位置区分的深度学习模型;
构建了一个含3个隐藏层的栈式自编码器(SAE),将步骤21中获得的特征样本输入到模型中进行训练,从而实现了区分手机室内、外位置的目标;
在栈式自编码器模型中,输入数据如步骤21中所获取得到的Model_Features所示包含了41个元素,各层的神经元个数依次设置为[10,10,10],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射;由于栈式自编码器在本目标中要解决的问题是二分类问题,因此网络中的损失函数J(θ)采用了交叉熵函数D为训练集中所有数据样本的个数,j为每个样本的数据标号,即j=1,...,D;输出InOut为二分类的结果0或1(0表示室内,1表示室外);通过设置一定的迭代次数使模型在损失函数J(θ)收敛时停止训练,并将整个模型训练好的权重保存起来作为之后测试数据比较评估该模型对室内、外位置区分精度的基础;
步骤24:利用测试集数据对步骤22和23中得到的手机室内、外位置的不同模型进行比较和验证,从而确定模型的分类精度;
由步骤22和步骤23得到的两个不同的目标模型均用于区分手机用户的室内、外位置,因此要对这两个模型的分类效果进行比较和相互验证;
将测试集中的样本分别输入这两个训练好的模型中,从而检测两个模型对于室内、外位置区分的性能;
当有新的手机信令数据需要区分室内外位置时,对数据进行如步骤21的处理后,输入步骤22或步骤23中训练好的模型,即可得到这部分手机用户所在位置是室内还是室外的区分结果。
4.根据权利要求1所述的采用深度学习融合网络模型确定手机用户位置的方法,其特征在于:在步骤三的基于深度学习中栈式自编码器和长短时记忆网络混合模型的连续时段内用户移动轨迹的纠偏方法,该方法包括下列处理步骤:
步骤31:将多个手机用户的路测数据和工参数据作为栈式自编码器的输入信息,通过过滤、清洗及归一化等处理得到栈式自编码器的输入特征;
多个手机用户的路测数据的格式为:
[CRS_RSRP,M_Lon,M_Lat,
M_Azimuth,M_Tilt,M_Height,M_Power,
N1_RSRP,N1_Lon,N1_Lat,
N1_Azimuth,N1_Tilt,N1_Height,N1_Power,
N2_RSRP,N2_Lon,N2_Lat,
N2_Azimuth,N2_Tilt,N2_Height,N2_Power,
N3_RSRP,N3_Lon,N3_Lat,
N3_Azimuth,N3_Tilt,N3_Height,N3_Power]
其中,第一行的工参数据属于主小区M,后三行的工参数据属于选出的最有代表性的3个邻区Ni(i=1,2,3),即模型中栈式自编码器部分所需的输入为28个元素;
而后要对以上28个元素按照不同的参数类别进行归一化,其中归一化的公式分别为:
对于经纬度坐标,包括手机用户移动轨迹中的经纬度坐标(U_Lon,U_Lat)和所有基站小区的经纬度坐标(BS_Lon,BS_Lat),由于不同地区的经纬度范围不同,因此采用了相对经纬度,即首先求出每条手机记录中4个小区的质心经纬度(Cen_Lon,Cen_Lat),计算公式为:
而后对每个经纬度坐标首先计算与质心经纬度的差值(Lon_Offset,Lat_Offset),再对该差值进行归一化,计算公式如下:
Lon相对值=Lon原始值-Cen_Lon,
Lat相对值=Lat原始值-Cen_Lat;
因此,模型中栈式自编码器部分所需的归一化后的输入格式SAE_Features如下:
[CRS_RSRP归一化,M_Lon相对值归一化,M_Lat相对值归一化,
M_Azimuth归一化,M_Tilt归一化,M_Height归一化,M_Power归一化,
N1_RSRP归一化,N1_Lon相对值归一化,N1_Lat相对值归一化,
N1_Azimuth归一化,N1_Tilt归一化,N1_Height归一化,N1_Power归一化,
N2_RSRP归一化,N2_Lon相对值归一化,N2_Lat相对值归一化,
N2_Azimuth归一化,N2_Tilt归一化,N2_Height归一化,N2_Power归一化,
N3_RSRP归一化,N3_Lon相对值归一化,N3_Lat相对值归一化,
N3_Azimuth归一化,N3_Tilt归一化,N3_Height归一化,N3_Power归一化]共28个输入特征;而融合模型的输出,即归一化后的相对经纬度的格式为:(U_Lon相对值归一化,U_Lat相对值归一化);
步骤32:将步骤31中得到的工参特征引入到深度学习融合网络模型中进行训练,得到对连续时段内用户移动轨迹进行纠偏的深度学习融合网络的拓扑结构;
输入数据如步骤31中所获取得到的SAE_Features所示包含了28个元素,各层的神经元个数依次设置为[256,512,1024,512,256],激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射,输出的特征个数为256;
存在时间上下文关系且PC_Time间隔不固定的路测数据;在长短时记忆网络层中,神经元个数设置为256个,时间步长的数目设置为1,为循环步施加的激活函数设置为tanh函数其中x为每层神经网络中所有神经元输入的加权多项式的和,tanh(x)为对该加权多项式的和x的另一种S型非线性映射,输出的特征个数为256;
最后将经过两个叠加模型提取出的特征输入到全连接神经网络(FCN)中,从而对手机用户的移动轨迹进行预测;其中,全连接层的神经元个数为2,激活函数设置为sigmoid函数其中x为每层神经网络中所有神经元输入的加权多项式的和,S(x)为对该加权多项式的和x的S型非线性映射;输出层的结果有2个,分别是预测得到的经纬度(U_Lon相对值预测结果,U_Lat相对值预测结果);
由于融合模型中栈式自编码器部分的输入经过了归一化,所以融合模型预测得到的经度和纬度也是归一化后的预测结果,需要进行反归一化,即:
U_Lon相对值预测结果=U_Lon相对值预测结果×(Lon相对值最大值-Lon相对值最小值)+Lon相对值最小值和U_Lat相对值预测结果=U_Lat相对值预测结果×(Lat相对值最大值-Lat相对值最小值)+Lat相对值最小值;又由融合模型中的经纬度都是相对值,因此反归一化后的结果还要还原回预测的实际经纬度值:U_Lon预测结果=U_Lon相对值预测结果+Cen_Lon和U_Lat预测结果=U_Lat相对值预测结果+Cen_Lat;
最终融合模型预测得到的用户移动轨迹中的经纬度坐标为(U_Lon预测结果,U_Lat预测结果),而后的卡尔曼滤波纠偏也是在该预测得到的时间序列上进行的;
步骤33:将深度学习融合网络预测得到的纠偏后的移动轨迹作为输入信息,利用改进的卡尔曼滤波方法对纠偏后的移动轨迹进行平滑,从而提升预测结果在时间上的合理性与准确性;
在利用k-1时刻的卡尔曼滤波预测得到的用户所在移动轨迹中的位置x(k-1|k-1)来对k时刻的用户位置进行估计时,所采用的公式为x(k|k-1)=Ax(k-1|k-1)+BU(k),对其中的参数A和B进行了相应设定,对其分别采用了时间间隔TimeGap倒数的归一化值,即这种修改方法基于概率上的考虑,即当时间间隔较大的时候,认为信号应更大程度地取决于预测值U(k)而非卡尔曼滤波器平滑的上一时刻的值x(k-1|k-1);
步骤34:利用测试集数据对步骤32和33中得到的用户移动轨迹的纠偏模型进行数据验证,并将预测结果的时序分布图展示在地图上;
由于步骤32和步骤33中计算得到的用户移动轨迹的纠偏结果是对一个用户连续时段内的移动轨迹经纬度进行了预测和平滑,因此可通过比较预测的经纬度和用户的实际经纬度之间的距离对卡尔曼平滑后的移动轨迹纠偏模型进行验证,距离公式为分别计算整个数据集中误差距离小于50m和100m的数据比例;
当有新的手机用户的路测数据记录时,通过对数据进行步骤31的处理获得归一化的模型输入后,利用步骤32中训练好的深度学习融合模型对新的样本数据进行预测后,再利用步骤33中的改进卡尔曼滤波算法对预测结果进行平滑,就可以确定该手机用户连续时段内的移动轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811468582.0A CN109743683B (zh) | 2018-12-03 | 2018-12-03 | 一种采用深度学习融合网络模型确定手机用户位置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811468582.0A CN109743683B (zh) | 2018-12-03 | 2018-12-03 | 一种采用深度学习融合网络模型确定手机用户位置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109743683A true CN109743683A (zh) | 2019-05-10 |
CN109743683B CN109743683B (zh) | 2020-08-07 |
Family
ID=66359118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811468582.0A Active CN109743683B (zh) | 2018-12-03 | 2018-12-03 | 一种采用深度学习融合网络模型确定手机用户位置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109743683B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110118560A (zh) * | 2019-05-28 | 2019-08-13 | 东北大学 | 一种基于lstm和多传感器融合的室内定位方法 |
CN110290466A (zh) * | 2019-06-14 | 2019-09-27 | 中国移动通信集团黑龙江有限公司 | 楼层判别方法、装置、设备及计算机存储介质 |
CN111404594A (zh) * | 2020-03-18 | 2020-07-10 | 杭州微萤科技有限公司 | 一种定位系统及其自动设置时序和小区号方法 |
CN111540477A (zh) * | 2020-04-20 | 2020-08-14 | 中国科学院地理科学与资源研究所 | 基于手机数据的呼吸道传染病密切接触者识别方法 |
CN112543470A (zh) * | 2019-09-23 | 2021-03-23 | 中国移动通信集团重庆有限公司 | 基于机器学习的终端定位方法及系统 |
CN112669985A (zh) * | 2020-12-30 | 2021-04-16 | 华南师范大学 | 基于多源大数据深度学习的传染病协同预测方法和机器人 |
CN112749516A (zh) * | 2021-02-03 | 2021-05-04 | 江南机电设计研究所 | 适应多类型数据特征的体系组合模型可信度智能评估方法 |
WO2021103027A1 (en) * | 2019-11-30 | 2021-06-03 | Beijing Didi Infinity Technology And Development Co., Ltd. | Base station positioning based on convolutional neural networks |
CN113098805A (zh) * | 2021-04-01 | 2021-07-09 | 清华大学 | 基于二值化神经网络的高效mimo信道反馈方法及装置 |
CN113554356A (zh) * | 2021-09-18 | 2021-10-26 | 中国地质大学(武汉) | 基于多模型融合的人口分布估计方法、装置及存储介质 |
CN113611568A (zh) * | 2021-09-06 | 2021-11-05 | 辽宁石油化工大学 | 一种基于遗传卷积深度网络的真空断路器 |
CN113705959A (zh) * | 2021-05-11 | 2021-11-26 | 北京邮电大学 | 网络资源分配方法及电子设备 |
CN114513367A (zh) * | 2021-12-10 | 2022-05-17 | 西安电子科技大学 | 基于图神经网络的蜂窝网络异常检测方法 |
CN114724407A (zh) * | 2022-03-25 | 2022-07-08 | 中电达通数据技术股份有限公司 | 一种道路拟合中基于多数据源的正确车道识别方法 |
WO2023097634A1 (zh) * | 2021-12-03 | 2023-06-08 | Oppo广东移动通信有限公司 | 定位方法、模型训练方法和设备 |
CN116976202A (zh) * | 2023-07-12 | 2023-10-31 | 清华大学 | 基于深度神经网络的固定复杂源项分布反演方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883316A (zh) * | 2009-05-04 | 2010-11-10 | 株式会社泛泰 | 利用多媒体数据提供位置管理的移动终端及其方法 |
CN101924990A (zh) * | 2009-06-16 | 2010-12-22 | 株式会社Ntt都科摩 | 室内外判定装置及室内外判定方法 |
CN107071894A (zh) * | 2017-02-16 | 2017-08-18 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于WiFi的室内定位优化算法 |
CN108430089A (zh) * | 2018-05-04 | 2018-08-21 | 南京邮电大学 | 一种基于深度学习的车载自组织网路由分簇方法 |
US20180314937A1 (en) * | 2017-04-28 | 2018-11-01 | Microsoft Technology Licensing, Llc | Learning-based noise reduction in data produced by a network of sensors, such as one incorporated into loose-fitting clothing worn by a person |
-
2018
- 2018-12-03 CN CN201811468582.0A patent/CN109743683B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883316A (zh) * | 2009-05-04 | 2010-11-10 | 株式会社泛泰 | 利用多媒体数据提供位置管理的移动终端及其方法 |
CN101924990A (zh) * | 2009-06-16 | 2010-12-22 | 株式会社Ntt都科摩 | 室内外判定装置及室内外判定方法 |
CN107071894A (zh) * | 2017-02-16 | 2017-08-18 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种基于WiFi的室内定位优化算法 |
US20180314937A1 (en) * | 2017-04-28 | 2018-11-01 | Microsoft Technology Licensing, Llc | Learning-based noise reduction in data produced by a network of sensors, such as one incorporated into loose-fitting clothing worn by a person |
CN108430089A (zh) * | 2018-05-04 | 2018-08-21 | 南京邮电大学 | 一种基于深度学习的车载自组织网路由分簇方法 |
Non-Patent Citations (1)
Title |
---|
高欢斌: "基于深度学习的室内定位算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110118560A (zh) * | 2019-05-28 | 2019-08-13 | 东北大学 | 一种基于lstm和多传感器融合的室内定位方法 |
CN110118560B (zh) * | 2019-05-28 | 2023-03-10 | 东北大学 | 一种基于lstm和多传感器融合的室内定位方法 |
CN110290466A (zh) * | 2019-06-14 | 2019-09-27 | 中国移动通信集团黑龙江有限公司 | 楼层判别方法、装置、设备及计算机存储介质 |
CN112543470A (zh) * | 2019-09-23 | 2021-03-23 | 中国移动通信集团重庆有限公司 | 基于机器学习的终端定位方法及系统 |
WO2021103027A1 (en) * | 2019-11-30 | 2021-06-03 | Beijing Didi Infinity Technology And Development Co., Ltd. | Base station positioning based on convolutional neural networks |
CN111404594A (zh) * | 2020-03-18 | 2020-07-10 | 杭州微萤科技有限公司 | 一种定位系统及其自动设置时序和小区号方法 |
CN111540477A (zh) * | 2020-04-20 | 2020-08-14 | 中国科学院地理科学与资源研究所 | 基于手机数据的呼吸道传染病密切接触者识别方法 |
CN112669985A (zh) * | 2020-12-30 | 2021-04-16 | 华南师范大学 | 基于多源大数据深度学习的传染病协同预测方法和机器人 |
CN112669985B (zh) * | 2020-12-30 | 2023-08-04 | 华南师范大学 | 基于多源大数据深度学习的传染病协同预测方法和机器人 |
CN112749516A (zh) * | 2021-02-03 | 2021-05-04 | 江南机电设计研究所 | 适应多类型数据特征的体系组合模型可信度智能评估方法 |
CN112749516B (zh) * | 2021-02-03 | 2023-08-25 | 江南机电设计研究所 | 适应多类型数据特征的体系组合模型可信度智能评估方法 |
CN113098805A (zh) * | 2021-04-01 | 2021-07-09 | 清华大学 | 基于二值化神经网络的高效mimo信道反馈方法及装置 |
CN113705959A (zh) * | 2021-05-11 | 2021-11-26 | 北京邮电大学 | 网络资源分配方法及电子设备 |
CN113705959B (zh) * | 2021-05-11 | 2023-08-15 | 北京邮电大学 | 网络资源分配方法及电子设备 |
CN113611568A (zh) * | 2021-09-06 | 2021-11-05 | 辽宁石油化工大学 | 一种基于遗传卷积深度网络的真空断路器 |
CN113554356A (zh) * | 2021-09-18 | 2021-10-26 | 中国地质大学(武汉) | 基于多模型融合的人口分布估计方法、装置及存储介质 |
WO2023097634A1 (zh) * | 2021-12-03 | 2023-06-08 | Oppo广东移动通信有限公司 | 定位方法、模型训练方法和设备 |
CN114513367B (zh) * | 2021-12-10 | 2023-02-10 | 西安电子科技大学 | 基于图神经网络的蜂窝网络异常检测方法 |
CN114513367A (zh) * | 2021-12-10 | 2022-05-17 | 西安电子科技大学 | 基于图神经网络的蜂窝网络异常检测方法 |
CN114724407A (zh) * | 2022-03-25 | 2022-07-08 | 中电达通数据技术股份有限公司 | 一种道路拟合中基于多数据源的正确车道识别方法 |
CN116976202A (zh) * | 2023-07-12 | 2023-10-31 | 清华大学 | 基于深度神经网络的固定复杂源项分布反演方法及装置 |
CN116976202B (zh) * | 2023-07-12 | 2024-03-26 | 清华大学 | 基于深度神经网络的固定复杂源项分布反演方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109743683B (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109743683A (zh) | 一种采用深度学习融合网络模型确定手机用户位置的方法 | |
CN109614985B (zh) | 一种基于密集连接特征金字塔网络的目标检测方法 | |
CN108596101B (zh) | 一种基于卷积神经网络的遥感图像多目标检测方法 | |
CN101778399B (zh) | 基于fcm和最小二乘曲面拟合法的wlan室内优化ann定位方法 | |
CN107690840B (zh) | 无人机视觉辅助导航方法及系统 | |
CN108710863A (zh) | 基于深度学习的无人机航拍场景语义分割方法及系统 | |
CN107182036A (zh) | 基于多维特征融合的自适应位置指纹定位方法 | |
US20150248797A1 (en) | Real-time location detection using exclusion zones | |
CN107665498A (zh) | 基于典型示例挖掘的全卷积网络飞机检测方法 | |
CN108282743A (zh) | 室内定位方法、装置及系统 | |
CN110222767A (zh) | 基于嵌套神经网络和栅格地图的三维点云分类方法 | |
CN113064117A (zh) | 一种基于深度学习的辐射源定位方法及装置 | |
Zhong et al. | XJTLUIndoorLoc: A new fingerprinting database for indoor localization and trajectory estimation based on Wi-Fi RSS and geomagnetic field | |
CN108763811A (zh) | 动态数据驱动林火蔓延预测方法 | |
CN111475746B (zh) | 兴趣点位置挖掘方法、装置、计算机设备和存储介质 | |
CN110276363A (zh) | 一种基于密度图估计的鸟类小目标检测方法 | |
CN111598028A (zh) | 一种基于遥感成像原理识别地表植被分布方法 | |
CN114611388B (zh) | 基于人工智能的无线信道特征筛选方法 | |
CN109671055A (zh) | 肺结节检测方法及装置 | |
Huan et al. | Indoor location fingerprinting algorithm based on path loss parameter estimation and bayesian inference | |
Alexander et al. | Predicting indoor position using Bluetooth low energy and machine learning | |
Jia et al. | A fingerprint-based localization algorithm based on LSTM and data expansion method for sparse samples | |
Hou et al. | FCLoc: A novel indoor Wi-Fi fingerprints localization approach to enhance robustness and positioning accuracy | |
CN107644230A (zh) | 一种遥感图像对象的空间关系建模方法 | |
CN109558819A (zh) | 一种用于遥感图像目标检测的深度网络轻量化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |