前篇文章中我們介紹了神經網路的基本構造,現在讓我們來看看決策樹,這個ML歷史上重要的一個里程碑。
就像在80年代和90年代發明樹形算法(例如ID3和C 4.5)一樣,它們在線性回歸中的某些類型的問題上也更出色,並且對人類來說很容易解釋。在創建樹木時找到最佳分割是一個NP-hard問題,因此,貪婪演算法(Greedy algorithm)用來使構造盡可能接近樹木的最佳分割。貪婪演算法能創造一個分段的線性決策面(linear decisions surface),
這實際上就是ReLU層提供的功能。但是如果借助DNN(深度神經網絡),每個ReLU層都可以組合成一個超平面決策面,它的功能可能會更強大。不過這邊暫不討論DNN,我們先來看看決策樹。
決策樹是最直觀的機器學習算法之一。它們可用於分類和回歸。假設你有一個數據集,並且想要確定如何將數據全部拆分到不同的容器(bucket)中。你應該做的第一件事是,想出各種這數據集可能回答的問題。讓我們來看一個例子,鐵達尼號災難的生存預測,應該所有入門機器學習的朋友們都有看過或聽過。
數據集內有各行各業的人們、不同的背景、不同的情況等等。因此,我們想看看是否有任何可能的資訊可以對我的數據進行切分,來讓我們可以準確地預測誰存活。第一個猜測可能是乘客的性別。因此,我可以問「乘客是男性嗎?」,這樣能將數據分割成兩半,其中男性進入一個容器,其餘部分進入另一個容器。64%的數據進入了男性這個容器,而36%的數據進入了另一個容器(非男性,也就是女性)。現在,讓我們繼續沿男性容器這條線切分。我想問的另一個問題是每位乘客的艙等。透過我們的劃分,現在,所有乘客中有14%是下等艙(且是男性),而50%是男性且是另外兩個較高級的艙等(共有三種艙等)。同個問題切分也能在樹的女性分支中繼續。我們可以看到,決策樹算法將性別分為兩個分支,因為只有兩個可能的值(男或女)。但是若是要區分艙等,他只能將一個艙等區分到左側,而另外兩個艙等分支劃為右側。
(待更)
若是覺得本文有幫助,歡迎點選Like、星星收藏或是追蹤系列文支持哦!