本发明涉及一种预测方法,具体而言,涉及一种基于集成极限学习机和主成分分析的楼层预测方法,属于无线定位和机器学习领域。
背景技术:
随着通信和智能产业的不断发展,定位技术在我们的日常生活中扮演着越来越重要的角色。虽然全球定位系统可以在户外提供高精度的定位结果,但在复杂的室内环境中效果不佳。因此,室内定位技术已经成为当下研究的热点。基于wifi的室内定位技术通过利用移动终端从无线接入点(ap)接收信号的方式来确定用户位置,这一技术凭借其低成本、高效率的特性,成为了近年来室内定位技术研究的热点。
在室内定位的过程中中,预测移动用户所在的楼层对于各种基于位置的服务具有重大意义。例如,在火灾紧急等情况下,被困人员所在的确切楼层对于救生至关重要。而在商场中,由于不同的楼层多提供的商品和服务不同,每个楼层的商品导航服务可以帮助用户快速找到商品从而节约用户的搜索时间。由上述情况可知,室内定位系统中的诸多问题其本质上都可以看作是一种楼层定位问题。因此,如何找到一种方法来确定在一个多层建筑环境中移动用户的确切楼层,也就成为了业界的一个新的研究热点。
目前,也已经出现了相关的研究。诸如,a.varshavsky等人在2007年提出了一种使用gsm指纹识别的楼层定位系统,用以识别高层多层建筑中用户的楼层,但是该定位系统的楼层预测精度不高,仅为73%。h.b.ye等人在2012年提出了一种楼层定位方法,该方法需要依靠手机内置的加速度计来捕捉用户的状态,进而实现楼层定位。该方法虽然在最大限度上节省了定位成本,但是其定位效果仍然不理想。2015年,h.b.ye等人又提出了一种基于气压计传感器的b-loc方法,但由于传感技术的限制,基于传感器辅助的楼层定位技术需要仔细校准,校准不理想会影响定位性能,而且并不是所有的智能手机都含有气压传感器,这些客观因素都在一定程度上限制了该方法的普及。
综上所述,如何在现有技术的基础上提出一种新的楼层预测方法,以克服现有技术中存在着诸多缺陷,既保证楼层预测的准确性,又满足实际的使用需要,也就成为了本领域内技术人员亟待解决的问题。
技术实现要素:
鉴于现有技术存在上述缺陷,本发明提出了一种基于集成极限学习机和主成分分析的楼层预测方法,包括如下步骤:
s1、离线数据集构建步骤,在需要进行楼层预测的大楼内各楼层的不同位置处,采集多组无线信号接收强度指示数据,构成离线数据集;
s2、数据预处理步骤,对所获得的离线数据集进行预处理,并得到多组离线数据子集;
s3、离线学习步骤,对离线数据子集进行训练,得到多组不同的楼层分类器;
s4、在线楼层预测步骤,对需要进行楼层预测的对象所在位置处的无线信号接收强度指示数据进行在线收集,并对所收集的数据进行处理,得到多个楼层预测结果,实现楼层预测。
优选地,所述无线信号为wifi信号。
优选地,s2所述数据预处理步骤,具体包括:
s21、使用主成分分析技术对离线数据集内的无线信号接收强度指示数据进行数据降维处理;
s22、对已完成降维处理的无线信号接收强度指示数据进行多次随机抽取,得到多组离线数据子集。
优选地,s3所述离线学习步骤,具体包括:利用集成极限学习机对离线数据子集进行训练,得到多组不同的楼层分类器。
优选地,s4所述在线楼层预测步骤,具体包括:
s41、对需要进行楼层预测的对象所在位置处的无线信号接收强度指示数据进行在线收集,得到无线信号接收强度实时指示数据;
s42、使用主成分分析技术对所述无线信号接收强度实时指示数据进行降维处理;
s43、使用多组不同的楼层分类器对经过降维处理后的无线信号接收强度实时指示数据进行处理,得到多个楼层预测结果;
s44、使用投票选举策略对所述多个楼层预测结果进行处理,完成楼层预测。
优选地,s4中经过降维处理后的无线信号接收强度实时指示数据与s2中经过降维处理的无线信号接收强度指示数据二者的维度相同。
与现有技术相比,本发明的优点主要体现在以下几个方面:
本发明将楼层预测问题建模成机器学习问题,并且通过集成极限学习机技术进行解决。与传统的学习算法相比,极限学习机具有极快的学习速度,良好的逼近能力和泛化能力,可以克服在接收信号强度指示测量中环境变化的影响。本发明所使用的集成极限学习机相比于单独的极限学习机具有更优越的泛化性能,能够最大程度上改善楼层预测的性能。
同时,本发明在离线阶段利用基于主成分分析的数据预处理来降低离线阶段的训练数据学习的计算负荷。作为一种特征提取工具,pca能够尽可能的将高维空间的训练数据映射到较低维空间,并减少噪音和冗余,这也进一步提升了本发明的使用效果。
此外,本发明也为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他定位系统和机器学习系统的技术方案中,具有十分广阔的应用前景。
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述,以使本发明技术方案更易于理解、掌握。
附图说明
图1为本发明的方法流程示意图;
图2为本发明的离线阶段系统框图;
图3为本发明的在线阶段系统框图;
图4为楼层预测精度与训练数据数量的关系示意图;
图5为楼层预测精度与隐层节点数量的关系示意图。
具体实施方式
如图1所示,本发明揭示了一种基于集成极限学习机和主成分分析的楼层预测方法,包括离线与在线两个阶段。
图2为本发明离线阶段的系统框图。在这个阶段主要包括三个步骤。首先,将主成分分析(pca)技术用于预处理训练数据。其次,从预处理的数据中随机选择具有相同数量大小的多个子集数据。最后利用集成极限学习机算法进行模型训练,并获得多个预测模型。
图3为本发明在线阶段的系统框图。在这个阶段主要基于pca算法对接收到的rssi测量数据进行预处理,利用集成模型获得多个预测结果。通过投票策略,选择得票最多的楼层作为最终的楼层预测结果。
为了更好的对这一部分进行解释,接下来对现有技术中的基于极限学习机的楼层定位系统以及主成分分析技术进行详细说明。
极限学习机(elm)是一种广义的单隐层前馈神经网络。由于它学习速度快,泛化性能好,因此可以采用极限学习机去训练预测模型,构建输入与输出之间的关系。
在楼层定位系统中,给定离线采集样本(xi,ti),=1,...,n,n为训练样本个数,其中xi=[xi1...xim]t为在第i个样本点上接收到的无线信号接收强度指示(rssi)测量值,m为系统中无线ap点的个数。ti=[ti1...tir]t为楼层标识向量,r为系统中楼层数。
标准的单隐层前馈神经网络的公式可以被表达为:
其中f()是激活函数,wi是连接输入节点和第i个隐层节点的权重,bi是第i个隐层节点的偏置,βi是连接输出节点和第i个隐层节点的权重。
上面n个等式可以写成
hβ=t,
其中,
h被称为神经网络的隐层输出矩阵,β被称为连接隐藏层和输出层的权重矩阵,t是由样本数据集的标签信息构成的矩阵,tj,j=1,...,n是一维矩阵,维度是1*r。
在elm学习方法中,输入权重和隐层偏置是随机分配的,不需要参与迭代调整。因此,要优化的唯一参数是输出权重,elm的训练等同于求解最小二乘问题:
s.t.||yi-ti||2=ε,i=1,...,n,
yi=f(xi)β,i=1,...,n,
通过最小二乘法,可以得到:
β*=h+t,
其中,h+是矩阵h的moore-penrose广义逆。
在在线阶段中,根据接收到的rssi测量值x',楼层预测可以写为:
t(x')=f(w,x',b)β*,
其中,t(x')为维度为1*r的一维矩阵,选择该一维矩阵中与该最大值对应的序号作为预测层。
pca技术是一种广泛使用的数据分析和降维工具。它不仅降低了高维数据维度,而且减少了噪声和冗余,并揭示了隐藏在复杂数据背后的简单结构。该算法可以总结如下:
输入:样本数据集d=(xi,ti),i=1,...,n。降维参数γ(0<γ<1)。
输出:转换矩阵p=(p1,...,pd),d为降维后的维数。
算法具体步骤如下:
步骤1:对所有样本进行中心化处理,
步骤2:计算样本的协方差矩阵xxt,其中x=(x1,x2,...,xn)
步骤3:对协方差矩阵xxt进行特征值分解。
步骤4:取最大的d个特征值对应的特征向量构成转换矩阵p。
维度d可以由阈值方法确定。使用给定的参数γ,它具有以下规则:
其中,λi是步骤3中的特征值,m是数据的原始维度。
基于上述两种方法,具体而言,本发明主要包括如下步骤:
s1、离线数据集构建步骤,在需要进行楼层预测的大楼内各楼层的不同位置处,采集多组无线信号接收强度指示数据,构成离线数据集。在本技术方案中,所述无线信号优选为wifi信号。
s2、数据预处理步骤,对所获得的离线数据集进行预处理,并得到多组离线数据子集。
具体包括:
s21、使用主成分分析技术对离线数据集内的无线信号接收强度指示数据进行数据降维处理。
s22、对已完成降维处理的无线信号接收强度指示数据进行多次随机抽取,得到多组离线数据子集。
s3、离线学习步骤,对离线数据子集进行训练,得到多组不同的楼层分类器。此处需要说明的是,在此步骤中对离线数据子集进行训练时,需要使用到集成极限学习机技术。
s4、在线楼层预测步骤,对需要进行楼层预测的对象所在位置处的无线信号接收强度指示数据进行在线收集,并对所收集的数据进行处理,得到多个楼层预测结果,实现楼层预测。
具体包括:
s41、对需要进行楼层预测的对象所在位置处的无线信号接收强度指示数据进行在线收集,得到无线信号接收强度实时指示数据。
s42、使用主成分分析技术对所述无线信号接收强度实时指示数据进行降维处理。此处需要补充说明的是,s4中经过降维处理后的无线信号接收强度实时指示数据与s2中经过降维处理的无线信号接收强度指示数据二者的维度相同。
s43、使用多组不同的楼层分类器对经过降维处理后的无线信号接收强度实时指示数据进行处理,得到多个楼层预测结果。
s44、使用投票选举策略对所述多个楼层预测结果进行处理,完成楼层预测。
以下结合具体的实验测试结果,对本发明的技术方案进行进一步说明:
在实验测试中,700个接收信号强度测量数据被用于算法比较。集成极限学习机模型的数量为10,其中极限学习机的激活函数选为sigmoid。图4显示了当k=50和γ=0.9时,不同算法的楼层预测精度。可以看出,当训练数据的数量增加时,所有三个楼层定位算法的性能可以得到改善。本发明的预测精度在三种方法中最高。原因主要在于主成分分析的数据预处理技术和采用集成极限学习机技术。
图5描述了不同隐层节点条件下的算法性能比较,训练数为350,γ=0.9。我们可以发现,对于这些方法,隐藏节点数量越多,预测精度就越高。本发明具有最好的预测精度。在少量隐藏节点条件下,主成分分析数据预处理对预测精度影响较大,对预测精度的提升相比其他算法较明显。当隐层节点数量介于30到40之间的某个数值时,未进行pca降维的单个极限学习机的楼层预测性能要高于进行pca降维的单个极限学习机的楼层预测性能,这是因为,数据进行pca降维后,降维后的数据对隐层节点数量较为敏感,更容易提前产生过拟合现象。虽然随着隐层节点数增多,未降维的单个极限学习机的性能虽然提高了,但是计算复杂度却随着隐层节点数量的增多而大大提升。当隐层节点数较少,在满足计算复杂度的要求下,可以获取较好的楼层预测精度。
综上所述,本发明将楼层预测问题建模成机器学习问题,并且通过集成极限学习机技术进行解决。与传统的学习算法相比,极限学习机具有极快的学习速度,良好的逼近能力和泛化能力,可以克服在接收信号强度指示测量中环境变化的影响。本发明所使用的集成极限学习机相比于单独的极限学习机具有更优越的泛化性能,能够最大程度上改善楼层预测的性能。
同时,本发明在离线阶段利用基于主成分分析的数据预处理来降低离线阶段的训练数据学习的计算负荷。作为一种特征提取工具,pca能够尽可能的将高维空间的训练数据映射到较低维空间,并减少噪音和冗余,这也进一步提升了本发明的使用效果。
此外,本发明也为同领域内的其他相关问题提供了参考,可以以此为依据进行拓展延伸,运用于同领域内其他定位系统和机器学习系统的技术方案中,具有十分广阔的应用前景。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。