基于集成神经网络的WIFI定位方法与流程

文档序号:11523953阅读:1220来源:国知局
基于集成神经网络的WIFI定位方法与流程

本发明涉及wifi无线定位技术,具体涉及一种基于集成神经网络的wifi定位方法。



背景技术:

在室内定位中,传统的gps/北斗无法满足定位精度需求。红外线定位技术只适合于短距离传播,且容易被荧光灯或者房间内的灯光干扰,在定位范围和定位精度上有很大的局限性。rfid定位技术对环境的要求和受到环境的影响都很小,且定位精度较高,传输范围大,但是rfid定位需要预先布置阅读器或标签阵列,成本较高,在应用上受到一定的限制。

wifi定位是利用无线局域网,在无线接入的同时,可以实现定位功能,同时wifi定位精度比较高。它最大的优势是可以充分利用现有的wlan网络,不需要再额外的投入硬件设备,且近年来wlan发展迅速,运营商也在大力推广室内外wifi热点,利用这些热点信息结合wifi定位技术,可以很好的解决室内和室外定位的无缝融合。同时wifi信号受非视距的影响比较小,即使在障碍物阻挡的情况下也能使用。因此,wifi定位受到广泛重视。

现有的wifi定位方法主要利用信号强度简单定位,需要预先知道wifi热点布局,并且定位精度受到限制。



技术实现要素:

本发明的目的在于提供一种基于集成神经网络的wifi定位方法。

实现本发明目的的技术方案为:一种基于集成神经网络的wifi定位方法,包括以下步骤:

基于指纹数据库建立多个bp神经网络模型;

通过集成神经网络算法构造wifi神经网络传播模型,利用wifi神经网络传播模型预测当前位置。

本发明与现有技术相比,其显著优点为:

(1)本发明涉及wifi无线定位技术,应用在追求高精度,实时定位的室内场景中,算法计算量小,可以应用在移动终端使用而不需要与服务器端进行通信,同时也无需知道wifi热点的位置;(2)本发明提出了一种基于指纹数据库的集成神经网络算法用于无线定位,算法主要有两个核心的部分,一是使用反向传播(backpropagation,bp)神经网络来建立多个模型,二是集成多个局部最优神经网络,从而得到比单个最佳神经网络更好的效果;bp神经网络具有很强的非线性映射的能力,可以用来拟合复杂的函数,十分适合用来建立wifi室内传播模型;不但定位精度高,而且一旦模型建立好,预测的复杂度较低,可以在移动终端比如手机、ipad等上面使用。

附图说明

图1是神经元结构图。

图2是神经元激活函数示意图。

图3是wifi定位神经网络模型图。

图4是集成神经网络结构图。

图5是集成神经网络算法流程图。

图6是本发明实施例中实验环境平面图。

图7是本发明实施例中不同方法性能对比图。

图8是本发明实施例中预测位置与真实坐标回归图。

具体实施方式

本发明的一种基于集成神经网络的wifi定位方法,包括以下步骤:

基于指纹数据库建立多个bp神经网络模型;

通过集成神经网络算法构造wifi神经网络传播模型,利用wifi神经网络传播模型预测当前位置。

进一步的,基于指纹数据库建立多个bp神经网络模型的具体过程为:

指纹数据库中的信号数据构成神经元,在同一层中各个神经元相互连接,构成单层神经网络,多个单层神经网络通过信号的正向传播与误差的反向传播机理,构造出多层神经网络,多个多层神经网络构成多个bp神经网络模型。

进一步的,通过集成神经网络算法构造wifi神经网络传播模型,利用wifi神经网络传播模型预测当前位置的具体过程为:

根据信号强度从bp神经网络模型中选取一个局部最优神经网络,利用集成神经网络算法进行不同bp神经网络的偏置加权,利用学习过程信号的正向传播与误差的反向传播机理,判断实际输出与期望的输出的相符程度,以此作为调整算法各单元权值偏置的依据,反复迭代学习训练过程,使误差函数沿梯度方向下降,直至网络的输出误差达到期望值,或者迭代次数超过了设定的学习次数,形成全局最优神经网络,完成当前位置预测。

下面对本发明的实现方法具体说明。

集成神经网络算法主要分为两部分:一:基于指纹数据库建立多个bp神经网络模型,也就是训练阶段,根据已采集的数据调节神经网络的权值和偏置值建立wifi神经网络传播模型,然后利用这个模型来预测当前位置;二:进一步地从这些多个神经网络中选取局部最优网络,利用多个神经网络集成的方法,可以得到比单个神经网络更好的预测效果。

1、bp神经网络

人工神经网络是一种模拟动物神经元结构,多个神经元之间形成层状,多层神经元形成网络。同一层的神经元对下层产生激励。神经元是神经网络操作的基本信息处理单位,其结构如图1所示,由以下四部分组成:

(1)突触权值。每一个都由其权值或者强度作为特征,特别是连接到神经元k的突触j上的输入信号xj被乘以k的突触权重wkj,可以取正值也可以取负值;

(2)求和节点的加法器。用于求输入信号被神经元的相应突触加权的和,这个操作构成一个线性组合器;

(3)激活函数。用来限制神经元的输出振幅。激活函数也称为压制函数,由于它将输出信号限制到允许的范围之内。通常神经元的输出的振幅范围在[0,1]或者[-1,1],可以分别用sigmoid和tansig函数。如图2所示。激活函数的选择范围较大,也可以选择比如线性函数等其他函数;

(4)偏置。对应于其输入节点值为1,也是作为加法器的一项。

结合到具体的wifi定位,设输入数据集的特征为d列,隐层的神经元节点数为n,输出层神经元为两个节点,一个预测x坐标,一个预测y坐标,神经网络模型如图3所示。

bp算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成,正向传播时,输入样本从输入层传入,经各隐层处理后,传向输出层,若输出层的实际输出与期望的输出不相符,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层反传,并将误差分摊给各层的所有单元。从而获得各层单元的误差信号,此误差信号即作为修正各单元权值和偏置的依据。这种信号正向传播与误差反向传播,各层权值偏置调整过程,是周而复始地进行的。权值偏置不断调整的过程,也就是网络的学习训练过程。此过程一直进行,直到网络的输出误差达到期望值,或者迭代次数超过了设定的学习次数。

设真实的输出坐标值为(x,y),模型输出值为ox,oy,定义最小均方误差lms为

梯度下降的方向为

通过训练数据得到网络的权值与偏置,使误差函数沿梯度方向下降。式中,η是学习速率,控制沿梯度方向变化的快慢,网络权值,偏置参数均沿着梯度下降的方向变化。每个网络节点输出函数为f(x),其中x是上层神经网络输出加权和与偏置之差,激活函数f选取具体到wifi定位应用,选择隐层的激活函数f(neti)为sigmoid函数,如公式(3)所示,输出层激活函数f(netl)选为线性函数。

2、神经网络集成

集成方法在分类算法中,比如决策树,朴素贝叶斯等方法中得到广泛的应用,在回归方法中,应用还相对较少。集成神经网络结构如图4所示。

记ht()为第t个局部最优神经网络,对于多个神经网络的集成策略为

式中,t为神经网络总数,αt为第t个神经网络的偏置;

设f为实际的输出,那么集成神经网络前的加权误差为

将式(4)代入式(5),可得

集成策略取加权平均:

由(6)式得到集成误差函数

上式说明,集成后的神经网络误差必然小于等于平均误差,而且当右式第二项值比较大时,就可能从集成的方法中找到集成错误率比单个最佳神经网络的错误率更低的一种集成方法。也就使得下式成为可能:

因此基于神经网络集成方法,不仅能够提高神经网络的稳定性,而且能够得到比单个神经网络效果更好的方法。

enn的主要流程如表1所示,网络中的偏置参数调节和权值调节过程一样。

表1enn算法权值调整的主要步骤

集成神经网络的工作流程如图5所示。

下面结合附图和具体实施例对本发明作进一步说明。

实施例

为了验证本文提出的算法,采集了南京大学仙林校区学生公寓8幢一楼的无线rss,平面布局如图6所示。从中选取了30×11m2区域的走廊进行采样,整个宿舍楼中覆盖了大量的wifi热点,其中一部分分布在学生宿舍,还有一部分由运营商提供。在这个范围内总共检测到146个wifi热点,而不知道任何一个wifi点的实际位置,因此实验环境与商用环境类似。

实验使用zte中兴智能手机,利用android系统提供的wifiapi,编写app应用来采集rss信号强度。默认信号强度值设置为-99db。实验总共采样92个点,每个采样点间隔1m,重复采样了3遍,总共得到采样记录276条,作为指纹数据库。

接着,把这些数据抽样划分为两个独立的块,一部分作为训练数据集占80%,另一部分作为验证数据集占20%。每一次神经网络训练,从训练数据集中再抽样80%的数据子集用来训练神经网络,重复抽样得到36个不同的训练子集。

bp算法的多层前馈网络应用最为普遍的是单隐层网络,单隐层的sigmoid神经网络可以模拟任何连续的函数,结合wifi定位的复杂度,最后选取了单隐层的三层网络结构。实验利用matlab神经网络工具箱,在测试了大量的参数后,实验参数设置为:隐层激活函数为sigmoid,输出层激活函数为线性函数,误差期望为1,隐层节点个数变化在输入层节点总数的2/3左右。

训练平台在一台32g内存的服务器上进行,通过调节参数,在不同的训练子集上重复进行大量的神经网络训练,直到网络趋于稳定。从中寻找一些局部最优的训练结果进行了集成,得到最终的预测模型。

在这一部分中,对于三种定位算法,包括knn,ml以及单个nn定位算法做了比较,采用平均误差和标准差两个参数作为衡量定位精度和稳定度的重要指标。

如图7所示,基于神经网络的算法比传统的knn算法有更好的预测效果,算法性能提升较高。与dann相比,单个nn有微弱的性能优势。ensemble网络和单个nn相比,算法有显著的性能提高,平均误差和标准差分别提升13.1%,13.3%。

如图8所示,是期望位置与实际位置的回归图,可以看出,有零星的点偏差较大,定位整体精度较高。

集成神经网络模型建立之后,可以将其移植到移动设备,比如ipad,智能手机等。预测时其计算量比较小,可以直接在客户端运行,因此比如医院,博物馆,商场等环境下均可以使用该算法来定位。对于少量的偏差较大点,可以结合轨迹聚类来纠正,利用轨迹的连续性,来修正偏差较大的点。而且可以利用现有的hadoop等并行技术,可以在并不增加时间复杂度的情况下,同时训练多个神经网络。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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