機器學習在高德起點抓路中的應用實踐

導讀:高德地圖做爲中國領先的出行領域解決方案提供商,導航是其核心用戶場景。路線規劃做爲導航的前提,是根據起點、終點以及路徑策略設置,爲用戶量身定製出行方案。算法

 

起點抓路,做爲路線規劃的初始必備環節,其準確率對於路線規劃質量及用戶體驗相當重要。本文將介紹高德地圖針對起點抓路準確率的提高,尤爲是在引入機器學習算法模型方面所進行的一些探索與實踐。網絡

 

什麼是起點抓路框架

 

首先,咱們來簡單介紹一下什麼是起點抓路。起點抓路是指針對用戶發起的路線規劃請求,經過獲取到的用戶定位信息,將其起點位置綁定至實際所在的道路。機器學習

 

從高德地圖App能夠看到,用戶進行路線規劃時選擇起點的方式有如下三種:函數

 

1.手動選點(用戶在地圖上手動標註所處位置)。學習

 

2.POI選點(Point of Interest,興趣點,在地理信息系統中能夠是商鋪、小區、公交站等地理位置標註信息)。測試

 

3.自動定位(經過GPS、基站或WiFi等方式自動定位所在位置)。大數據

 

三種方式中,用戶手動選點及POI選點這兩種方式的位置信息相對準確,起點抓路準確率相對較高。優化

 

而自動定位起點的方式,因爲受GPS、基站、網絡定位精度影響,定位座標易發生漂移,定位設備抓取的位置與用戶實際所處道路可能相差幾米、幾十米甚至幾百米。如何在有限信息下,將用戶準肯定位到真實所在道路,就是咱們所要解決的主要問題。人工智能

 

爲何要引入機器學習

 

引入機器學習以前,起點抓路對候選道路的排序採用了人工規則。核心思路是:以距離爲主要特徵,結合角度、速度等特徵,加權計算得分,進而影響排序,人工規則中所涉及到的權重及閾值等是經綜合實戰經驗人工拍定而成。

 

隨着高德地圖業務的不斷增加,規劃請求數量及場景的增多,人工規則的侷限性愈來愈明顯,具體表如今如下方面:

 

  • 即便包含了衆多經驗在內,人工設定的閾值、權重仍不夠完善,易發生偏移或存在盲區是不可改變的事實。
  • 策略維護方面,面對上游數據的更新,新特徵沒法用最快速度加入到策略中。
  • 人工規則拍定對經驗要求較高,對於人員的更迭,很難作出最敏捷的響應。

在大數據和人工智能時代,利用數據的力量代替部分人力工做,實現流程的自動化,提升工做效率是必然趨勢。

 

所以,基於起點抓路人工規則的現狀及問題,咱們引入了機器學習模型,自動學習特徵與抓路結果之間的關係。一方面,擁有大量規劃及實走數據,對於機器學習模型的訓練數據獲取,高德有自然優點;另外一方面,機器學習模型有更強的表達力,可以學習到特徵之間的複雜關係,提升抓路準確率。

 

如何實現機器學習化

 

迴歸機器學習自己,下面來介紹咱們如何創建起點抓路機器學習模型。通常來說,運用機器學習方法解決實際問題分爲如下幾個方面:

  • 目標問題的定義
  • 數據獲取與特徵工程
  • 模型選擇
  • 模型訓練及效果評估

 

1.目標問題定義

在引入機器學習模型以前,須要將待解決問題進行數學抽象。

 

分析起點抓路問題,如上圖所示,咱們能夠看到當用戶在A點發起路線規劃請求時,其定位位置A所對應的周邊道路是一個獨立的集合B,而用戶所在的實際道路是這個集合中的惟一一個元素C。

 

這樣,起點抓路問題轉化爲在定位點周邊道路集合中選出一條最有多是用戶實際所在的道路。

 

整個過程相似搜索排序,所以,咱們在制定建模方案時也採用了搜索排序的方式。

 

  1. 提取用戶路線規劃請求中的定位信息A。
  2. 對定位點周邊必定範圍內的道路進行召回,組成備選集合B。
  3. 對備選道路進行排序,最終排在首條的備選道路爲模型輸出結果,即用戶實際所在道路C。

 

最終,咱們將起點抓路定義爲一個有監督的搜索排序問題。明確了須要達到的目標,咱們開始考慮數據獲取及特徵工程問題。

 

2.數據獲取與特徵工程

業界常言,數據和特徵決定了機器學習的上限,而模型和算法只是逼近這個上限。可見對於項目最終效果,數據和特徵相當重要。

 

訓練起點抓路機器學習模型,咱們須要從原始數據中獲取兩類數據:

 

  • 真值數據,即用戶發送路線規劃請求時實際所處道路信息。

 

機器學習應用於起點抓路項目,第一個問題就是真值數據的獲取。用戶在某個位置A發起路線規劃請求,因爲定位精度限制,咱們沒法確認其實際所在位置,但若是用戶在發起規劃請求附近有實走信息,能夠將實走信息匹配到路網生成一條運動軌跡,經過這條軌跡咱們就能夠獲取到請求定位點所處的實際道路。

 

咱們針對高德地圖的導航請求數據進行相關挖掘,將用戶實走與路線規劃信息相結合,獲得了請求與真值一一映射的數據集。

  • 特徵數據

在起點抓路模型中,咱們提取了三大類特徵用於構建樣本集,分別是定位點相關特徵、道路自身特徵以及定位點與道路之間的組合特徵。

 

特徵處理是特徵工程的核心部分,不一樣項目在進行特徵預處理時會有不一樣,須要根據實際業務場景進行特殊化處理,每每依賴於專業領域經驗。起點抓路項目中,咱們針對定位特徵進行了樣本去重、異常值處理、錯誤值修正及映射等數據清洗工做。

 

3.模型選擇

在目標問題定義中,咱們將起點抓路剖析爲搜索排序問題,而機器學習的ranking技術,主要包括point-wise、pair-wise、list-wise三大類。

 

根據起點抓路業務特色,咱們採用了list-wise,其learning to rank框架具備如下特徵:

 

  • 輸入信息是同一路線規劃請求對應的全部道路構成的多特徵向量(即一個query)。
  • 輸出信息是對應請求(即同一query)特徵向量的打分序列。
  • 對於打分函數,咱們採用了樹模型。

 

咱們選擇NDCG(Normalized Discounted Cumulative Gain 歸一化累積折算信息增益值)做爲模型評價指標,NDCG是一種綜合考慮模型排序結果和真實序列之間關係的指標,也是經常使用的衡量排序結果的指標。

 

4.模型訓練及效果評估

咱們抽取了必定時間段內的請求信息,按照步驟2中描述的方式獲取到對應真值及特徵數據,打標構建了樣本集,將其劃分爲訓練集與測試集,訓練模型並查看結果是否符合預期。

 

評估模型效果,咱們將測試集的請求分別用人工規則及機器學習模型進行抓路,並分別與真值進行對比,統計準確率。

 

對比結果,針對隨機抽取的請求,模型與人工規則抓路結果差別率爲10%,這10%的差別羣體中,模型抓路準確率比人工規則提高40%,效果顯著。

 

寫在最後

以上咱們介紹了大數據和機器學習在起點抓路方面的一些應用,項目的成功上線也驗證了機器學習在提高準確率、優化流程等方面能夠發揮重要做用。

 

將來,咱們但願可以將現有模型場景繼續細化,尋找新的收益點,從數據和模型兩個角度共同探索,持續優化機器學習抓路效果。

關注高德技術,找到更多出行技術領域專業內容

相關文章
相關標籤/搜索