测绘地理信息   2019, Vol. 44 Issue (2): 65-68
0
基于XGBoost的多建筑WiFi位置指纹室内定位方法[PDF全文]
郑建滨1, 艾廷华1, 晏雄锋1, 卢威1    
1. 武汉大学资源与环境科学学院,湖北 武汉,430079
摘要: 针对当前基于WiFi位置指纹的室内定位在规模化应用中多栋建筑的定位模型互相独立不易维护等问题,提出了一种基于机器学习的室内定位方法。该方法引入XGBoost算法进行位置指纹匹配,并将观测点“匹配至哪个参考点”的多分类问题转化为判断“是否在某个参考点”的二分类问题以实现多建筑的模型统一。实验结果表明,对于通过移动支付行为所采集的众源WiFi数据集,传统K最近邻(K-nearest neighbor, KNN)方法的准确率达到80.74%,而本方法定位准确率可以提高至90.88%,且在算法稳定性和定位时长等方面表现好于KNN方法。
关键词: 室内定位     多建筑     位置指纹     XGBoost     机器学习    
WiFi Finger Printing Indoor Positioning for Multi-buildings Based on XGBoost
ZHENG Jianbin1, AI Tinghua1, YAN Xiongfeng1, LU Wei1    
1. School of Resources and Environmental Sciences, Wuhan University, Wuhan 430079, China
Abstract: This paper proposes a method for indoor positioning based on machine learning in response to the problems that when used in a wide range of applications, the indoor positioning based on WiFi fingerprinting in the multi-buildings positioning models are independent and difficult to maintain. XGBoost algorithm is used for fingerprint matching, thusthe multi-classification problem about "which reference point to match" is transformed into the binary-classification problem about "whether in a reference point" and the model unification of multi-buildingsis realized.The results showthat the accuracy of the traditional KNN method reaches 80.74% for the crowdsourcing WiFi fingerprints, while the positioning accuracy of the method increases to 90.88%. The method is also better than KNN in aspects of algorithm stability and positioning time Performance.
Key words: indoor positioning     multi-buildings     location fingerprint     XGBoost     machine learning    

近年来,室内位置服务受到广泛关注。由于室内复杂的物理环境,全球导航定位系统(global navigation satellite system, GNSS)等传统定位技术无法发挥有效作用,如何低成本、高精度地推广实现室内定位是亟待解决的问题。许多学者基于智能手机研究室内定位方法,如射频信号、传感器、GNSS等[1]。其中,基于WiFi位置指纹的定位方法具有覆盖范围广、不需要额外硬件成本、不需要明确的接入点(access point, AP)位置、较强的鲁棒性以及可观的定位精度等优点,是目前规模化应用中最可行的方法之一[2, 3]

基于WiFi位置指纹的室内定位方法通常采用确定性方法[4],学者们也基于此在AP赋权、AP筛选、指纹库质量等方面进行了改进优化[5-7]。基于机器学习的方法也被用于室内定位并取得良好效果[8, 9],Lucker等[10]第一次使用XGBoost(eXtreme Gradient Boosting)算法解决WiFi指纹定位问题,实验证明, XGBoost比传统的K最近邻(K-nearest neighbor, KNN)算法具有更好的效果且在模型维护方面具有极大的优势。虽然基于机器学习的WiFi位置指纹定位方法在局部室内区域取得了良好的效果,但在规模化应用中,大量、分散的建筑定位模型仍互相独立。而目前通过空间分区和分级定位优化计算效率的方法[11, 12],其本质仍是为每个子区域维护一个定位模型,不易推广。

基于以上问题,本文以在商场中定位所在店铺为应用场景,提出了基于机器学习的室内定位方法。该方法引入XGBoost算法实现定位准确率的提高,通过特征工程实现多建筑共用一个模型,易于规模化推广和维护。

1 多建筑室内WiFi定位方法 1.1 WiFi位置指纹定位

在室内环境中,区域内各参考点(reference point, RP)可接收到WiFi(AP)的信号强度值(RSS)以向量形式xi=(r1i, r2i, …, rmi)表示,即WiFi指纹,其中rjirj表示第j个WiFi的强度,m为WiFi信号源的数量。区域内所有离散参考点的WiFi指纹{x1, x2, …, xn}组成指纹库,{x1, x2, …, xn}可反映出该室内环境WiFi信号的空间分布特征,其中n为指纹数量。

对于室内环境中任意位置的目标观测点S可测得其位置指纹xs=(r1s, r2s, …, rms),该指纹与指纹库中某一参考点的指纹越相似,则其位置越相近,以此作为定位依据,即位置指纹匹配。计算时,通常采用m维空间l距离值作为观测点S与参考点i之间的WiFi指纹距离,即:

$ {\rm{dis}}({x_s}, {x_i}) = {\left( {\sum\limits_{j = 1}^m {|r_j^s - r_j^i{|^l}} } \right)^{\frac{1}{l}}} $ (1)

在线定位阶段通常采用KNN方法,即从指纹库中寻找与观测点指纹距离最近的K个参考点来确定观测点的位置。对将观测点定位到若干固定参考点上的任务,则选择距离观测点最近的K个指纹,通过类别投票的方式来判定观测点所属区域或参考点,即多分类的问题。KNN方法计算简单,而基于机器学习的方法则在定位速度和精度方面更具优势。XGBoost由文献[13]提出并开源,可用于分类和回归问题。具有精度高、适用范围广、训练速度快等优点。XGBoost通过构建一系列的回归树模型并集成以得到更优的结果,其基本流程与传统基于KNN的方式一致,如图 1所示。

图 1 多分类模型 Fig.1 Model of Multi-Classification

1.2 面向多建筑的二分类方法

多分类方法需要维护定位模型集,不易推广。本文针对匹配到参考点的定位问题,提出将多分类问题转化为二分类的解决方案,其基本思想是将室内定位“匹配至哪个参考点?”的多分类问题转化为“是否在某个参考点?”的二分类问题,从而实现多栋建筑定位模型的统一,如图 2所示。

图 2 二分类模型 Fig.2 Model of Binary-Classification

对室内场景的参考点集合Region={RP1, RP2, …, RPn},转化为二分类问题包括以下步骤:

1) 构建候选集C。对每条指纹记录{row_id:r1, r2, …, rm, RP}按照一定的规则选出最匹配的一部分参考点,即Ck$ \subseteq $Region,不做筛选时,Ck=Region

2) 样本标注。对Ck中每个候选RP标注,若为正确RP标注1,否则标注0,即{row_id, RP:label}, label∈{0, 1};

3) 特征工程。通过对指纹库数据的挖掘统计,以row_id和RP为关键字构造特征;

4) 数据集合并。:将所有建筑的数据集合并,组成统一的训练数据集;

5) 模型训练。选择合适的分类算法学习训练,如XGBoost,得到二分类定位模型;

6) 预测与结果。对测试数据执行步骤1)、步骤3),模型预测得到每个候选RP的概率,取最大概率的RP点作为定位结果。

2 实验及分析 2.1 数据描述

为测试上述算法的有效性,本文采用天池平台上“商场中精确定位用户所在店铺”竞赛中提供的基于支付宝交易行为采集的WiFi数据集,由店铺ID及在相应店铺采集的WiFi信息组成。数据集包括了2017年8月共31天的真实交易数据,总计97个商场、8 477个商铺、113.8万余条指纹信息,数据均已脱敏处理。

2.2 实验设计

为了验证XGBoost进行指纹定位及其转化为二分类方法的有效性,本文设计了以下3组实验:①不同K值下的KNN方法;②XGBoost多分类方法;③XGBoost二分类方法。通过实验①与实验②对比,验证XGBoost方法的定位效果;通过实验②与实验③对比,验证转化为二分类方法的定位效果。在模型训练方面,实验①采用欧氏距离作为距离度量;实验②与实验③通过调整超参数至得到最优结果;实验③共设计特征37个,主要包括AP与商铺的共现次数及其在AP或商铺的占比、信号强度值的统计等[14, 15]

数据集的时间跨度为31天,取前28天作为训练数据集,后3天作为测试集评价定位效果,共计95 027条待测数据,在对数据进行简单的低频AP剔除后,平均每个商场AP数量为664个。最后,采用店铺位置正确匹配数与定位总数的比值作为匹配准确率(accurary, ACC)来评价各方法的效果。

2.3 实验结果与分析

实验①中,本文分别取K值为5、10、15、20进行实验,如表 1所示。

表 1 不同模型的定位准确率统计 Tab.1 Positioning Accuracy Statistics of Different Methods

K=10时具有最高的综合准确率(所有待测点的匹配正确率)80.74%。以K=10作为KNN方法的代表,图 3表示在不同商场中,3种方法的准确率对比(商场编号顺序按XGBoost多分类准确率升序),图 4表示商场错误率的累积分布图。结合表 1可以看出,与传统KNN多分类的方法相比,基于XGBoost多分类(XGBoost-multi)方法的准确率具有明显的提升,综合准确率提升8.3%;XGBoost二分类(XGBoost-binary)方法的匹配准确率进一步提升,综合准确率达到了90.88%。

图 3 3种方法的准确率 Fig.3 Accuracy Comparison of Three Methods

图 4 累积概率分布图 Fig.4 Result of Cumulative Distribution

模型在不同商场的准确率取决于商场的固有环境。图 5展示了3种方法对97个商场定位准确率的稳定性统计,基于XGBoost的多分类和二分类方法准确率和稳定性均比KNN方法高。

图 5 稳定性对比 Fig.5 Stability Comparison

定位时长指标反映在线定位阶段的定位速度的快慢,上述方法均在搭载Intel Core i7-6700处理器、24 GB内存、64位Windows10操作系统的计算机上运行。平均每次定位耗时如图 6所示,基于XGBoost的方法具有明显的优势,传统KNN方法的定位时长约为XGBoost二分类方法的2.5倍,约为XGBoost多分类方法的27倍。其原因主要是XGBoost方法离线训练好定位模型后,只需要根据模型参数对观测点进行系列计算即可输出结果,KNN方法则需要与大量的数据进行实时的距离计算和匹配;本文中XGBoost二分类方法以候选集构造、特征构造及预测阶段的总时间和作为定位时长。

图 6 定位时长 Fig.6 Positioning Time

综上所述,XGBoost方法比KNN方法在室内定位中可获得更高的定位精度和效率,而XGBoost二分类方法在保证稳定性的前提下,可进一步提高定位精度,并实现多个商场定位模型统一,更便于训练和维护。

3 结束语

本文以解决WiFi位置指纹室内定位方法在规模化应用中多栋建筑的室内定位模型难以统一、维护等问题为目标,提出了一种基于XGBoost的面向多建筑的WiFi位置指纹室内定位方法。通过设计的3组实验验证,得出以下结论:

1) 与传统KNN方法相比,XGBoost方法具有精度高、稳定性好、定位速度快等优势;

2) 通过将“匹配至哪个参考点”的多分类问题转化为“是否在某个参考点”的二分类问题可以实现多栋建筑的模型统一,且能提高一定定位精度。

本文方法还需从以下方面进行研究改进:①模型中学习特征的优化,提高模型质量;②众源数据中模式挖掘,如筛选稳定热点提高计算速度和精度等。

参考文献
[1]
陈锐志, 陈亮. 基于智能手机的室内定位技术的发展现状和挑战[J]. 测绘学报, 2017, 46(10): 1316-1326. DOI:10.11947/j.AGCS.2017.20170383
[2]
Yang Chouchang, Shao Huairong. WiFi-Based Indoor Positioning[J]. Communications Magazine IEEE, 2015, 53(3): 150-157. DOI:10.1109/MCOM.2015.7060497
[3]
Lin T N, Lin P C. Performance Comparison of Indoor Positioning Techniques Based on Location Fingerprinting in Wireless Networks[C]. International Conference on Wireless Networks, Communications and Mobile Computing, Hawaii, USA, 2005
[4]
Khalajmehrabadi A, Gatsis N, Akopian D. Modern WLAN Fingerprinting Indoor Positioning Methods and Deployment Challenges[J]. IEEE Communications Surveysand Tutorials, 2017, 19(3): 1974-2002. DOI:10.1109/COMST.2017.2671454
[5]
王磊, 周慧, 蒋国平, 等. 基于WiFi的自适应匹配预处理WKNN算法[J]. 信号处理, 2015, 31(9): 1067-1074. DOI:10.3969/j.issn.1003-0530.2015.09.005
[6]
林江伟, 花向红, 邱卫宁, 等. 一种结合均值和互信息的线上AP选取新算法[J]. 测绘地理信息, 2018, 43(1): 77-80.
[7]
刘春燕, 王坚. 基于几何聚类指纹库的约束KNN室内定位模型[J]. 武汉大学学报·信息科学版, 2014, 39(11): 1287-1292.
[8]
朱宇佳, 邓中亮, 刘文龙, 等. 基于支持向量机多分类的室内定位系统[J]. 计算机科学, 2012, 39(4): 32-35. DOI:10.3969/j.issn.1002-137X.2012.04.005
[9]
Salamah A H, Tamazin M, Sharkas M A, et al. An Enhanced WiFi Indoor Localization System Based on Machine Learning[C]. International Conference on Indoor Positioning and Indoor Navigation, Madrid, Spain, 2016
[10]
Luckner M, Topolski B, Mazurek M. Application of XGBoost Algorithm in Fingerprinting Localisation Task[C]. The 16th IFIP TC8 International Conference: Computer Information Systems and Industrial Management, CISIM 2017, Bialystok, Poland, 2017
[11]
莫云.基于空间分区与降维技术的位置指纹室内定位方法研究[D].哈尔滨: 哈尔滨工业大学, 2016
[12]
李军, 何星, 蔡云泽, 等. 基于K-means和Random Fo-rest的WiFi室内定位方法[J]. 控制工程, 2017, 24(4): 787-792.
[13]
Chen T, Guestrin C. XGBoost: A Scalable Tree Boosting System[C]. 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, California, USA, 2016
[14]
薛卫星, 邱卫宁, 花向红, 等. RSSI信号特征值对WiFi室内定位精度的影响分析[J]. 测绘地理信息, 2016, 41(4): 23-26.
[15]
徐元坤. 基于Wi-Fi和Android平台的室内定位技术研究[J]. 测绘地理信息, 2014, 39(5): 21-24.