深度 | 谷歌官方解讀:如何使用機器學習解決停車難問題
大部分駕駛時間要么花費在交通擁堵中,要么是在尋找停車位。因為有 Google Maps 和 Waze 這樣的產品,谷歌長期的目標是幫助人們進行輕松、有效的導航。但目前為止,還沒有一款解決再常見不過的停車難題的工具。
上周,我們為 Android 上的 Google Maps 添加了一項新功能——在 25 個美國城市中提供停車難度預測,從而能照此進行規劃。提供這一功能需要解決一些重大挑戰:
- 是否有停車位有極大的變化,涉及到時間、周幾、天氣、特殊事件、假期等因素。混合這些因素,幾乎沒有實時的停車位信息。
- 即使有的地區有聯網的停車計時器,能夠提供可用的信息。但這些數據不包含非法停車、許可停車、提前離開等信息。
- 道路是二維的圖像,但停車場結構更復雜,有著不同層的車流。可能也會有不同的布局。
- 停車位的供應與需求都是即時變動的,所以即使是***的系統都可能更新不及時。
為了解決這些挑戰,我們結合了眾包與機器學習來建立能夠為你提供停車難度信息的系統,而且甚至能幫助你決策采用什么出行方式。在預發布的實驗中,我們發現出行模式按鈕的點擊量有極大的增加,這表明用戶獲得了停車難度信息之后,更傾向于考慮公共出行方式,而非開車。
建立預測停車難度算法需要 3 項技術:來自眾包的好的真值數據(ground-truth data)、合適的機器學習模型、訓練模型的一個穩健的特征集。
真值數據
在任何機器學習解決方案中,收集高質量的真值數據一直是個關鍵挑戰。剛開始,我們在不同時間、地點詢問個人停車的難度。但我們發現這樣一個主觀問題會產生不一致的答案,對同一時間段的同一地點,有的人回答「容易」找到停車位,有的人的回答卻是「難」。換成「多久能找到停車位?」這樣的客觀問題,答案的可信度就有了很大的提高,從而能讓我們眾包高質量的、超過 100k 個回答的真值數據集。
模型特征
有了可用數據,我們開始決定訓練模型的特征。幸運的是,我們能夠求助于大眾的智慧,利用喜歡分享定位的用戶提供的匿名聚合信息,這些信息是評估實時交通狀況、高流通時間段、訪問時長的關鍵信息源。
我們很快發現即使有了這些數據,仍存在一些獨特的挑戰。例如,如果一些人停在了門限或者私人的地方,系統不應該認為停車位還很豐富。用戶座出租車到達可能是有豐富停車位的一個信號。類似的,公共交通用戶可能停在了汽車站。存在的這些假正例都可能會誤導機器學習系統。
所以,我們需要更穩健的聚合特征。坦白而言,其中一個特征受到了谷歌所在的山景城的啟發。如果谷歌導航在午餐時間觀察到許多用戶按照以下軌跡在山景城繞圈,那就表明停車位很難找:
我們團隊在想如何識別這一停車難度「印跡(fingerprint)」作為訓練的特征呢?在這種情況下,我們把用戶直接到達目的地時間與繞圈、停車、步行這樣實際到達目的地的時間進行了對比,聚合了二者之間的不同。如果許多用戶在兩種方式之間的時間差距都很大,我們預期這是停車難的有助信號。
之后,我們繼續開發更多的特征:特定的目的地、散步的停車地點、停車的時間點與日期(例如,用戶在早晨會停的離目的地很近,在高峰時間會很遠,這怎么辦?)、歷史停車數據等等。***,我們決定了大約 20 個不同的特征。之后,就是調整模型的表現了。
模型的選擇和訓練
我們決定使用一個標準的 logistic 回歸機器學習模型來實現這個功能。原因有幾個:
首先,logistic 回歸的行為已經得到了很好的理解,而且其往往對訓練數據中的噪聲有很好的彈性;當數據來自眾包或有一個復雜的響應變量時(比如停車難度),這是一個有用的性質。
其次,將這些模型的輸出解讀為停車困難的概率(probability)是很自然的,然后我們可以將這個概率映射成如「車位有限」或「停車容易」等描述性詞匯。
第三,我們可以很容易理解每個特定特征的影響,這讓我們可以更輕松地驗證該模型的行為是否合理。比如,當我們開始訓練過程時,我們中許多人都認為前面所描述的「印跡」特征將會是我們解決問題的「***藥」。我們驚訝地注意到完全不是這么回事——事實證明實際上是基于車位位置分散的特征才是停車難度***大的預測因素之一。
結果
使用我們的模型,我們能夠為任何位置和時間的停車難度生成一個估計。下圖給出了我們的系統的輸出的幾個例子,然后其被用于為指定的目的地提供停車難度估計。比如,星期一早上對整個城市來說都停車困難,尤其是最繁忙的金融和零售區。在星期六晚上,又會再次變得繁忙,但現在卻主要集中在餐廳和景點等區域。
我們的停車難度模型在舊金山 Financial District 和 Union Square 地區上的輸出。紅色表示有更高置信度的停車困難。上排:一個典型周一的上午 8 點(左)和 9 點(右)。下排:一個典型周六的相同時間。
我們很高興能有機會基于用戶的反饋來繼續改進這個模型的質量。如果我們能更好地理解停車困難,我們將能開發出新的更智能的停車助理——我們很高興未來的機器學習應用能夠幫助實現更讓人愉快的交通!
【本文是51CTO專欄機構機器之心的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】