机器学习在高德起点抓路中的应用实践
導讀:高德地圖作為中國領先的出行領域解決方案提供商,導航是其核心用戶場景。路線規劃作為導航的前提,是根據起點、終點以及路徑策略設置,為用戶量身定制出行方案。
起點抓路,作為路線規劃的初始必備環節,其準確率對于路線規劃質量及用戶體驗至關重要。本文將介紹高德地圖針對起點抓路準確率的提升,尤其是在引入機器學習算法模型方面所進行的一些探索與實踐。
什么是起點抓路
首先,我們來簡單介紹一下什么是起點抓路。起點抓路是指針對用戶發起的路線規劃請求,通過獲取到的用戶定位信息,將其起點位置綁定至實際所在的道路。
從高德地圖App可以看到,用戶進行路線規劃時選擇起點的方式有以下三種:
1.手動選點(用戶在地圖上手動標注所處位置)。
2.POI選點(Point of Interest,興趣點,在地理信息系統中可以是商鋪、小區、公交站等地理位置標注信息)。
3.自動定位(通過GPS、基站或WiFi等方式自動定位所在位置)。
三種方式中,用戶手動選點及POI選點這兩種方式的位置信息相對準確,起點抓路準確率相對較高。
而自動定位起點的方式,由于受GPS、基站、網絡定位精度影響,定位坐標易發生漂移,定位設備抓取的位置與用戶實際所處道路可能相差幾米、幾十米甚至幾百米。如何在有限信息下,將用戶準確定位到真實所在道路,就是我們所要解決的主要問題。
為什么要引入機器學習
引入機器學習之前,起點抓路對候選道路的排序采用了人工規則。核心思路是:以距離為主要特征,結合角度、速度等特征,加權計算得分,進而影響排序,人工規則中所涉及到的權重及閾值等是經綜合實戰經驗人工拍定而成。
隨著高德地圖業務的不斷增長,規劃請求數量及場景的增多,人工規則的局限性越來越明顯,具體表現在以下方面:
?即使包含了眾多經驗在內,人工設定的閾值、權重仍不夠完善,易發生偏移或存在盲區是不可改變的事實。
 ?策略維護方面,面對上游數據的更新,新特征無法用最快速度加入到策略中。
 ?人工規則拍定對經驗要求較高,對于人員的更迭,很難做出最敏捷的響應。
在大數據和人工智能時代,利用數據的力量代替部分人力工作,實現流程的自動化,提高工作效率是必然趨勢。
因此,基于起點抓路人工規則的現狀及問題,我們引入了機器學習模型,自動學習特征與抓路結果之間的關系。一方面,擁有大量規劃及實走數據,對于機器學習模型的訓練數據獲取,高德有天然優勢;另一方面,機器學習模型有更強的表達力,能夠學習到特征之間的復雜關系,提高抓路準確率。
如何實現機器學習化
回歸機器學習本身,下面來介紹我們如何建立起點抓路機器學習模型。一般來講,運用機器學習方法解決實際問題分為以下幾個方面:
 ?目標問題的定義
 ?數據獲取與特征工程
 ?模型選擇
 ?模型訓練及效果評估
1.目標問題定義
 在引入機器學習模型之前,需要將待解決問題進行數學抽象。
分析起點抓路問題,如上圖所示,我們可以看到當用戶在A點發起路線規劃請求時,其定位位置A所對應的周邊道路是一個獨立的集合B,而用戶所在的實際道路是這個集合中的唯一一個元素C。
這樣,起點抓路問題轉化為在定位點周邊道路集合中選出一條最有可能是用戶實際所在的道路。
整個過程類似搜索排序,因此,我們在制定建模方案時也采用了搜索排序的方式。
i.提取用戶路線規劃請求中的定位信息A。
 ii.對定位點周邊一定范圍內的道路進行召回,組成備選集合B。
 iii.對備選道路進行排序,最終排在首條的備選道路為模型輸出結果,即用戶實際所在道路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%,效果顯著。
寫在最后
 以上我們介紹了大數據和機器學習在起點抓路方面的一些應用,項目的成功上線也驗證了機器學習在提升準確率、優化流程等方面可以發揮重要作用。
未來,我們希望能夠將現有模型場景繼續細化,尋找新的收益點,從數據和模型兩個角度共同探索,持續優化機器學習抓路效果。
原文鏈接
 本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的机器学习在高德起点抓路中的应用实践的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微服务架构四大金刚利器
- 下一篇: 在Serverless Kubernet
