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