1. 程式人生 > 實用技巧 >機器學習:不要低估樹模型的威力

機器學習:不要低估樹模型的威力

選自towardsdatascience

作者:Andre Ye 機器之心編譯編輯:陳萍

樹模型和神經網路,像一枚硬幣的兩面。在某些情況下,樹模型的效能甚至優於神經網路。

由於神經網路的複雜性,它們常常被認為是解決所有機器學習問題的「聖盃」。而另一方面,基於樹的方法並未得到同等重視,主要原因在於這類演算法看起來很簡單。然而,這兩種演算法看似不同,卻像一枚硬幣的正反面,都很重要。

樹模型 VS 神經網路

基於樹的方法通常優於神經網路。本質上,將基於樹的方法和基於神經網路的方法放在同一個類別中是因為,它們都通過逐步解構來處理問題,而不是像支援向量機或 Logistic 迴歸那樣通過複雜邊界來分割整個資料集。

很明顯,基於樹的方法沿著不同的特徵逐步分割特徵空間,以優化資訊增益。不那麼明顯的是,神經網路也以類似的方式處理任務。每個神經元監視特徵空間的一個特定部分(存在多種重疊)。當輸入進入該空間時,某些神經元就會被啟用。

神經網路以概率的視角看待這種逐段模型擬合 (piece-by-piece model fitting),而基於樹的方法則採用確定性的視角。不管怎樣,這兩者的效能都依賴於模型的深度,因為它們的元件與特徵空間的各個部分存在關聯。

包含太多元件的模型(對於樹模型而言是節點,對於神經網路則是神經元)會過擬合,而元件太少的模型根本無法給出有意義的預測。(二者最開始都是記憶資料點,而不是學習泛化。)

要想更直觀地瞭解神經網路是如何分割特徵空間的,可閱讀這篇介紹通用近似定理的文章:https://medium.com/analytics-vidhya/you-dont-understand-neural-networks-until-you-understand-the-universal-approximation-theory-85b3e7677126。

雖然決策樹有許多強大的變體,如隨機森林、梯度提升、AdaBoost 和深度森林,但一般來說,基於樹的方法本質上是神經網路的簡化版本。

  • 基於樹的方法通過垂直線和水平線逐段解決問題,以最小化熵(優化器和損失)。神經網路通過啟用函式來逐段解決問題。

  • 基於樹的方法是確定性的,而不是概率性的。這帶來了一些不錯的簡化,如自動特徵選擇。

  • 決策樹中被啟用的條件節點類似於神經網路中被啟用的神經元(資訊流)。

  • 神經網路通過擬合引數對輸入進行變換,間接指導後續神經元的啟用。決策樹則顯式地擬合引數來指導資訊流。(這是確定性與概率性相對應的結果。)

資訊在兩個模型中的流動相似,只是在樹模型中的流動方式更簡單。

樹模型的 1 和 0 選擇 VS 神經網路的概率選擇

當然,這是一個抽象的結論,甚至可能是有爭議的。誠然,建立這種聯絡有許多障礙。不管怎樣,這是理解基於樹的方法何時以及為什麼優於神經網路的重要部分。

對於決策樹而言,處理表格或表格形式的結構化資料是很自然的。大多數人都同意用神經網路執行表格資料的迴歸和預測屬於大材小用,所以這裡做了一些簡化。選擇 1 和 0,而不是概率,是這兩種演算法之間差異的主要根源。因此,基於樹的方法可成功應用於不需要概率的情況,如結構化資料。

例如,基於樹的方法在 MNIST 資料集上表現出很好的效能,因為每個數字都有幾個基本特徵。不需要計算概率,這個問題也不是很複雜,這就是為什麼設計良好的樹整合模型效能可以媲美現代卷積神經網路,甚至更好。

通常,人們傾向於說「基於樹的方法只是記住了規則」,這種說法是對的。神經網路也是一樣,只不過它能記住更復雜的、基於概率的規則。神經網路並非顯式地對 x>3 這樣的條件給出真 / 假的預測,而是將輸入放大到一個很高的值,從而得到 sigmoid 值 1 或生成連續表示式。

另一方面,由於神經網路非常複雜,因此使用它們可以做很多事情。卷積層和迴圈層都是神經網路的傑出變體,因為它們處理的資料往往需要概率計算的細微差別。

很少有影象可以用 1 和 0 建模。決策樹值不能處理具有許多中間值(例如 0.5)的資料集,這就是它在 MNIST 資料集上表現很好的原因,在 MNIST 中,畫素值幾乎都是黑色或白色,但其他資料集的畫素值不是(例如 ImageNet)。類似地,文字有太多的資訊和太多的異常,無法用確定性的術語來表達。

這也是神經網路主要用於這些領域的原因,也是神經網路研究在早期(21 世紀初之前)停滯不前的原因,當時無法獲得大量影象和文字資料。神經網路的其他常見用途僅限於大規模預測,比如 YouTube 視訊推薦演算法,其規模非常大,必須用到概率。

任何公司的資料科學團隊可能都會使用基於樹的模型,而不是神經網路,除非他們正在建造一個重型應用,比如模糊 Zoom 視訊的背景。但在日常業務分類任務上,基於樹的方法因其確定性特質,使這些任務變得輕量級,其方法與神經網路相同。

在許多實際情況下,確定性建模比概率建模更自然。例如,預測使用者是否從某電商網站購買一樣商品,這時樹模型是很好的選擇,因為使用者天然地遵循基於規則的決策過程。使用者的決策過程可能看起來像這樣:

  1. 我以前在這個平臺上有過愉快的購物經歷嗎?如果有,繼續。

  2. 我現在需要這件商品嗎?(例如,冬天我應該買太陽鏡和泳褲嗎?)如果是,繼續。

  3. 根據我的使用者統計資訊,這是我有興趣購買的產品嗎?如果是,繼續。

  4. 這個東西太貴嗎?如果沒有,繼續。

  5. 其他顧客對這個產品的評價是否足夠高,讓我可以放心地購買它?如果是,繼續。

一般來說,人類遵循基於規則和結構化的決策過程。在這些情況下,概率建模是不必要的。

結論

  • 最好將基於樹的方法視為神經網路的縮小版本,以更簡單的方式進行特徵分類、優化、資訊流傳遞等。

  • 基於樹的方法和神經網路方法在用途的主要區別在於確定性(0/1)與概率性資料結構。使用確定性模型可以更好地對結構化(表格)資料進行建模。

  • 不要低估樹方法的威力。

參考連結:https://towardsdatascience.com/when-and-why-tree-based-models-often-outperform-neural-networks-ceba9ecd0fd8