決策樹講完了,今天就用小小的篇幅來講一下隨機森林吧!
目的在結合多棵不同的決策樹,以達到更好的預測效果。
隨機森林和決策樹的概念其實差不多,主要的差別在於,決策樹只有「一棵樹」,隨機森林則是由很多棵決策樹組成的。
可能有人會問,很多棵是幾棵?欸……其實超過一棵就是隨機森林了,畢竟從中文字來看,雙木就成林了嘛(是這樣用的嗎?)
大家還記得昨天講過的決策樹嗎?如果還記得決策樹的運算羅集,就會發現他的缺點。
我們先把昨天那張圖片叫出來:
(再看一次還是覺得這個舉例很好笑XD)
決策樹是從「根節點」開始一步一步延伸下去的,這顯示他的判斷邏輯會經過不同節點,最後出來答案。但這樣的邏輯缺點就是,因為切入點太過單一,所以在判斷時出現誤差的可能性較大,預測也可能失準。
而隨機森林綜合了不同決策樹,決策樹不同,根節點可能也不同,甚至內部節點的排列也不同。等遇到新事物的時候,讓他在每一棵決策樹中都跑過一遍,隨機森林再綜合所有預測的結果。
以這種方式預測,比起單一的決策樹,誤差會小很多。
隨機森林使用的演算法是"自助集成"(Bootstrap Aggregation)或 "袋装法"(Bagging)。
這是通過從原始數據中隨機抽取來產生多個樣本的方法,且是以「有放回」的方式抽樣得到的,這意味著同一個樣本可以在多個自助樣本中出現,也可以完全不出現。
好像有點難懂。
簡單來說,前面我們有說要用不同樣本來訓練不同決策樹,對吧?但這裡所指的不同樣本可不是單純的切分。他採取的是隨機抽取球球(資料),形成了一個樣本之後,抽出來的球球要再放回去才繼續抽下一個。
這代表同一顆球(資料)可以同時出現在不同的樣本裡面,也可能完全沒出現(一直沒被抽到)。
經過今天的講解,希望大家都可以理解隨機森林,並對決策樹的體系有更深一點的認識。
如果有什麼問題歡迎提出來哦!