搜尋意圖: 如果你在找「隨機森林 是什麼」或「隨機森林 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 隨機森林是一種集成學習演算法,透過多棵決策樹投票,以隨機子集資料和特徵進行訓練,提升預測準確性
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
你做分類題時,會不會覺得只靠一棵決策樹有點像只聽一個人的意見?
你可以把隨機森林想成很多棵樹一起投票,單棵樹可能會看錯,但整體通常更穩。 它的重點是用多個弱一點的判斷器,組成一個比較不容易翻車的模型。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
隨機森林 vs 決策樹 決策樹是一棵樹自己做判斷。 隨機森林是很多棵樹一起投票。 最關鍵的區別:一個單打獨鬥,一個集體決策。
隨機森林 vs 提升算法 隨機森林通常是平行訓練多棵樹,再投票。 提升算法是前一個弱模型修正下一個弱模型的錯誤。 最關鍵的區別:一個平行整合,一個逐步修正。
隨機森林 vs 裝袋法 裝袋法是用自助抽樣把多個模型訓練出來。 隨機森林是在裝袋的基礎上,再加入特徵隨機抽樣。 最關鍵的區別:隨機森林比一般裝袋多了特徵隨機性。
記住這句就好
單棵樹可能偏,很多棵樹一起投票就穩一點。
實際案例
信用風險判斷 金融單位要判斷申請人是否可能違約,隨機森林常能比單棵樹更穩定。 因為它不太容易被單一特徵帶偏。
醫療分類 當你要把病歷特徵分類成不同風險等級時,隨機森林常能提供不錯的基線表現。 對資料表格型任務來說,它常是很實用的起點。
算法與應用
隨機森林會對訓練資料做自助抽樣,讓每棵樹看到不同子集。 在每個分裂節點,它也只看部分特徵,這能增加樹之間的差異。 最後用分類投票或回歸平均得到結果,通常比單棵樹更穩。
中英對照與常見說法
| 說法 | 出現場合 |
|---|---|
| 隨機森林 | 台灣正式用語 |
| 随机森林 | 簡體寫法 |
| Random Forest | 英文原名 |
| RF | 縮寫 |
兩層隨機性
隨機森林是很多棵決策樹的集成,靠兩層隨機讓每棵樹長得不一樣:
第一層,資料隨機(bagging)。 每棵樹用有放回抽樣抽出一份訓練資料,所以每棵樹看到的樣本不同。
第二層,特徵隨機。 每次要分裂節點時,只從隨機挑出的一部分特徵裡選最好的(分類任務常見是總特徵數的平方根)。這一層是隨機森林跟一般 bagging 的關鍵差別。
沒有第二層的話,如果有一個特別強的特徵,每棵樹都會先拿它來分,所有樹長得幾乎一樣,集成就失去意義。特徵隨機的目的就是讓樹之間去相關。
最後分類用投票、迴歸取平均。
為什麼它是很好的預設選擇
| 優點 | 說明 |
|---|---|
| 幾乎不用調參 | 樹的數量給夠就好,其他參數用預設值通常表現就不差 |
| 不用標準化特徵 | 樹是比大小,不在意尺度 |
| 能處理混合型態 | 數值與類別特徵都能吃 |
| 對離群值穩健 | 單一極端值只影響少數幾棵樹 |
| 不容易過度擬合 | 樹越多越穩定,不會像單棵樹那樣爆掉 |
| 自帶驗證 | 袋外估計(OOB)用每棵樹沒抽到的樣本評估,不用另外切驗證集 |
樹的數量越多越好,只是報酬遞減。 它不像提升法那樣加太多樹會過度擬合,加樹只是變慢。實務上幾百棵通常就飽和了。
跟梯度提升樹的差別,以及一個重要陷阱
隨機森林是平行的:每棵樹獨立訓練,互不影響,最後投票。梯度提升樹是串行的:每棵樹去修正前面所有樹的殘差。
一般來說梯度提升樹(XGBoost、LightGBM)調好之後準確度更高,但對參數敏感、容易過度擬合、也比較難調。隨機森林則是「開箱就有八成分數」的選擇。
特徵重要度有陷阱。內建的重要度(基於不純度下降)會偏向高基數的特徵:唯一值很多的欄位(例如 ID、時間戳)即使完全沒有預測力,也可能拿到很高的重要度分數。要看可信的重要度,改用排列重要度(permutation importance)或 SHAP,並且一定要在驗證集上算。
情境判斷
Q1(直覺題): 你要做表格型資料的分類,想要一個穩定基線,先考慮什麼?
→ 先考慮隨機森林,因為它通常比單棵決策樹更穩。
Q2(判斷題): 如果你很在意模型可解釋性,隨機森林一定比決策樹更適合嗎?
→ 不一定,因為隨機森林通常更難直觀解讀,若你要很清楚的規則,單棵樹反而更好。
常見問題
隨機森林會不會過擬合?
會有機會,但通常比單棵樹不容易過擬合。
它適合影像或文字嗎?
可以用,但在高維、非結構化資料上,深度學習通常更常見。
樹越多越好嗎?
不一定,樹太多會讓訓練和推論變慢,要看效能和成本。