作者 | 杜嘉平
為什么要探討這個(gè)話題
探討這個(gè)話題的本質(zhì)原因是來源于為客戶提供數(shù)據(jù)戰(zhàn)略咨詢服務(wù)時(shí)的思考,很多客戶的痛點(diǎn)與訴求看似可以用機(jī)器學(xué)習(xí)解決,但實(shí)際上卻充滿風(fēng)險(xiǎn),所以究竟機(jī)器學(xué)習(xí)什么時(shí)候該用,什么時(shí)候不該用,便成為了思考的對(duì)象。
機(jī)器學(xué)習(xí)起源于學(xué)術(shù)界,但再也不會(huì)是一件學(xué)術(shù)上的事情了。我們會(huì)在日常生活中聽到大量機(jī)器學(xué)習(xí)的應(yīng)用,很多商業(yè)產(chǎn)品與業(yè)務(wù)流程中也紛紛開始了機(jī)器學(xué)習(xí)的應(yīng)用。盡管機(jī)器學(xué)習(xí)一直在被廣泛的使用,但是并不是任何看起來像是機(jī)器學(xué)習(xí)能解決的事情,都能夠被機(jī)器學(xué)習(xí)所解決,或者說在很多情況下,機(jī)器學(xué)習(xí)并不是最優(yōu)解。
一旦在解決問題的一開始就選擇了錯(cuò)誤的解決方案,那么之后對(duì)于機(jī)器學(xué)習(xí)解決方案進(jìn)行持續(xù)運(yùn)營的MLOps也就變得毫無意義。在開始一項(xiàng)機(jī)器學(xué)習(xí)項(xiàng)目之前,我們必須反復(fù)對(duì)業(yè)務(wù)價(jià)值、業(yè)務(wù)流程、數(shù)據(jù)可行性、數(shù)據(jù)完備性等幾個(gè)維度進(jìn)行研究,以確定使用機(jī)器學(xué)習(xí)的必要性。因?yàn)榈补緵Q定使用機(jī)器學(xué)習(xí),那么其前期沒有回報(bào)的投資成本將會(huì)是非常巨大的,投資回報(bào)率將是極小。
圖片來源:https://venturebeat.com/2018/11/24/before-you-launch-your-machine-learning-model-start-with-an-mvp/
什么時(shí)候該使用機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)的目的:更精準(zhǔn)地替代經(jīng)驗(yàn)以及更大面積復(fù)用人工。在這個(gè)文章中,要回答什么時(shí)候該用機(jī)器學(xué)習(xí),我們需要回答一個(gè)更為本質(zhì)的問題,什么是機(jī)器學(xué)習(xí)?
這里我將這個(gè)答案拆分成由幾個(gè)要素組成的一句話:
通過(1)重復(fù)(2)學(xué)習(xí)(3)復(fù)雜(4)歷史數(shù)據(jù)的(5)規(guī)律特征,將學(xué)習(xí)成果(6)規(guī)?;貞?yīng)用于(7)未來數(shù)據(jù)中以得到(8)預(yù)測(cè)結(jié)果,來倒推所有要素的滿足條件,所有要素都滿足條件,那么才是真正該用機(jī)器學(xué)習(xí)的時(shí)候。
1. 重復(fù):相對(duì)大量的訓(xùn)練集數(shù)據(jù)
如果教一個(gè)沒有見過貓狗的小朋友區(qū)別貓狗,我想只需要給他10張左右的貓貓和狗狗的照片之后,他就能很好的識(shí)別出貓和狗的特征以區(qū)分貓狗了。但是如果只給機(jī)器學(xué)習(xí)模型提供10張圖片進(jìn)行學(xué)習(xí),那學(xué)習(xí)效果一定是很差的。所以我們需要利用擁有同樣特征規(guī)律的重復(fù)性的數(shù)據(jù),對(duì)模型進(jìn)行訓(xùn)練,所以機(jī)器學(xué)習(xí)的使用,一定是要在大量訓(xùn)練集數(shù)據(jù)的前提下進(jìn)行的。如果我們存在的歷史數(shù)據(jù)不能夠滿足模型的學(xué)習(xí)效果,那么我們可能需要再等等,積攢更多的數(shù)據(jù)了。
圖片來源:https://ypw.io/dogs-vs-cats/
2. 學(xué)習(xí):機(jī)器學(xué)習(xí)應(yīng)該有足夠能力去學(xué)習(xí)
在我的一些咨詢項(xiàng)目中,很多業(yè)務(wù)人員都會(huì)使用Excel通過對(duì)于一列或兩列數(shù)據(jù)的規(guī)則計(jì)算得到第三列數(shù)據(jù)(前提不是時(shí)間序列數(shù)據(jù))。這是一個(gè)很常見的Excel應(yīng)用場(chǎng)景,因?yàn)樵谡麄€(gè)過程中不存在很強(qiáng)“學(xué)習(xí)”的過程。當(dāng)他們提出希望,能夠通過機(jī)器學(xué)習(xí)智能化地得到結(jié)果這種需求,我一定不會(huì)建議客戶上機(jī)器學(xué)習(xí),因?yàn)檫@點(diǎn)小事,機(jī)器學(xué)習(xí)不夠?qū)W。
對(duì)于機(jī)器學(xué)習(xí)的學(xué)習(xí)過程而言,首先必須要有足夠的知識(shí)讓模型去學(xué)習(xí),這個(gè)知識(shí)就是數(shù)據(jù)。通過對(duì)于大量數(shù)據(jù)學(xué)習(xí),產(chǎn)生相應(yīng)的結(jié)果是機(jī)器學(xué)習(xí)的普遍過程,例如在預(yù)測(cè)Airbnb租價(jià),模型需要學(xué)習(xí)大量房屋特征、房屋地理屬性、以及歷史租價(jià)等數(shù)據(jù)對(duì)于“數(shù)據(jù)->結(jié)果”這一關(guān)系進(jìn)行學(xué)習(xí),在新數(shù)據(jù)喂進(jìn)模型時(shí),才能夠通過學(xué)習(xí)成果預(yù)測(cè)出相應(yīng)的租價(jià)。
當(dāng)然,模型和學(xué)生一樣,有好學(xué)生和壞學(xué)生,如何評(píng)判學(xué)得好還是學(xué)得差,就是需要用一個(gè)objective function來判別的,舉個(gè)簡(jiǎn)單的例子:MAE(Mean Absolute Error)。這個(gè)function在驗(yàn)證(validation)的時(shí)候就會(huì)寫入驗(yàn)證方法,以對(duì)于模型的學(xué)習(xí)效果產(chǎn)生最終的客觀評(píng)價(jià)。
總而言之,對(duì)于機(jī)器學(xué)習(xí)不要大材小用,所應(yīng)用的場(chǎng)景應(yīng)該是有能力去學(xué)習(xí)、有潛力去學(xué)習(xí)、有數(shù)據(jù)去學(xué)習(xí),那才能夠滿足“學(xué)習(xí)”這個(gè)元素的要求。
3. 復(fù)雜:數(shù)據(jù)的規(guī)律特征要復(fù)雜
A,B,C
1,1,2;
2,2,4;
2,3,5;
給你上面一組數(shù)據(jù),你是否能看出其中的規(guī)律特征?大膽地說,只要你上過小學(xué)2年級(jí),就一定能夠一眼看出這是C=1A+1B的簡(jiǎn)單規(guī)律。這樣的數(shù)據(jù)可以使用機(jī)器學(xué)習(xí)進(jìn)行學(xué)習(xí)嗎?可以,就是個(gè)最簡(jiǎn)單不過的線性回歸模型(Liner regression model)。但應(yīng)該使用機(jī)器學(xué)習(xí)模型嗎?當(dāng)然不應(yīng)該。再比如通過郵箱編碼來識(shí)別所在地區(qū)或是通過身份證號(hào)識(shí)別你的戶口所在地這些簡(jiǎn)單應(yīng)用,也是簡(jiǎn)單規(guī)律,規(guī)則引擎就可以實(shí)現(xiàn)這樣的預(yù)測(cè)。
但是通過學(xué)習(xí)房屋特征(地板材質(zhì)、墻面材質(zhì)、面積大小、房屋年齡、房屋建造結(jié)構(gòu))以及地理屬性(是否臨街、所在區(qū)域、是否存在地鐵、周圍配套情況)以及歷史二手房交易價(jià)格,得到的二手房交易價(jià)格預(yù)測(cè)模型,就是一個(gè)很典型的機(jī)器學(xué)習(xí)應(yīng)用場(chǎng)景。因?yàn)楸M管我們知道房屋特征、地理屬性這些多維度的變量與二手房交易價(jià)格之間存在規(guī)律特征,但這種規(guī)律特征足夠復(fù)雜,以至于有必要借助機(jī)器學(xué)習(xí)對(duì)于規(guī)律特征進(jìn)行探索。
4. 歷史數(shù)據(jù):必須存在可以采集的歷史數(shù)據(jù)
之所以要強(qiáng)調(diào)這一點(diǎn),是因?yàn)樵谝酝鶎?duì)于某些500強(qiáng)企業(yè)的數(shù)字化戰(zhàn)略咨詢中,有一些很常見的需求就是領(lǐng)導(dǎo)希望預(yù)測(cè)一些目標(biāo)值,并且預(yù)測(cè)的場(chǎng)景也確實(shí)足夠具有業(yè)務(wù)價(jià)值,但問題是歷史數(shù)據(jù)全部靠手工采集,通過Excel每天進(jìn)行手動(dòng)記錄,客戶希望我們通過智能模型來滿足領(lǐng)導(dǎo)對(duì)于目標(biāo)值預(yù)測(cè)的需求。
接到這種需求和問題,我會(huì)自動(dòng)將其識(shí)別為“數(shù)字化需求”而不是“智能化”需求,解決方案也是會(huì)幫助客戶梳理業(yè)務(wù)流程與系統(tǒng)觸點(diǎn),幫助其采集模型所需要的數(shù)據(jù)形成數(shù)據(jù)資產(chǎn)。只有對(duì)于數(shù)據(jù)的數(shù)字化采集才能形成大量歷史數(shù)據(jù),并且能夠在未來MLOps中,提供相應(yīng)的運(yùn)營依據(jù)與模型優(yōu)化條件。
所以在這一點(diǎn),歷史數(shù)據(jù)存在并且可采集,才是滿足機(jī)器學(xué)習(xí)應(yīng)用在“歷史數(shù)據(jù)”這一要素的滿足條件。
5. 規(guī)律特征:規(guī)律特征是可學(xué)習(xí)的
機(jī)器學(xué)習(xí)模型的應(yīng)用必須要在有規(guī)律可以學(xué)習(xí)的情況下產(chǎn)生作用的。一個(gè)智商正常的人肯定不會(huì)投資大量金錢來建立一個(gè)用來預(yù)測(cè)骰子投擲結(jié)果的機(jī)器學(xué)習(xí)系統(tǒng),因?yàn)閿S骰子結(jié)果的產(chǎn)生方式是沒有規(guī)律的。
當(dāng)然,規(guī)律特征是否存在,有些時(shí)候確實(shí)不是那么明顯,所以這就需要引入ML MVP的概念,通過經(jīng)驗(yàn)無法判斷是否存在規(guī)律特征的項(xiàng)目,我們需要進(jìn)行快速驗(yàn)證,通過模型的結(jié)果來得到一個(gè)更加理性客觀的結(jié)果,以判斷規(guī)律特征是否存在,是否可學(xué)習(xí)。
6. 可以規(guī)?;褂?/h4>
在我建模在后,策略先行這篇文章中,提到機(jī)器學(xué)習(xí)的兩大作用,1)超越人類經(jīng)驗(yàn),2)重復(fù)利用替代人工。所以一個(gè)機(jī)器學(xué)習(xí)的重復(fù)利用能力是非常重要的。投資人投入金錢建立模型,不會(huì)就想模型利用一兩次然后就廢掉。所以一個(gè)可以將機(jī)器學(xué)習(xí)重復(fù)利用的應(yīng)用場(chǎng)景是非常重要的。
7. 未來數(shù)據(jù):未來數(shù)據(jù)的特征和模型訓(xùn)練數(shù)據(jù)特征相符
機(jī)器學(xué)習(xí)的核心是經(jīng)驗(yàn)的復(fù)用。所以只有未來數(shù)據(jù)的特征與訓(xùn)練模型時(shí)訓(xùn)練集數(shù)據(jù)的特征相符時(shí),機(jī)器學(xué)習(xí)模型才能夠把經(jīng)驗(yàn)復(fù)用,否則將派不上任何用場(chǎng)。如果用2010年的房產(chǎn)數(shù)據(jù)訓(xùn)練的二手房成交價(jià)預(yù)測(cè)模型來預(yù)測(cè)2021那年的二手房成交價(jià),很顯然模型將不會(huì)準(zhǔn)確預(yù)測(cè)出結(jié)果,因?yàn)檎麄€(gè)描述房屋與價(jià)格的訓(xùn)練集數(shù)據(jù)應(yīng)該算是今非昔比。
這也更加說明了機(jī)器學(xué)習(xí)模型更新的重要性,因?yàn)閿?shù)據(jù)會(huì)逐步迭代,所以模型的訓(xùn)練也要進(jìn)行逐步迭代以保證保質(zhì)期的延長。
但是這存在一個(gè)問題,你怎么知道你的未來數(shù)據(jù)能夠與模型訓(xùn)練時(shí)的數(shù)據(jù)特征相符?好問題,我們沒辦法知道,所以需要進(jìn)行假設(shè),我們一般認(rèn)為如果不發(fā)生業(yè)務(wù)上的大變化,只要時(shí)間跨度不長,那么新老數(shù)據(jù)就是特征相符的。當(dāng)然,這一點(diǎn)大可不必過多擔(dān)心,以為MLOps的數(shù)據(jù)監(jiān)控與模型監(jiān)控能夠很好的對(duì)于數(shù)據(jù)特征變化進(jìn)行識(shí)別,一旦出現(xiàn)識(shí)別出數(shù)據(jù)特征的變化,整個(gè)體系會(huì)立即觸發(fā)Pipeline Trigger對(duì)于模型啟動(dòng)重新訓(xùn)練機(jī)制。關(guān)于pipeline trigger內(nèi)容可以參考之前寫過的文章:不要讓機(jī)器學(xué)習(xí)模型成為孤兒。
8. 預(yù)測(cè):解決的問題是一個(gè)預(yù)測(cè)類的問題
機(jī)器學(xué)習(xí)算法就是用來進(jìn)行預(yù)測(cè)的,所以機(jī)器學(xué)習(xí)所能夠解決的問題,就是一個(gè)預(yù)測(cè)性的問題?;貧w算法預(yù)測(cè)數(shù)值、分類算法預(yù)測(cè)分類值、聚類算法預(yù)測(cè)聚類組,雖然所預(yù)測(cè)的結(jié)果維度不一樣,但是他們最終得到的結(jié)果都是一個(gè)我們?cè)谑褂媚P颓跋胍サ玫降念A(yù)測(cè)結(jié)果。
什么時(shí)候不該使用機(jī)器學(xué)習(xí)?
首先,上面說的8條一旦無法滿足,那么就要警惕是否要進(jìn)行機(jī)器機(jī)器學(xué)習(xí)了。除此之外還有哪些?我以快速回答的方式進(jìn)行闡述:
1. 不相信機(jī)器學(xué)習(xí)(沒有信仰)
如果你的客戶老板,領(lǐng)導(dǎo),機(jī)器學(xué)習(xí)使用方是不信任機(jī)器學(xué)習(xí)的,就算機(jī)器學(xué)習(xí)能夠發(fā)揮再大的價(jià)值,也是很難進(jìn)行推動(dòng)落地的。
2. 解決簡(jiǎn)單的問題
如果需要的解決的問題非常簡(jiǎn)單,通過一些規(guī)則其實(shí)也能夠達(dá)到預(yù)測(cè)的效果,那么不要用,可以使用性價(jià)比更高的“規(guī)則引擎”來替代機(jī)器學(xué)習(xí)。
3. 一個(gè)微不足道的預(yù)測(cè)錯(cuò)誤會(huì)引來很大的災(zāi)難
機(jī)器學(xué)習(xí)模型雖然整體上的質(zhì)量在部署使用前會(huì)經(jīng)過保證,但是這不代表它能夠?qū)τ诿恳粋€(gè)個(gè)體產(chǎn)生相同的預(yù)測(cè)效果,所以在一些單獨(dú)個(gè)體的預(yù)測(cè)上可能會(huì)存在著較大的錯(cuò)誤。如果這個(gè)錯(cuò)誤會(huì)導(dǎo)致巨大的損失和災(zāi)難性的后果,那么不要用。
4. 性價(jià)比不高
機(jī)器學(xué)習(xí)的建立以及后期的運(yùn)營都是需要成本的,如果這件事情的投入無法獲得相應(yīng)的投入,那么就慎用機(jī)器學(xué)習(xí)模型。
5. 業(yè)務(wù)流程中人工經(jīng)驗(yàn)過多
我提到機(jī)器學(xué)習(xí)模型策略建立的本質(zhì),是通過預(yù)測(cè)量化的人工經(jīng)驗(yàn),以取代經(jīng)驗(yàn)判斷變成模型判斷。但是如果人工的一個(gè)判斷需要非常多維度的經(jīng)驗(yàn)才能夠去做出,那么這就不是一個(gè)很好的應(yīng)用的場(chǎng)景。因?yàn)榫退阄覀兺ㄟ^機(jī)器學(xué)習(xí)模型給出了一個(gè)經(jīng)驗(yàn)判斷的預(yù)測(cè)值,那么最終的決定還是會(huì)經(jīng)過其他多個(gè)人工經(jīng)驗(yàn)的權(quán)衡。
最理想的結(jié)果就是,這個(gè)預(yù)測(cè)值給到你,你就可以直接落地一個(gè)行為,這是一個(gè)1對(duì)1的結(jié)果,即1個(gè)經(jīng)驗(yàn)或1個(gè)指標(biāo)決定1個(gè)行為,而不是多對(duì)1 。就算機(jī)器學(xué)習(xí)解決了“多”里面的1個(gè)或2個(gè)經(jīng)驗(yàn)的預(yù)測(cè),那么還有很多的人工經(jīng)驗(yàn)影響最終決定最后的行為策略。所以如果人工經(jīng)驗(yàn)過多,機(jī)器學(xué)習(xí)恐怕就算給出了其中一條經(jīng)驗(yàn)的預(yù)測(cè)結(jié)果,也是無法直接落地讓業(yè)務(wù)使用并做出相應(yīng)判斷的。
寫在最后
以上是通過調(diào)研與個(gè)人總結(jié)后對(duì)于使用機(jī)器學(xué)習(xí)條件的小小歸納。在開始考慮使用機(jī)器學(xué)習(xí)之前請(qǐng)先從這些方面去仔細(xì)思考機(jī)器學(xué)習(xí)的必要性。如果在不合適的場(chǎng)景下使用了機(jī)器學(xué)習(xí),那么后面要面臨的風(fēng)險(xiǎn)還是非常多的。