運行機器學習項目,你需要避開這四個常見錯誤
作為機器學習和數據分析的專家,在與不同領域企業合作開發和實現機器學習項目方面,我們有著豐富經驗,這些領域包括制造,電信,金融服務以及零售業。對機器學習項目中常犯的錯誤,我們了如指掌,這些錯誤不是只有初學者才會犯。
對于企業來說,為了專注真正問題以及可以帶來投資回報率的解決方案,學會不做什么事關重要。利用我們自己以及其他人的樣例,就會看到讓我們付出慘痛代價但本可加以避免的錯誤。
以下就是機器學習過程中,公司容易犯下的四個典型錯誤。
測試錯誤
如何證明機器學習真有商業價值?或許唯一真實的辦法就是用 A/B 測試來驗證一個機器學習模型的效果。但是,很多公司犯了一個根本錯誤:在測試時,變量比模型還多。
A/B 測試中,『A』與『B』唯一的區別就是生成結果的模型。所有其他變量應該是一樣的。
例如,測試通過短信進行產品推薦時,所有短信應該在同一天、同一時間里發出。這也是搞清楚不同模型效果的唯一辦法。一個變量發生改變了,就沒辦法充分比較測試結果。比如,周六上午發出的推薦消息產生的效果會和周五晚上發出的效果不一樣。
測量標準的重要性
任何機器學習項目期間,能對項目成功產生最重要影響的因子之一就是確定測量標準。畢竟,沒有要求就沒有結果。設定測量標準就是設定能夠獲得優化效果的標準,因此,其他任何因素都可以忽略。選擇錯誤的成功標準,項目就會偏離優化軌道,***只會讓項目更糟糕。
對于公司來說,成功是用以業務中心的標準來衡量的。許多項目都有這個問題:找到一個正確的技術標準,這個標準能夠將所有的業務面向都考慮進去。標準意味著什么內容需要加以優化,因此,如果一些業務內容并沒有被納入標準的設定中去,那么,優化過程中,這些因素就會被忽略掉,公司就無法實現他們想要的目標。
比如,絕對百分誤差(sMAPE)這個標準,一個以百分比(或相對)錯誤為基礎,測量精度的度量標準。零售業務中,存貨出貨很慢時,用算法來預測所有出貨很慢產品的零值,就十分關鍵了,如果我們想要優化 SMAPE 的話。不過,零售商又不能將一周僅交易 1 到 2 次的產品從所有存貨清單中刪除,因為這些產品常常影響著門市中其他產品的銷售,需要保留下來。
據此,對于公司來說,很重要的一點就是控制住測量標準:設定目標以及實現這一目標的算法,無論目標具體為何。不問目標。
目標沒問題,方法有錯誤
你是否走在通往目標的正確道路上呢?提出的模型問題是不是正確?比如,所有利益方都認為這個問題值得解決,你甚至還有用機器學習解決該問題的豐富知識。那么,現在正是進行交叉檢查的好時機,如果項目目標確實是你們想要實現的。即使決策解決問題方式看似沒啥變化,但最終你還是會發現,在解決這個問題上,機器學習并不比不那么先進的模型要好。
比如,你開的公司從事服務行業,也偶爾會有參觀高峰時期,那時公司人手就會不夠。這不過是一項業務,你也不會想要員工全年都干這個,畢竟淡季時,這么做并不劃算。相反,你想要預測參觀人流量***的那五天。不過,這么問的結果可能會很多噪音,因為有時你會發現 1 個月里會有十天的高峰,而且你真的搞不清楚這十天的區別。因此,你想要問的應該是:「哪些天,我需要額外幫助?」,你回答問題的方式也要做相應調整。
都有意義嗎?
度量、算法以及測試或許預示著成功,但是,如果實施方式有誤,模型就有可能出現偏差。因此,你必須確定所有的努力都朝著這一方向:改善機器學習項目的流程質量是有意義的,否則冒著花時間確保技術細節***的風險,***還無功而返。
就拿產品推薦說吧。你必須保持傳遞那些推薦內容的渠道(比如電子郵件、短信以及推送通知等)暢通。這個建議貌似很簡單,但常常被忽略。如果渠道不能愉快地運作,那么,你在共享推薦系統上所做的提升就無法實現增值,原因很簡單,從渠道開始是徒勞的。比如,有的消費者幾乎不會讀公司發來的電子郵件,但接受電子郵件里的產品推薦,那么,這里出問題的是渠道而不是推薦。
機器學習項目很復雜,實施過程中出現的典型錯誤可能會耗費你很多精力,還無功而返。盡管錯誤會讓你停滯不前,但是,只要從中學習,幾個月的時間就能成功實現業務、成本的優化,而其他技術卻要花費數年才能達到這個效果。就機器學習而言,***的錯誤就是不吸取其他人的教訓。
原文:https://www.datanami.com/2017/04/11/four-common-mistakes-machine-learning-projects/
【本文是51CTO專欄機構機器之心的原創譯文,微信公眾號“機器之心( id: almosthuman2014)”】