機器學習 決策樹

2021-07-23 04:32:36 字數 2531 閱讀 3533

我覺得決策樹是機器學習所有演算法中最可愛的了……沒有那麼多複雜的數學公式哈哈~下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜:

決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決策結果,其他節點都是屬性測試。決策樹學習的目的是產生一棵泛化能力強,處理未見示例能力強的決策樹模型。

決策樹基本演算法過程如下(乙個遞迴演算法):

三種情況會導致遞迴返回(也就是成功判斷了類別):1)當前結點包含的樣本屬於同類別,不需要再劃分;2)當前屬性集為空,或是所有樣本在屬性上取值相同,無法劃分;3)當前按節點包含的樣本集合為空,不能劃分。

決策樹的關鍵是:如何選擇最好劃分。如何選擇劃分屬性使得決策樹包含的分支節點盡可能屬於同類,即結點的「純度「越來越高。下面介紹衡量標準。

資訊熵是度量樣本集合純度的最常用指標。假設樣本集合d分類最終結果有k類,第i類所佔比例為p [i],則d的資訊熵為

ent(d)越小,說明樣本混亂程度越低,d的純度越高,最小值為0 。

如果離散屬性a有v個可能取值,如果使用a來對樣本d進行劃分,則會產生v個分支節點,其中第i個分支節點包含d中所有在屬性a上取值為ai的樣本,記作di。根據公式(1)計算出di的資訊熵,由於不同分支節點包含的樣本數量不同,分支節點權重為 |di| / |d|,由此可以計算出用屬性a對樣本集d進行劃分的資訊增益,即計算出資訊熵改變的值(減小的值)。

一般來說,資訊增益越大,意味著使用屬性a來進行劃分得到的」純度提公升「越大。對每乙個屬性計算其資訊增益,選擇資訊增益最大的屬性作為當前劃分依據。看到最上面那棵決策樹,選擇紋理做為劃分屬性之後形成3個分支,在每個分支下繼續劃分時只要在當前範圍內考慮。舉個例子,在紋理=清晰的分支中,把所有紋理為清晰的樣本作為新的樣本空間d1,再次計算d1的資訊熵,以及其他屬性在d1的資訊增益,找到此時最大的資訊增益屬性作為劃分。以此類推直到判斷出類別。id3決策樹演算法就是以資訊增益為準則來選擇劃分屬性。

事實上,取值數目較多的屬性可能資訊增益會較大。為減少這種偏好帶來的不利影響,c4.5決策樹演算法不直接用資訊增益啦選擇最佳屬性劃分,而是使用資訊增益率

iv(a)稱為屬性a的固有值,一般a的取值數量v越大,iv(a)越大。計算的是樣本在屬性a上的增益值。

要注意的是,增益率可能對取值數目少的屬性有所偏好。c4.5演算法通常先從屬性中找出資訊增益高於平均水平的屬性,再從中選出增益率最高的屬性。

決策樹學習的過程中,為了盡可能正確分類樣本,節點劃分過程不斷重複,有時候會造成訓練樣本學得太好了,把訓練集自身一些特點當作所有資料的性質,從而導致在測試集的表現並不好,泛化能力差,這種就叫做過擬合。因此,可以通過去掉一些決策樹分支來降低過擬合風險,這就是剪枝

剪枝的策略有兩種:預剪枝和後剪枝。預剪枝是在決策樹生成過程中對每個節點在劃分前進行估計,如果當前劃分並不能使得決策樹泛化效能提公升,就停止當前劃分並把當前結點標記為葉節點。後剪枝是先生成一棵完整的決策樹,然後自底向上對非葉節點進行計算,如果該節點對應的子樹替換為葉節點能帶來決策樹泛化效能提公升,測把該子節點替換為葉節點。

評估決策樹效能可以使用分類正確率,也就是訓練集中被分類正確的樣本佔當前集合的比率。在考察某個節點時,把這個節點下的子樹看作乙個單節點決策樹,從而計算出劃分後的分類正確率。再計算不採用該節點劃分時分類正確率,如果不採用該節點的分了正確率更高,那麼此時這個節點就可以剪枝了。如果兩種情況下分類正確率差別不大,那麼建議不剪枝,因為分類屬性過少有可能造成欠擬合,也就是得到的分類模型太泛了,精確度不夠。

第乙個圖為欠擬合,第二個模型比較理想,第三個為過擬合。

多變數決策樹是:非葉節點不僅僅是某個屬性,而是對屬性線性組合而產生的分類依據。也就是說每個非葉節點是乙個線性分類器。多變數決策樹學習過程中,不是為每個非葉節點尋找乙個最優劃分屬性,而是建立乙個合適的線性分類器。下圖是乙個多變數決策樹

很多內容都是參考周志華的《機器學習》寫的啦,我就是個小菜鳥~

以上 歡迎指正錯誤 共同學習

chely

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...

機器學習 決策樹

一 演算法簡介 決策樹一般都是自上而下來生成的,每個決策後事件 即自然狀態 都可能引出兩個或多個事件,導致結果的不同,把這種結構分支畫成形狀很像一棵樹的枝幹,故稱為決策樹。決策樹能夠讀取資料集合,並且決策樹很多任務都是為了資料中所蘊含的知識資訊,因此決策樹可以使用不熟悉的資料集合,並從中提取一系列規...

機器學習 決策樹

一 理論 ref3 chapter 9 ref1 chapter 4 1.總是搞不清幾種決策樹的名字 名字 劃分選擇 id3 資訊增益 c4.5 增益率 與id3類似,校正了id3偏向於選擇取值較多的特徵的問題 cart 基尼係數 學的是二叉樹,用於 回歸 如最小二乘回歸樹 分類 2.決策樹學習三個...