決策樹的延伸 — — 隨機森林(Random Forest)

AI Justka
AI 講講話
Published in
Aug 29, 2022
Photo by Thiago Japyassu on Pexels

什麼是隨機森林?

上一篇直覺易懂的分類 — — 決策樹(Decision Tree)中,我們學到了什麼是決策樹。而什麼是隨機森林呢?我們可以想像一個很大的森林,裡面包含了很多棵決策樹,而每一棵決策樹都是互相獨立的,至於要怎麼決定最後的結果,是以眾數或取得平均的方式決定最終的結果。

隨機森林中一棵又一棵的決策樹

也就是說,隨機森林就是包含多棵決策樹的分類器,決策樹可以處理離散型(discrete)和連續型(continuous)的資料。離散型資料指的是特定值,這些值可能無窮無盡,但每個值都是不同的,並且沒有中間的灰色區域,例如蘋果的數量。連續型資料不限於特定值,而是包含在連續範圍內的任何值,在任何兩個連續數據值之間,可能有無限多個其他值,例如身高、體重。

在離散型的資料中,隨機森林就是取得決策樹的眾數;而連續型的資料中,隨機森林就是取得決策樹結果的平均。

離散型資料與連續型資料

隨機森林的原理

隨機森林裡有很多棵決策樹,這些決策樹該如何建構而成?我們可以看到下表,在資料中每一列是一個又一個的樣本(Sample),每一行是不一樣的特徵(Feature)。

資料集

在隨機森林中要建立決策樹之前,會從樣本當中抽一些樣本出來,也會在特徵當中抽一些特徵,來建立一棵決策樹。我們會不斷重複同樣的動作,採取後放回的方式,不斷建構一棵又一棵不一樣的決策樹在森林中。

從資料集中隨機抽樣建構決策樹

隨機森林的優點和缺點

隨機森林可以處理的資料集非常廣泛,可處理連續型資料,亦可處理離散型的資料。此外,在兩種隨機因子的抽取下,更可以讓隨機森林不容易產生過度擬合(overfitting)(可見AI 如何變聰明?(四) — — 什麼是「深度學習」​​​​​​​)的結果。

然而,如果建構的決策樹過多,就容易導致計算成本的提高,包含時間與空間的成本,導致效能降低。另外,若資料本身的雜訊過多,還是會讓隨機森林出現過度擬合的結果。

--

--