1.導讀算法
駕車導航是數字地圖的核心用戶場景,用戶在進行導航規劃時,高德地圖會提供給用戶3條路線選擇,由用戶根據自身狀況來決定按照哪條路線行駛。網絡
同時各路線的ETA(estimated time of arrival,預估到達時間)會直接顯示給用戶,這是用戶關心的核心點之一。用戶給定起點和終點後,咱們的任務是預測起終點的ETA,ETA的準確率越高,給用戶帶來的出行體驗越好。架構
2.基於深度學習模型的探索和實踐框架
2.1模型選擇機器學習
傳統機器學習模型在ETA中,比較經常使用的有線性迴歸、RF(隨機森林)、GBDT(梯度提高決策樹)等迴歸預測類模型。線性模型表達能力較差,須要大量特徵工程預先分析出有效的特徵;RF經過樣本隨機和特徵隨機的方式引入更多的隨機性,解決了決策樹泛化能力弱的問題;GBDT是經過採用加法模型(即基函數的線性組合),以及不斷減少訓練過程產生的殘差來達到迴歸的算法。函數
傳統機器學習模型相對簡單易懂,也能達到不錯的效果,但存在兩個問題:學習
第一個問題很好理解,深度學習模型能很好地彌補這方面。針對第二個問題,以歷史速度信息選取存在的不肯定性爲例來講明一下,歷史速度信息是一個區分週一到週日七個工做日、10分鐘間隔的歷史平均時間,能夠根據該路段的預計進入時間所在10分鐘區間來選定。以下圖(歷史平均速度)從0:00-24:00的變化曲線,能夠看到一天中特別是遲早高峯,速度值存在較大波動。spa
而在選取歷史平均時間時,依賴的是預計進入時間,這個時間依賴於上游路段的預計通行時間,所以其選取存在不肯定性,進而致使ETA計算不許確。設計
考慮到以上問題的存在,咱們選擇利用RNN的時間序列思想將路線中上下游路段串聯起來進行路段ETA的預測。blog
另外考慮到RNN存在的長依賴問題,且結合實際業務狀況,咱們選擇使用LSTM模型來進行建模,LSTM的門結構具備的選擇性還能讓模型自行學習選擇保留哪些上游的特徵信息進行預測。
2.2網絡架構
上圖爲整個模型的框架圖,主要分爲兩部分,使用LSTM模塊對路線中的路段ETA的預測和最終使用N層全鏈接模塊對累計路段ETA及路線各特徵進行完整路線的ETA預測。
2.3路段ETA預測
上圖爲各路段ETA預測使用的LSTM結構圖,Xt爲路線中第t個路段的特徵信息,主要包含對應的實時路況信息、歷史路況信息、路段的靜態特徵等。
LSTM本是輸入時間序列數據的模型,咱們利用該思想,將路線中各路段序列依次輸入模型。
2.4完整路線ETA預測
在LSTM模塊獲得累計路線ETA預測值後,結合該路線的靜態屬性,使用全鏈接模塊將其整合成最終輸出的完整路線ETA預測值。
路線的屬性特徵主要指一些人工提取的特徵,如該路線的長度、導航規劃發起特徵日、是否遲早高峯時段等,用以增強模型在不一樣場景下的表達能力。
損失函數選用線性迴歸經常使用的平方形式:MSE,公式以下:
其中,N是路線數量,ETA路線j爲路線ETA,即預測值;用戶實走j爲用戶在該路線的實走時間,即真值。
3.模型效果
衡量模型效果,即路線上ETA的預測值時,主要考慮的是準確率。通常狀況下,用戶對ETA偏長和偏短的容忍度不一樣,對偏長容忍度更高。好比用戶要去機場,ETA給的時間偏短10分鐘比偏長10分鐘對用戶的損害更大。所以準確度的指標設計傾向於ETA偏長,定義爲知足用戶必定容忍範圍的請求比例,即準確率做爲主要衡量指標。
在北京市上的實驗結果顯示,ETA準確率獲得提高,MSE loss降低比例28.2%,效果有了明顯的提高。
4.小結
本文介紹了引入深度學習模型,幫助建模導航規劃的預估到達時間預測,成功解決了線性模型的不足,也爲後續引入更多特徵、進行更多探索打開了空間,如歷史速度信息的不肯定度、時效性、週期性、突發事件、路網結構等。