高德網絡定位之「移動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通訊技術的開展,將迎來更加精準的網絡定位能力。



本文做者:高德技術小哥

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索