XGBoost 比深度學習還強?
轉自 | 機器之心
為什麼基於樹的機器學習方法,如 XGBoost 和隨機森林在表格數據上優於深度學習?本文給出了這種現象背後的原因,他們選取了 45 個開放數據集,並定義了一個新基準,對基於樹的模型和深度模型進行比較,總結出三點原因來解釋這種現象。
深度學習在圖像、語言甚至音頻等領域取得了巨大的進步。然而,在處理表格數據上,深度學習卻表現一般。由於表格數據具有特徵不均勻、樣本量小、極值較大等特點,因此很難找到相應的不變量。
基於樹的模型不可微,不能與深度學習模塊聯合訓練,因此創建特定於表格的深度學習架構是一個非常活躍的研究領域。許多研究都聲稱可以擊敗或媲美基於樹的模型,但他們的研究遭到很多質疑。
事實上,對錶格數據的學習缺乏既定基準,這樣一來研究人員在評估他們的方法時就有很多自由度。此外,與其他機器學習子域中的基準相比,大多數在線可用的表格數據集都很小,這使得評估更加困難。
為了緩解這些擔憂,來自法國國家信息與自動化研究所、索邦大學等機構的研究者提出了一個表格數據基準,其能夠評估最新的深度學習模型,並表明基於樹的模型在中型表格數據集上仍然是 SOTA。
對於這一結論,文中給出了確鑿的證據,在表格數據上,使用基於樹的方法比深度學習(甚至是現代架構)更容易實現良好的預測,研究者並探明了其中的原因。
論文地址:https://hal.archives-ouvertes.fr/hal-03723551/document
值得一提的是,論文作者之一是 Gaël Varoquaux ,他是 Scikit-learn 計劃的領導者之一。目前該項目在 GitHub 上已成為最流行的機器學習庫之一。而由 Gaël Varoquaux 參與的文章《Scikit-learn: Machine learning in Python》,引用量達 58949。
本文貢獻可總結為:
該研究為表格數據創建了一個新的基準(選取了 45 個開放數據集),並通過 OpenML 共享這些數據集,這使得它們易於使用。
該研究在表格數據的多種設置下比較了深度學習模型和基於樹的模型,並考慮了選擇超參數的成本。該研究還分享了隨機搜索的原始結果,這將使研究人員能夠廉價地測試新算法以獲得固定的超參數優化預算。
在表格數據上,基於樹的模型仍然優於深度學習方法
新基準參考 45 個表格數據集,選擇基準如下 :
-
異構列,列應該對應不同性質的特徵,從而排除圖像或信號數據集。
-
維度低,數據集 d/n 比率低於 1/10。
-
無效數據集,刪除可用信息很少的數據集。
-
I.I.D.(獨立同分佈)數據,移除類似流的數據集或時間序列。
-
真實世界數據,刪除人工數據集,但保留一些模擬數據集。
-
數據集不能太小,刪除特徵太少(< 4)和樣本太少(< 3 000)的數據集。
-
刪除過於簡單的數據集。
-
刪除撲克和國際象棋等遊戲的數據集,因為這些數據集目標都是確定性的。
在基於樹的模型中,研究者選擇了 3 種 SOTA 模型:Scikit Learn 的 RandomForest,GradientBoostingTrees (GBTs) , XGBoost 。
該研究對深度模型進行了以下基準測試:MLP、Resnet 、FT Transformer、SAINT 。
圖 1 和圖 2 給出了不同類型數據集的基準測試結果
實證調查:為什麼基於樹的模型在表格數據上仍然優於深度學習
歸納偏差。基於樹的模型在各種超參數選擇中擊敗了神經網絡。事實上,處理表格數據的最佳方法有兩個共有屬性:它們是集成方法、bagging(隨機森林)或 boosting(XGBoost、GBT),而這些方法中使用的弱學習器是決策樹。
發現 1:神經網絡(NN)傾向於過度平滑的解決方案
如圖 3 所示,對於較小的尺度,平滑訓練集上的目標函數會顯著降低基於樹的模型的準確率,但幾乎不會影響 NN。這些結果表明,數據集中的目標函數並不平滑,與基於樹的模型相比,NN 難以適應這些不規則函數。這與 Rahaman 等人的發現一致,他們發現 NN 偏向於低頻函數。基於決策樹的模型學習分段(piece-wise)常函數,沒有這樣的偏置。
發現 2:非信息特徵更能影響類似 MLP 的 NN
表格數據集包含許多非信息( uninformative)特徵,對於每個數據集,該研究根據特徵的重要性會選擇丟棄一定比例的特徵(通常按隨機森林排序)。從圖 4 可以看出,去除一半以上的特徵對 GBT 的分類準確率影響不大。
圖 5 可以看到移除非信息特徵 (5a) 減少了 MLP (Resnet) 與其他模型(FT Transformers 和基於樹的模型)之間的性能差距 ,而添加非信息特徵會擴大差距,這表明 MLP 對非信息特徵的魯棒性較差。在圖 5a 中,當研究者移除更大比例的特徵時,相應的也會刪除有用信息特徵。圖 5b 表明,去除這些特徵所帶來的準確率下降可以通過去除非信息特徵來補償,與其他模型相比,這對 MLP 更有幫助(同時,該研究還刪除了冗餘特性,也不會影響模型性能)。
發現 3:通過旋轉,數據是非不變的
與其他模型相比,為什麼 MLP 更容易受到無信息特徵的影響?其中一個答案是,MLP 是旋轉不變的:當對訓練集和測試集特徵應用旋轉時,在訓練集上學習 MLP 並在測試集上進行評估,這一過程是不變的。事實上,任何旋轉不變的學習過程都具有最壞情況下的樣本複雜度,該複雜度至少在不相關特徵的數量上呈線性增長。直觀地說,為了去除無用特徵,旋轉不變算法必須首先找到特徵的原始方向,然後選擇信息最少的特徵。
圖 6a 顯示了當對數據集進行隨機旋轉時的測試準確率變化,證實只有 Resnets 是旋轉不變的。值得注意的是,隨機旋轉顛倒了性能順序:結果是 NN 在基於樹的模型之上,Resnets 在 FT Transformer 之上,這表明旋轉不變性是不可取的。事實上,表格數據通常具有單獨含義,例如年齡、體重等。
圖 6b 中顯示:刪除每個數據集中最不重要的一半特徵(在旋轉之前),會降低除 Resnets 之外的所有模型的性能,但與沒有刪除特徵使用所有特徵時相比,相比較而言,下降的幅度較小。
原文鏈接:https://twitter.com/GaelVaroquaux/status/1549422403889