XGBoost和TensorFlow都是非常強(qiáng)大的機(jī)器學(xué)習(xí)框架,但你怎么知道你需要哪一個(gè)移宅?或許你需要兩者兼而有之阐污?
在機(jī)器學(xué)習(xí)中叔遂,“沒有免費(fèi)午餐”微渠。將特定算法與特定問題相匹配通常優(yōu)于“一刀切”方法。然而循狰,多年來窟社,數(shù)據(jù)科學(xué)界已經(jīng)獲得了足夠的經(jīng)驗(yàn)來總結(jié)算法和典型任務(wù)之間匹配的關(guān)系。
下面我們就從 5 個(gè)方面來總結(jié) XBGoost 和 TensorFLow 之間如何選擇绪钥。先附上總結(jié)列表灿里。
案例1:特征難以分解?
我們從2012年就了解到程腹,神經(jīng)網(wǎng)絡(luò)對(duì)于處理高維原始數(shù)據(jù)非常有效匣吊。圖像,視頻寸潦,文本和音頻都是高維原始數(shù)據(jù)的例子色鸳,很難預(yù)處理并表示為特征。在這些情況下见转,使用NN的內(nèi)置特征提取單元(CNN命雀,LSTM)可以在傳統(tǒng)領(lǐng)域的一些問題上獲得驚人的結(jié)果。
案例2:處理缺失值斩箫?
如果神經(jīng)網(wǎng)絡(luò)里面有缺失值吏砂,則模型會(huì)報(bào)錯(cuò)。這是因?yàn)樵贜N訓(xùn)練期間求解的方程假定每個(gè)輸入變量的有效值乘客。
但是狐血,XGBoost有自己的處理缺失數(shù)據(jù)的方式。在訓(xùn)練期間易核,XGBoost執(zhí)行學(xué)習(xí)為每個(gè)特征計(jì)算數(shù)據(jù)的子任務(wù)氛雪。許多現(xiàn)實(shí)世界的問題都缺少數(shù)據(jù),這些數(shù)據(jù)本身包含有關(guān)目標(biāo)的有價(jià)值信息耸成。因此,對(duì)于缺失值處理 -? XGBoost獲勝浴鸿。
案例3:你的資金有多雄厚井氢?
神經(jīng)網(wǎng)絡(luò)訓(xùn)練往往需要并行計(jì)算,使其非常適合分布式訓(xùn)練岳链。也就是說花竞,如果你的預(yù)算可以涵蓋使用 TPU 或 GPU 這樣昂貴的機(jī)器上的運(yùn)行,那么你就不用懼怕使用神經(jīng)網(wǎng)絡(luò)。
另一方面约急,如果您只使用數(shù)百萬條記錄零远,那么 XGBoost 則可以在較便宜的多核 CPU 上進(jìn)行訓(xùn)練,并在比 NN 更短的時(shí)間內(nèi)收斂厌蔽。因此牵辣,如果數(shù)據(jù)數(shù)量不大 -? XGBoost可能更實(shí)惠并且可以獲得類似的結(jié)果。
案例4:你有多少數(shù)據(jù)奴饮?
由于其基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)纬向,XGBoost在并行化方式上受到限制,因此它可以處理的數(shù)據(jù)量很少戴卜。處理海量數(shù)據(jù)集的一種方法是將這些數(shù)據(jù)拆分為分片和堆疊模型 逾条。
然而,對(duì)于神經(jīng)網(wǎng)絡(luò)投剥,它通常需要數(shù)據(jù)“越多越好”师脂。當(dāng)參數(shù)數(shù)量一致時(shí),即使數(shù)據(jù)量很大江锨,神經(jīng)網(wǎng)絡(luò)也可以使其收斂吃警,并且數(shù)據(jù)量大還可以降低泛化誤差。但對(duì)于較小的數(shù)據(jù)集泳桦,XBGoost通常收斂速度更快汤徽,誤差更小。
案例5:是否需要自定義輸出灸撰?
相較于 NN谒府, XGBoost 會(huì)限制數(shù)據(jù)的輸出形式。它通常將1-d陣列作為記錄輸入并輸出單個(gè)數(shù)字(回歸)或概率向量(分類)浮毯。因此完疫,配置 XGBoost 模型更容易。在 XGBoost 中债蓝,無需擔(dān)心數(shù)據(jù)的輸入輸出形式 - 只需提供看起來像表的pandas datafame壳鹤,設(shè)置標(biāo)簽列就可以了。
但是饰迹,神經(jīng)網(wǎng)絡(luò)通過張量的設(shè)計(jì)芳誓, 以處理高維矩陣。 NN的輸出和輸入形狀可以在數(shù)字啊鸭,序列(矢量)锹淌,圖像甚至視頻之間變化。因此對(duì)于傳統(tǒng)數(shù)據(jù)問題赠制,例如基于結(jié)構(gòu)化數(shù)據(jù)的廣告點(diǎn)擊預(yù)測 - 兩者都可以很好地工作赂摆。在需要多元數(shù)據(jù)形態(tài)問題上,NN可能是唯一有效的選擇!
案例6:我可以同時(shí)使用兩個(gè)模型嗎烟号?
如果你不想選擇怎么辦绊谭?在許多情況下,兩種模型的組合使用效果往往會(huì)優(yōu)于每個(gè)單獨(dú)的模型的預(yù)測結(jié)果汪拥。研究已經(jīng)發(fā)現(xiàn)达传,對(duì)同一數(shù)據(jù)集,堆疊模型可以實(shí)現(xiàn)較低的錯(cuò)誤率喷楣, 但需要編寫合適的組合模型策略趟大。