樹模型和神經網絡,像一枚硬幣的兩面。在某些情況下,樹模型的性能甚至優于神經網絡。
由于神經網絡的復雜性,它們常常被認為是解決所有機器學習問題的「圣杯」。而另一方面,基于樹的方法并未得到同等重視,主要原因在于這類算法看起來很簡單。然而,這兩種算法看似不同,卻像一枚硬幣的正反面,都很重要。
樹模型 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 視頻的背景。但在日常業務分類任務上,基于樹的方法因其確定性特質,使這些任務變得輕量級,其方法與神經網絡相同。
在許多實際情況下,確定性建模比概率建模更自然。例如,預測用戶是否從某電商網站購買一樣商品,這時樹模型是很好的選擇,因為用戶天然地遵循基于規則的決策過程。用戶的決策過程可能看起來像這樣:
我以前在這個平臺上有過愉快的購物經歷嗎?如果有,繼續。
我現在需要這件商品嗎?(例如,冬天我應該買太陽鏡和泳褲嗎?)如果是,繼續。
根據我的用戶統計信息,這是我有興趣購買的產品嗎?如果是,繼續。
這個東西太貴嗎?如果沒有,繼續。
其他顧客對這個產品的評價是否足夠高,讓我可以放心地購買它?如果是,繼續。
一般來說,人類遵循基于規則和結構化的決策過程。在這些情況下,概率建模是不必要的。
結論
最好將基于樹的方法視為神經網絡的縮小版本,以更簡單的方式進行特征分類、優化、信息流傳遞等。
基于樹的方法和神經網絡方法在用途的主要區別在于確定性(0/1)與概率性數據結構。使用確定性模型可以更好地對結構化(表格)數據進行建模。
-
神經網絡
+關注
關注
42文章
4772瀏覽量
100838 -
函數
+關注
關注
3文章
4333瀏覽量
62686 -
機器學習
+關注
關注
66文章
8422瀏覽量
132713
原文標題:機器學習算法終極對比:樹模型VS神經網絡
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論