眾志成城的演算法─隨機森林(Random Forest)

行銷資料科學
Marketingdatascience
4 min readApr 1, 2019

--

電影「魔戒」裡,有一個讓人印象深刻的場景,會說話的樹人(Ent)向來因為固定在地面上,表面上看似軟弱無力,但是在法貢森林裡的樹人首領樹鬍,卻能率領樹人群一舉攻下了薩魯曼的半獸人要塞「艾辛格」,原來樹人是魔戒中強悍且唯一的植物兵種;有趣的是,在機器學習中,由多棵「決策樹」構成的「隨機森林」分類器,也和魔戒的樹人也有異曲同工之妙,集樹成林扮演眾志成城的強大演算角色。

「隨機森林」的目的在於結合「多個決策樹」,以創造出更佳的預測能力(如圖1),也可以看成是進階版的決策樹。隨機森林的概念,最早是由學者布列門(Breiman)於2001年所提出,在理論與實證中,不僅發現它的效能、預測力都很強,亦可觀察每個變數的特徵重要程度。

圖1. 隨機森林示意圖(繪圖:周晏汝)

要談隨機森林,必須再提一次決策樹,相信大家都聽過這麼一個故事:有一天,兩個製做鞋子的商人,搭乘同一班飛機到了非洲,他們都是準備到非洲來開創新事業。出了機場之後,兩人迫不及待的出去看看非洲現階段流行些什麼款式的鞋子,以便切入市場,結果一出了機場卻嚇然發現,非洲幾乎所有的人都不穿鞋。

第一個鞋商心想:「完蛋了,非洲的人都不穿鞋的。」

第二個鞋商心想:「太好了,這裡的人都沒有鞋穿。」

同樣一個場景,卻形成天南地北完全不同的看法,當然如果鞋商想要再談投資非洲,也會形成不同決策。樂觀的鞋商認為前景大好,二話不說馬上就砸錢裝潢開起了鞋店,他認為:「反正這裡的人都沒有鞋穿,只要店門一開,大家就會上門,反正我賣什麼,大家就買什麼。」反之,悲觀的鞋商,則一再考慮,究竟是根本放棄,還是要從最小的店面開始經營,從最便宜的藍白拖開始賣起。

這個故事的重點,不在於後來到底是哪一個鞋商能賺到錢,而是一個環境往往會形成兩個完全不同的決策,從「做或不做」一路分枝下去,會帶來完全不同的風險,而集合多個決策樹的好處是,試圖降低一般的機器學習模型可能造成的變異與偏誤。

舉例來說,一個線性模型對於預測貓的形態非常在行,但如果貓的身上多了一個黑色的斑點,那在判斷上就可能會失凖。而這樣的瑕疵,對單一模型其實是很難避免,所以隨機森林的好處,就在於讓各個決策樹相互「截長補短」,避免偏誤的產生。回到上述貓的案例,或許一個決策樹無法辨別黑色斑點的貓,但是其他的決策樹則可透過訓練,讓模型知道擁有黑色斑點且長得很像貓的圖片,它還是「貓」。

如果以更技術層面的角度來談隨機森林,其中心思想是「裝袋算法(Bagging)」,它將自身的決策樹獨立出來,並進行重複抽樣的方法,讓每一顆樹都在不同的樣本基底下獨立訓練,或者使用不同變數進行訓練,讓每一個決策樹專精生長在不同的特殊環境,達到決策樹相互之間能夠截長補短之效果,最後綜合其預測結果,以有效降低以往單一模型可能造成的誤差。

其實這就像是戰場上各有專精的的將軍們,各自發揮陸、海、空的優勢,彼此互補與配合,如此更能成功的攻打下一座城池一樣。

作者:蘇宇暉(台科大管研所博士候選人)、 鍾皓軒(臺灣行銷研究有限公司創辦人)

歡迎加入我們的Line@獲取即時訊息!https://line.me/R/ti/p/%40cde8265r

--

--

行銷資料科學
Marketingdatascience

Marketing data science. 台灣第一個行銷資料科學(MDS)知識部落,本粉絲專頁在探討行銷資料科學之基礎概念、趨勢、新工具和實作,讓粉絲們瞭解資料科學的行銷運用,並開啟厚植數據分析能力之契機。粉絲專頁:https://www.facebook.com/MarketingDataScienceTMR