為什么基于樹的模型在表格數據上仍然優于深度學習
在這篇文章中,我將詳細解釋這篇論文《Why do tree-based models still outperform deep learning on tabular data》這篇論文解釋了一個被世界各地的機器學習從業者在各種領域觀察到的現象——基于樹的模型在分析表格數據方面比深度學習/神經網絡好得多。
論文的注意事項
這篇論文進行了大量的預處理。例如像刪除丟失的數據會阻礙樹的性能,但是隨機森林非常適合缺少數據的情況,如果你的數據非常雜亂:包含大量的特征和維度。RF的魯棒性和優點使其優于更“先進”的解決方案,因為后者很容易出現問題。
其余的大部分工作都很標準。我個人不太喜歡應用太多的預處理技術,因為這可能會導致失去數據集的許多細微差別,但論文中所采取的步驟基本上會產生相同的數據集。但是需要說明的是,在評估最終結果時要使用相同的處理方法。
論文還使用隨機搜索來進行超參數調優。這也是行業標準,但根據我的經驗,貝葉斯搜索更適合在更廣泛的搜索空間中進行搜索。
了解了這些就可以深入我們的主要問題了——為什么基于樹的方法勝過深度學習?
1、神經網絡偏向過于平滑的解決方案
這是作者分享深度學習神經網絡無法與隨機森林競爭的第一個原因。 簡而言之,當涉及到非平滑函數/決策邊界時,神經網絡很難創建最適合的函數。 隨機森林在怪異/鋸齒/不規則模式下做得更好。
如果我來猜測原因的話,可能是在神經網絡中使用了梯度,而梯度依賴于可微的搜索空間,根據定義這些空間是平滑的,所以無法區分尖銳點和一些隨機函數。 所以我推薦學習諸如進化算法、傳統搜索等更基本的概念等 AI 概念,因為這些概念可以在 NN 失敗時的各種情況下取得很好的結果。
有關基于樹的方法(RandomForests)和深度學習者之間決策邊界差異的更具體示例,請查看下圖 -
在附錄中,作者對上述可視化進行了下面說明:
在這一部分中,我們可以看到 RandomForest 能夠學習 MLP 無法學習的 x 軸(對應日期特征)上的不規則模式。 我們展示了默認超參數的這種差異,這是神經網絡的典型行為,但是實際上很難(盡管并非不可能)找到成功學習這些模式的超參數。
2、無信息特性會影響類似mlp的神經網絡
另一個重要因素,特別是對于那些同時編碼多個關系的大型數據集的情況。如果向神經網絡輸入不相關的特征結果會很糟糕(而且你會浪費更多的資源訓練你的模型)。這就是為什么花大量時間在EDA/領域探索上是如此重要。這將有助于理解特性,并確保一切順利運行。
論文的作者測試了模型在添加隨機和刪除無用特性時的性能。基于他們的結果,發現了2個很有趣的結果
刪除大量特性減少了模型之間的性能差距。這清楚地表明,樹型模型的一大優勢是它們能夠判斷特征是否有用并且能夠避免無用特征的影響。
與基于樹的方法相比,向數據集添加隨機特征表明神經網絡的衰退要嚴重得多。ResNet尤其受到這些無用特性的影響。transformer的提升可能是因為其中的注意力機制在一定程度上會有一些幫助。
對這種現象的一種可能解釋是決策樹的設計方式。 任何學習過 AI 課程的人都會知道決策樹中的信息增益和熵的概念。這使得決策樹能夠通過比較剩下的特性來選擇最佳的路徑。
回到正題,在表格數據方面,還有最后一件事使 RF 比 NN 表現更好。 那就是旋轉不變性。
3、NNs 是旋轉不變性的,但是實際數據卻不是
神經網絡是旋轉不變的。 這意味著如果對數據集進行旋轉操作,它不會改變它們的性能。 旋轉數據集后,不同模型的性能和排名發生了很大的變化,雖然ResNets一直是最差的, 但是旋轉后他保持原來的表現,而所有其他模型的變化卻很大。
這很現象非常有趣:旋轉數據集到底意味著什么?整個論文中也沒有詳細的細節說明(我已經聯系了作者,并將繼續跟進這個現象)。如果有任何想法,也請在評論中分享。
但是這個操作讓我們看到為什么旋轉方差很重要。根據作者的說法,采用特征的線性組合(這就是使ResNets不變的原因)實際上可能會錯誤地表示特征及其關系。
通過對原始數據的編碼獲得最佳的數據偏差,這些最佳的偏差可能會混合具有非常不同的統計特性的特征并且不能通過旋轉不變的模型來恢復,會為模型提供更好的性能。
總結
這是一篇非常有趣的論文,雖然深度學習在文本和圖像數據集上取得了巨大進步,但它在表格數據上的基本沒有優勢可言。論文使用了 45 個來自不同領域的數據集進行測試,結果表明即使不考慮其卓越的速度,基于樹的模型在中等數據(~10K 樣本)上仍然是最先進的。