機(jī)器學(xué)習(xí)都能自動化了?自動之自動 = 自動的乘方?
機(jī)器學(xué)習(xí)作為人工智能領(lǐng)域廣受關(guān)注的技術(shù)一直倍受學(xué)習(xí)者的追捧,但其較高的技術(shù)門檻和對學(xué)習(xí)者時間、精力的要求又使人望而卻步,這篇來自Airbnb的文章就將教你自動化機(jī)器學(xué)習(xí)的實現(xiàn)方法。
Airbnb的數(shù)據(jù)科學(xué)項目涉及大量的機(jī)器學(xué)習(xí),而眾所周知,機(jī)器學(xué)習(xí)的流程其實有許多重復(fù)的任務(wù),其中包括了(但不局限于)以下幾項內(nèi)容:
- 探索性數(shù)據(jù)分析:對數(shù)據(jù)進(jìn)行可視化是機(jī)器學(xué)習(xí)建模前的關(guān)鍵步驟。自動化這些任務(wù)可以節(jié)省數(shù)據(jù)科學(xué)家的大量時間,比如自動繪制全部變量對要預(yù)測的目標(biāo)變量的關(guān)系圖(例如散布圖Scatter Plot),以及自動計算總結(jié)性的統(tǒng)計數(shù)字(例如平均值和標(biāo)準(zhǔn)差)。
 - 特征變換:在如何編碼分類變量、填補(bǔ)缺失值、編碼序列和文本等問題上有各種各樣的特征變換方法可供選擇,但其中不少方法其實已經(jīng)可以在非??煽康那闆r下標(biāo)準(zhǔn)化地應(yīng)用于許多問題。
 - 算法選擇以及調(diào)整模型參數(shù):豐富的算法以及模型參數(shù)時混亂的方向往往令人眼花繚亂。但其實讓自動化的流程去實現(xiàn)這些任務(wù)會更好。
 - 模型診斷:自動生成學(xué)習(xí)曲線、部分依賴圖、特征重要性圖表、ROC曲線等模型用來診斷圖表將會非常實用。
 
AML時代來臨
越來越多的社區(qū)開始創(chuàng)建各種工具來自動化上述及其他機(jī)器學(xué)習(xí)的工作流程。包含了類似范式的概念,這些流程常常被稱為自動化的機(jī)器學(xué)習(xí)(以下簡稱為AML)
自動化的機(jī)器學(xué)習(xí)引起熱議
實踐中的AML
對于AML,迄今為止還沒有公認(rèn)的范疇,但那些常在年度ICML會議上組織AML研討會的專家們在他們的網(wǎng)站上定義了一個合理的AML范疇,其中包括了前文中提到的所有重復(fù)型任務(wù)的自動化。
這個對AML范疇的定義看起來很有野心,但AML在實踐中真的有效嗎?答案取決于你如何使用它。AML很難完全取代數(shù)據(jù)科學(xué)家,因此我們需要特定領(lǐng)域的專業(yè)知識加上人為判斷來正確配置大部分的機(jī)器學(xué)習(xí)問題。
我們還發(fā)現(xiàn)AML工具對使用表格式數(shù)據(jù)集的回歸和分類問題最有效。AML領(lǐng)域正在迅速發(fā)展??偟膩碚f,可以相信AML在某些情況下能成倍地提高數(shù)據(jù)科學(xué)家的生產(chǎn)率。
在Airbnb中AML已經(jīng)形成了以下成果:
(1)設(shè)定標(biāo)桿
- 客觀地展示“挑戰(zhàn)者”模型:AML可以使用與現(xiàn)有模型相同的訓(xùn)練數(shù)據(jù)集來快速展示大量“挑戰(zhàn)者”模型。這可以幫助數(shù)據(jù)科學(xué)家選擇***的模型。
 
(2)診斷和探索
- 檢測數(shù)據(jù)泄漏問題:因為AML可迅速地自動建立候選模型,所以我們可以在建模生命周期中更早地檢測出數(shù)據(jù)泄漏。
 - 診斷:如上所述,AML可自動產(chǎn)生診斷的標(biāo)準(zhǔn),包括學(xué)習(xí)曲線、部分依賴圖、特征值重要性圖表等等。
 
(3)自動化
- 在某種程度上,AML能自動完成如探索性數(shù)據(jù)分析、數(shù)據(jù)預(yù)處理、超參數(shù)調(diào)參、模型選擇以及把模型用于生產(chǎn)這些任務(wù)。
 
AML工具
目前市面上有很多商業(yè)版本的或開源的AML工具。我們最喜歡的AML平臺之一是DataRobot。這是個建立在很多為大家熟知的開源算法基礎(chǔ)上的商業(yè)化平臺。Airbnb正在進(jìn)行的很多項目都使用了DataRobot。
Airbnb也嘗試過以下正在開發(fā)中的開源AML工具:
- TPOT
 - Auto-Sklearn
 - Auto-Weka
 - Machine-JS
 
案例研究:顧客終身價值模型的競爭基準(zhǔn)
Airbnb使用了機(jī)器學(xué)習(xí)來建立房客和房主的終身價值(LTV(lifetime value))模型。這些模型可以幫助Airbnb用預(yù)期回報來精細(xì)地校準(zhǔn)營銷花費(最細(xì)可到單個用戶水平)。
對于房客,LTV模型被定義成一個標(biāo)準(zhǔn)的回歸問題,目標(biāo)變量是在每個房客在某段時間跨度內(nèi)的消費。這個模型的特征包括:人口,地理位置,以及從Airbnb網(wǎng)絡(luò)和移動應(yīng)用獲取的活動信息。這個模型中有許多可變更的部分可以解釋供需彈性、預(yù)期成本和其他變量。
建模過程中重要的一點是數(shù)據(jù)科學(xué)家需要客觀地選擇算法。例如,一個復(fù)雜的模型可能比起簡單的模型可以得到一個很小的增量效益,這種取舍就需要仔細(xì)斟酌。再比如,在建立LTV模型的過程中,我們傾向去使用 eXtreme gradient boosted trees (XGBoost),這是基于以下幾點原因:
- 這個算法在解決類似問題上往往有不錯的效果。
 - 在特設(shè)的交叉驗證(cross validation)中,XGBoost有***的結(jié)果。
 - 時間有限。項目需要花費很多時間在特征工程(feature engineering)、數(shù)據(jù)清洗、以及將模型應(yīng)用到生產(chǎn)系統(tǒng)這些模塊上。這樣就沒有很多時間去做算法選擇和參數(shù)調(diào)整。
 
當(dāng)Airbnb意識到這些偏見后,他們通過了AML平臺(datarobot)對原始訓(xùn)練數(shù)據(jù)執(zhí)行了完整性檢查來設(shè)置模型的誤差基準(zhǔn)。
下圖列出了這些基準(zhǔn)。這個圖表顯示了各種模型的時間交叉驗證集的均方根誤差(RMSE)分布。y軸對應(yīng)不同的“藍(lán)圖”,它是算法和特征工程步驟的結(jié)合。雖然我們不會討論每個藍(lán)圖的細(xì)節(jié),但下面的圖表展示給讀者了一個概況,以便讀者了解現(xiàn)代AML系統(tǒng)能夠完成的算法選擇的任務(wù)范圍。
DataRobot制作的藍(lán)圖基準(zhǔn)
使用AML,可以很快得到另一種觀點:線性模型對于這個問題非常有競爭力。事實上,AML平臺可以測試很多特征工程步驟,以及進(jìn)行更嚴(yán)格的超參數(shù)調(diào)整,而我們通常沒有時間手動探索這些功能。此外,這些發(fā)現(xiàn)使得Airbnb改變了原來的算法,減少了超過5%的模型誤差。
結(jié)論
AML能幫助我們快速探索數(shù)據(jù),以及通過更有效的調(diào)參和診斷來提高模型的準(zhǔn)確率。上述案例研究充分展示了AML提高模型準(zhǔn)確率的能力,但AML也兼具其他優(yōu)勢。對于適合AML的問題,可以認(rèn)為AML能夠提供有效的建模方式,因為只要有訓(xùn)練數(shù)據(jù)AML就很容易上手。但要注意的是,AML并不能保證100%更優(yōu)結(jié)果,但有技巧地使用AML往往能產(chǎn)生很不錯的結(jié)果。
來源:
https://medium.com/airbnb-engineering/automated-machine-learning-a-paradigm-shift-that-accelerates-data-scientist-productivity-airbnb-f1f8a10d61f8?from=singlemessage&isappinstalled=0
【本文是51CTO專欄機(jī)構(gòu)大數(shù)據(jù)文摘的原創(chuàng)譯文,微信公眾號“大數(shù)據(jù)文摘( id: BigDataDigest)”】


















 
 
 









 
 
 
 