基于层次聚类技术和在线极限学习机的室内定位方法
技术领域
本发明涉及一种定位方法,具体而言,涉及一种基于层次聚类技术和 在线极限学习机的室内定位方法,属于机器学习领域。
背景技术
随着通信和智能产业的不断发展,定位技术在我们的日常生活中扮演 着越来越重要的角色。虽然全球定位系统可以在户外提供高精度的定位结 果,但在复杂的室内环境中效果不佳。因此,如何实现室内环境中的精准 定位,已经成为当下研究的热点问题。
基于WiFi的室内定位技术通过利用移动终端从无线接入点(AP)接收信 号的方式来确定用户位置,这一技术凭借其低成本、高效率的特性,成为 了近年来室内定位技术研究的热点。
这类室内定位方法大多基于测距原理完成定位,主要包括到达时间法 (TOA)、到达时间差法(TDOA)、到达角度法(AOA)以及接收信号 强度法(RSS)等,其中基于接收信号强度的室内定位方法能够充分利用 现有的无线网络设施,既不需要添加额外的硬件设备,也不需要准确的时 间同步和角度测量,因此目前这类基于接收信号强度的室内定位方法得到 了广泛地应用。
基于接收信号强度的室内定位方法主要包括传播模型法和位置指纹 法。具体而言,基于传播模型的定位方法,首先需要通过信道衰落模型将 接收信号强度的测量值转换为距离,然后再利用三角测量法进行位置估计。 位置指纹定位方法,主要是基于离线阶段在定位区域中采集接收信号强度 得到的位置指纹库,然后通过一定的匹配算法进行定位。
近年来,随着机器学习技术的不断发展,这类定位问题能够被转化为 机器学习的问题。常用的机器学习定位算法包括误差反向传播(BP)算法、 支持向量机(SVM)、极限学习机(ELM)及其各种改进算法。其中,极 限学习机算法学习速度快,效率高,计算复杂度低,泛化性能好。在线极 限学习机作为其一种改进算法,具备连续学习能力,能够很好的适应环境 的变化,但是在线极限学习机并没有考虑训练样本可能被攻击的问题,因 此也不适合被直接应用于这类定位问题中。
综上所述,如何在现有技术的基础上提出一种新的定位方法,将在线 极限学习机应用于室内定位中,以克服现有技术中存在着诸多缺陷,也就 成为了本领域内技术人员亟待解决的问题。
发明内容
鉴于现有技术存在上述缺陷,本发明提出了一种基于层次聚类技术和 在线极限学习机的室内定位方法,包括如下步骤:
S1、训练库构建步骤,测量并获得定位区域内多个不同位置处无线信 号的信号强度向量,构成离线指纹数据训练库;
S2、聚类处理步骤,利用层次聚类技术对离线指纹数据训练库进行无 监督聚类处理,分别得到受攻击的训练数据样本和未受到攻击的训练数据 样本;
S3、模型建立步骤,对训练数据样本进行处理,得到位置递归模型;
S4、位置估计步骤,将在线收集到的信号强度测量值代入位置递归模 型中,得到位置估计值。
优选地,所述无线信号为WIFI信号。
优选地,S1所述训练库构建步骤,具体包括:
S11、测量定位区域内多个不同位置处无线信号的信号强度值;
S12、将所测量的信号强度值转化为信号强度向量,并将每个位置上的 信号强度向量与该位置对应的坐标组合视为一个训练数据样本;
S13、收集全部训练数据样本,构建得到离线指纹数据训练库。
优选地,S2所述聚类处理步骤,具体包括:
S21、对离线指纹数据训练库内的训练数据样本进行初始化处理,得到 多个聚类;
S22、计算每个聚类之间的距离,形成距离矩阵;
S23、将距离最近的两个聚类进行合并,形成一个新的聚类,再使用新 的聚类进行迭代,计算新的距离矩阵;
S24、重复S22与S23,直至聚类的数目变成两个,以剩下的两个聚 类中样本数目较少的一个聚类作为受攻击的训练数据样本、另一个聚类作 为未受到攻击的训练数据样本。
优选地,S21具体包括:
S211、对离线指纹数据训练库中的信号强度向量进行z-score标准化 处理;
S212、将离线指纹数据训练库中的每一个信号强度向量均作为一个聚 类。
优选地,S211中所述对离线指纹数据训练库中的信号强度向量进行 z-score标准化处理,处理公式为:
z=(x-μ)/σ,
其中,x为离线指纹数据训练库中任一具体的信号强度向量,μ为离线 指纹数据训练库中所有信号强度向量的平均值,σ为离线指纹数据训练库 中所有信号强度向量的标准差。
优选地,S3所述模型建立步骤,具体包括:利用在线极限学习机训练 未受到攻击的训练数据样本,得到位置递归模型。
优选地,S4所述位置估计步骤,具体包括:
S41、对定位区域内需要进行定位的对象所在位置处的无线信号的信号 强度值进行在线收集;
S42、将收集到的信号强度值代入位置递归模型中,得到对象的位置估 计值。
与现有技术相比,本发明的优点主要体现在以下几个方面:
本发明可以充分利用现有设施,不需要改变系统的硬件,降低了网络 升级的影响。同时,本发明充分地利用了在线极限学习机的连续学习能力, 有效地提升了在线定位性能。本发明还通过使用层次聚类技术实现了对受 攻击训练数据样本的辨别,排除了野值点对离线训练的影响,确保了定位 结果的准确性。此外,本发明也为同领域内的其他相关问题提供了参考, 可以以此为依据进行拓展延伸,运用于同领域内其他定位方法和机器学习 系统的技术方案中,具有十分广阔的应用前景。
以下便结合实施例附图,对本发明的具体实施方式作进一步的详述, 以使本发明技术方案更易于理解、掌握。
附图说明
图1为本发明的方法流程示意图;
图2为受攻击样本数占训练样本数据库的比例对定位精度的影响对比 图;
图3为受攻击样本所受到的攻击程度对定位精度的影响对比图;
图4为在线极限学习机的隐层节点数对定位精度的影响对比图;
图5为训练数据集的大小对定位精度的影响对比图。
具体实施方式
如图1所示,本发明揭示了一种基于层次聚类技术和在线极限学习机 的室内定位方法,包括离线阶段和在线阶段两个部分。所述离线阶段包括 训练库构建步骤、聚类处理步骤以及模型建立步骤,所述在线阶段包括位 置估计步骤。
具体而言,本发明包括如下步骤:
S1、训练库构建步骤,测量并获得定位区域内多个不同位置处无线信 号的信号强度向量,构成离线指纹数据训练库。在本实施例中,所述无线 信号为WIFI信号。
进一步而言,S1所述训练库构建步骤具体包括:
S11、测量定位区域内多个不同位置处无线信号的信号强度值。
S12、将所测量的信号强度值转化为信号强度向量,并将每个位置上的 信号强度向量与该位置对应的坐标组合视为一个训练数据样本。
S13、收集全部训练数据样本,构建得到离线指纹数据训练库。
S2、聚类处理步骤,利用层次聚类技术对离线指纹数据训练库进行无 监督聚类处理,分别得到受攻击的训练数据样本和未受到攻击的训练数据 样本。
这一部分是本发明的重点内容,主要是为了解决恶意节点攻击的问题, 本发明的基本思想就是在将在线极限学习机用于回归训练之前,利用基于 聚类分析的数据预处理方法来识别受攻击的样本,然后只将未受到攻击的 样本用于离线阶段的训练。
为了研究攻击对定位性能的影响,本发明以线性攻击模型为例,具体 表示为:
其中,
和R
i分别为第i个信号发射器获得的受到攻击以及未受到攻击 时的测量值,α和β是两个攻击参数。当α>1,β=0时,特定节点的接收 信号功率被放大;当α<1,β=0时,接收信号功率会衰减。
进一步而言,S2所述聚类处理步骤具体包括:
S21、对离线指纹数据训练库内的训练数据样本进行初始化处理,得到 多个聚类。
S22、计算每个聚类之间的距离,形成距离矩阵。
S23、将距离最近的两个聚类进行合并,形成一个新的聚类,再使用新 的聚类进行迭代,计算新的距离矩阵。
S24、重复S22与S23,直至聚类的数目变成两个,以剩下的两个聚 类中样本数目较少的一个聚类作为受攻击的训练数据样本、另一个聚类作 为未受到攻击的训练数据样本。
更进一步而言,S21包括如下步骤:
S211、对离线指纹数据训练库中的信号强度向量进行z-score标准化 处理。处理公式为:
z=(x-μ)/σ,
其中,x为离线指纹数据训练库中任一具体的信号强度向量,μ为离线 指纹数据训练库中所有信号强度向量的平均值,σ为离线指纹数据训练库 中所有信号强度向量的标准差。
S212、将离线指纹数据训练库中的每一个信号强度向量均作为一个聚 类。
S3、模型建立步骤,利用在线极限学习机训练未受到攻击的训练数据 样本,得到位置递归模型。
由于此处使用到了在线极限学习机,因此对基于极限学习机的定位模 型进行具体说明。
这一方法首先需要构建离线指纹数据库:在第i个参考位置,移动定位 终端采集得到的信号强度向量为Ri={RSS1,RSS2,...,RSSM},其中M为信号 发射器的个数,其对应的位置坐标为ti={xi,yi};然后改变移动定位终端的 参考位置,获取多条数据而构成训练数据集, Γ={(Ri,ti)|Ri∈Rm,ti∈R2,i=1,2,...,N},N代表参考位置的数目,也就是训练数据集的大小。此外,为了在线极限学习机描述的需要,训练数据集也可 以另外表示为Γ={chunk1,chunk2,...,chunkk},其中chunk_i表示第i个训练数 据块,k训练数据块的数目,Nk-1是第k个数据块的大小。
离线学习的目的就是找到Ri与ti之间的关系。由于极限学习机算法的输 入权重al和隐层偏差bl(l=1,...,L,L表示隐层节点的数目)是随机生成的, 那么算法中唯一要优化的参数就是输出权重β。因此,训练过程可以表示 为求解一个最小二乘问题。
总体而言,基于极限学习机的定位算法可以概括为:
步骤1:随机生成极限学习机隐层节点的参数:(ai,bi),i=1,...,L。
步骤2:根据步骤1所生成的隐层节点的参数,计算隐层输出特征矩 阵H。
其中,h(Ri)是Ri的特征映射,G(al,bl,Ri)是隐层输出函数。
步骤3:计算极限学习机的输出权重向量,获得位置递归模型。
β=H+T,
其中,H+是H的Moore-Penrose广义逆。
步骤4:将采集到的信号强度向量代入离线阶段训练好的位置递归模 型,得到位置估计值。
结合上述S2所述聚类处理步骤可以得知,本发明中在线极限学习机进 行离线阶段的学习,具体分为两个阶段:初始化阶段和连续学习阶段。
在初始化阶段,给定第一个训练数据块Γ0={chunk1},随机生成隐层节 点参数:(ai,bi),i=1,...,L。然后计算初始隐层输出矩阵H0:
初始输出权重β(0)表示为:
在连续学习阶段,新的接收信号强度测量值构成第k+1个数据块,数 据块的大小可以表示为:
对应的隐层输出矩阵Hk+1可以表示为:
那么输出权重为:
其中,
由于在计算β
(k+1)的过程中用到了
为了避免在递归过程中计算矩阵的逆,因此使用Woodbury公式推导出方 程式:
S4、位置估计步骤,将在线收集到的信号强度测量值代入位置递归模 型中,得到位置估计值。
进一步而言,S4所述位置估计步骤具体包括:
S41、对定位区域内需要进行定位的对象所在位置处的无线信号的信号 强度值进行在线收集;
S42、将收集到的信号强度值代入位置递归模型中,得到对象的位置估 计值。
根据接收信号强度值Rr,我们可以通过下面公式直接获得位置估计:
tr=H(Rr)β(K+1)。
以下结合测试结果,对本发明的技术方案进行进一步说明。
在本发明中,训练数据集和测试数据集的大小分别为1550和713,假 设隐层节点的数量为200,受攻击的接收信号强度测量值是通过攻击模型 生成的。
图2为受攻击样本数占训练样本数据库的比例对定位精度的影响。从 图中可以看出,当所占比例为10%时,本发明所提出的算法和传统的基于 在线极限学习机的方法的95%的定位误差分别为4.98米和5.19米;当所 占比例提高到25%时,所提出的算法和基于在线极限学习机的方法的95% 的定位误差分别为7.80米和8.59米。对于上述两种情况,本发明所提出 的定位算法的定位性能都要优于传统的在线极限学习机。
图3为受攻击样本数占训练样本数据库的比例为15%时,不同的攻击 参数对定位精度的影响。可以发现,两种方法的定位精度都会随着攻击参 数α的减小而降低。在攻击参数较小的情况下,定位环境更加恶劣。如果 训练数据集中包含一些受攻击的接收信号强度测量值,则学习能力将恶化。
如图4所示,当受攻击样本数的占比为15%,攻击参数α为0.3时, 隐层节点数对定位性能的影响。增加隐层节点数能够提高两种算法的定位 精度。由于数据预处理过程中删除了一些受攻击的训练样本,本发明提出 的算法具有更好的定位性能。
如图5所示,当受攻击样本数的占比为15%,攻击参数α为0.3时, 训练数据集的大小对定位精度的影响。根据对极限学习机算法的了解,训 练数据集的大小在训练表现中起着重要作用。在图5的两种情况下,该算 法的95%的定位误差分别为4.98米和12.53米,远小于传统的在线极限 学习机算法。因此,本发明提出的算法具有很强的抵抗测量值受到攻击问 题的能力。
本发明可以充分利用现有设施,不需要改变系统的硬件,降低了网络 升级的影响。同时,本发明充分地利用了在线极限学习机的连续学习能力, 有效地提升了在线定位性能。本发明还通过使用层次聚类技术实现了对受 攻击训练数据样本的辨别,排除了野值点对离线训练的影响,确保了定位 结果的准确性。
此外,本发明也为同领域内的其他相关问题提供了参考,可以以此为 依据进行拓展延伸,运用于同领域内其他定位方法和机器学习系统的技术 方案中,具有十分广阔的应用前景。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细 节,而且在不背离本发明的精神和基本特征的情况下,能够以其他的具体 形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性 的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限 定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括 在本发明内,不应将权利要求中的任何附图标记视为限制所涉及的权利要 求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个 实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清 楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术 方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。