高德网络定位之“移动WiFi识别”

导读

随着时代的发展,近10年来位置产业蓬勃发展,定位能力逐渐从低精度走向高精度,从部分场景走向泛在定位。设备和场景的丰富,使得定位技术和能力也不断的优化更新。定位能力包括GNSS、DR(航迹推算)、MM(地图匹配)、视觉定位和网络定位等。算法

其中网络定位是经过客户端扫描到的WiFi和基站信息来进行定位的一种定位方式。网络定位能力是GNSS定位的有力补充,在GNSS没法定位或者定位较慢的时候,网络定位均可以快速给出位置。网络定位能力也是高德可以深植于各种手机厂商(提供系统级网络定位能力)和APP(出行、社交、O2O、P2P、旅游、新闻、天气等诸多领域)的缘由之一。缓存

要作到经过WiFi和基站来定位,咱们须要经过亿级数据来挖掘出WiFi和基站的类型、位置、指纹等各类信息。这些信息的挖掘,历史上是经过一系列的人工经验策略来进行的,人工规则的历史局限带来了所挖掘信息较低的准召率,为了进一步提高高德网络定位能力,咱们须要卸下以往的包袱,从方法上进行改变。网络

如何定义“网络定位”

网络定位分为离线训练和在线定位两个过程:函数

离线训练:是在用户有GPS位置时采集周边的WiFi和基站(如下统称为AP)信息,经过对采集数据进行聚类和关联,获得两类数据产品:AP库和指纹库;学习

在线定位:与离线训练的过程正好相反,当用户没有GPS定位时,能够经过扫描到的周边WiFi和基站信号,结合离线训练出的AP库和指纹库来进行实时定位。大数据

AP库和指纹库这两类数据产品中:优化

指纹库:以物理坐标位置对应的特征指纹信息为内容,这些特征指纹信息能够包括扫描到的WiFi或者基站的信号强度分布,采集点频次等统计信息,也能够是经过神经网络提取出的特征信息。spa

AP库:以WiFi的mac地址或者基站的ID(gsm基站为mcc_mnc_lac_cid,cdma基站为mcc_sid _bsid_nid )为主键,以WiFi或者基站的物理坐标信息(经纬度或者地理栅格坐标信息)为内容。视频

典型的AP库数据只包含挖掘出的物理坐标信息和覆盖半径,这种“点圆模型”是对AP发射信号的一种理想化,没有考虑任何实际场景中的信号遮挡、反射等状况,因此AP库大多用来进行粗略定位。而指纹库直接与位置相关,能够刻画比“点圆模型”更细致的分布信息,因此指纹库能够用来进行精细定位。内存

高德的指纹库主要包括特有的室内指纹和全场景指纹信息两种。

网络定位的问题

网络定位的基本思路相似聚类,假设用户手机扫描到的AP列表中的AP的位置均比较固定,则咱们能够以这些AP位置为锚点,来肯定用户位置。现实世界中,锚点(即AP库中的AP)的位置经过大数据来进行挖掘,并不必定彻底准确,甚至出现严重错误。

针对WiFi而言,移动WiFi、克隆WiFi、搬家WiFi等均可能形成AP位置的错误。移动WiFi包含手机热点,4g移动路由器,公交车/地铁/高铁上的WiFi热点等,这些WiFi的移动属性较强,位置频繁变化,以下图所示。

若是以移动WiFi做为锚点,由于这些锚点的位置不固定,很可能会致使用户的定位出现极大偏差。克隆WiFi指不一样的WiFi设备使用了同一个mac地址,国内的腾达和斐讯等路由器厂商制造了大量这样的WiFi设备(例如大部分mac前缀为“c8:3a:35”的即为腾达的克隆WiFi),克隆WiFi致使AP库中同一个mac地址对应的锚点位置有多个。搬家WiFi指某些由于搬家而发生位置变化的WiFi,数据挖掘存在必定的滞后性,搬家后AP库中的位置未及时更新,也会形成定位错误。

由于大偏差的badcase严重损害用户体验,咱们必需要将这些非固定WiFi的属性在AP库中标记出来。

历史上,高德是经过一系列简单的人工规则对这些WiFi的属性进行分类的。例如,经过采集点覆盖范围较大来断定移动WiFi,经过mac前缀来断定克隆WiFi等。人工规则的缺点是准召率不高,训练分类模型就成了一个天然的选择。

鉴于badcase中最严重的问题是移动WiFi的准召率不高,下面咱们就尝试使用监督学习的方法来进行“移动WiFi识别”。

如何实现“移动Wifi识别”

样本提取

AP库中的WiFi数量十分庞大,若是咱们在AP库中随机抽取样本进行人工标注,那大部分标注的结果多是人工规则断定正确的样本,为了尽量低成本获取有效的标注样本,咱们借鉴主动学习的思路,不断抽取模糊样本进行标注,快速迭代使得模型稳定。

咱们根据人工规则的断定结果提取了一批肯定性较高的样本,使用人工强特征训练初版模型,以后将初版模型的预测结果与线上人工规则的结果进行全量比较,提取出模糊样本进行人工标注。在标注样本的过程当中发现问题,持续特征工程,不断迭代模型。

这里模糊样本的定义包含三种:预测结果与上一版模型的结果不一样,预测几率值在0.5附近,预测结果在不一样训练周期内存在波动(例如昨天识别是移动WiFi,今天识别是非移动)。

特征提取

移动WiFi vs 克隆/搬家WiFi:

初版模型中,咱们使用了一些采集汇集程度相关的特征。

模型迭代过程当中,咱们遇到的第一个问题是移动WiFi与克隆WiFi或搬家WiFi比较容易混淆。下面几幅图分别画出了固定WiFi、移动WiFi、克隆WiFi、搬家WiFi的定位点散布的实例。

能够看到,若是仅仅使用定位点的汇集程度来分类,那克隆WiFi和搬家WiFi的定位点也比较分散,极易与移动WiFi混淆。因此咱们先使用聚簇算法,将采集点局部汇集的点集合成不一样的簇,在每一个簇中计算定位点的散布程度,再将全部簇的散布程度求平均值等,获取平均意义上的汇集程度。

多维度提取特征

为了进一步提高分类的准召率,咱们不只从定位点的汇集维度来提取特征,还增长了信号强度、关联特征、IP特征、时间特征等,如下进行简要介绍:

信号强度信息:(和上节中的汇集特征一块儿,统称为采集特征)移动设备与非移动设备采集点的信号强度在去除设备差别性以后,分布存在差别性。

关联特征:关联信息是指当设备扫描到的一次WiFi列表中,列表中全部WiFi两两之间就算产生了一次关联(或称邻居)关系,统计WiFi周边关联的WiFi和基站信息,能够描述出WiFi的移动属性。

IP特征:固网IP和移动网的IP存在必定隔离,移动WiFi设备的上游通常是经过基站链接的移动网,固定WiFi设备的上游通常是经过ADSL等链接的固网。

时间特征:固定WiFi通常是长时间链接电源的,而移动WiFi通常是临时在某些地方和时间短暂出现的。

聚合特征

在AP库中,存在一部分WiFi定位信息不够充分,即便是人工标注也存在着很是大的不肯定性,这些定位信息不够充分的WiFi,咱们称之为“弱信息WiFi”。

对于这类WiFi,咱们只有经过ssid和mac前缀来进行辅助判断。由于ssid中包含了一些诸如“iPhone”、“我的热点”、“oppo”、“shouqiyueche”(首汽约车)、“往返免费”、“tp-link”等可以代表设备属性的信息。另外一方面,mac前缀(mac信息的前半部分)表明了厂商信息。基于这些辅助信息,咱们能够在其余信息不够充分的状况下辅助推测WiFi的类别属性。

咱们将基础特征(采集特征、关联特征、IP特征、时间特征)中较为重要的TOP_N维特征按照ssid和mac前缀进行聚合,聚合函数为中位数(median)和整体标准差(stddev)。这样,聚合特征体现了一类WiFi共有的特征,针对弱信息WiFi,咱们就能够经过集体的特征来推测出个体的属性。

应用场景

除了提高网络定位能力,移动WiFi的识别还有更多用武之地,例如手机热点的识别,室内外的判断,建筑物和POI级别的定位等等。其中一个例子就是判断当前设备所链接的WiFi是否为移动热点(如4g路由器,手机热点等),在视频类的APP中,能够经过判别当前用户链接的WiFi是否为移动热点,从而控制是否进行视频的自动播放或缓存,给予用户提示性信息。

小结

最终咱们使用随机森林来训练分类模型,通过特征选择和模型参数调整以后,最终获得的模型,移动WiFi的准召率均优于99.8%。高德网络定位的精度也所以获得了较大提高,尾部大偏差badcase下降了18%左右。

网络定位做为一种低功耗的定位手段,不只在GNSS没法触达的地区(例如地铁、室内等场景)为普通用户带来辅助的定位信息,并且在某些急救和寻人的场景中发挥了重要的做用。将来,随着5G通讯技术的开展,将迎来更加精准的网络定位能力。



本文做者:高德技术小哥

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索