機器學習6 決策樹演算法概述

2021-09-26 03:42:59 字數 1404 閱讀 7686

本文參考了周志華老師的《機器學習》一書,以及相關部落格【機器學習實戰(三)——決策樹】。

(1)決策樹演算法簡介:

決策樹是一種基本的分類與回歸方法,在分類問題中表示基於特徵對例項進行分類的過程;

決策樹學習的目標是根據給定的訓練集構建乙個決策樹模型,使它能夠對例項進行正確的分類;

決策樹的構建通常有三個步驟:特徵選擇、決策樹生成和決策樹修剪。

(2)決策樹的演算法基礎:

①資訊熵:

資訊熵是度量樣本集合純度最常用的指標,假定當前樣本集合d中第k類樣本所佔的比例為

②資訊增益:

劃分資料集的大原則是:將無序資料變得更加有序,在劃分前後資訊發生的變化稱為資訊增益,獲得資訊增益最高的特徵就是最好的選擇。

假設離散屬性a有v個可能的取值,若使用a對樣本d進行劃分,則會產生v個分支結點,其中第v個分支結點包含了d中所有在屬性a上取值為

一般而言,資訊增益越大,則使用屬性a進行劃分所獲得的「純度提公升「越大。

③id3演算法簡介:

1)id3演算法的核心:

在決策樹各個結點上對應資訊增益準則選擇特徵,遞迴地構建決策樹;

2)id3演算法具體步驟:

從根結點開始,對結點計算所有可能的特徵的資訊增益,選擇資訊增益最大的特徵作為結點特徵;

由該特徵的不同值建立子節點,再對子節點遞迴地呼叫以上方法,構建決策樹,直到所有特徵的資訊增益均很小或沒有特徵可選擇為止;

遞迴處理得到乙個決策樹模型。

(3)決策樹的剪枝:

①目的:

針對決策樹結構過於複雜而產生的過擬合現象。

②剪枝操作簡介:

從已經生成的樹裁掉一些子樹或葉結點,並將其根結點或父結點作為新的葉子結點,從而簡化分類樹的模型。

③剪枝操作的實現原理:

通過最小化決策樹整體的損失函式來實現剪枝操作,決策樹損失函式定義為:

其中,t:表示子樹的葉子結點;

h(t):表示第t個葉子的熵,其中

nt:表示該葉子所含訓練樣例的個數;

在損失函式中:

c(t)表示模型對訓練資料的**誤差,即模型與訓練資料的擬合程度;

④剪枝的具體實現:

決策樹的剪枝過程就是從葉子結點開始遞迴,記其結點將所有子結點回縮後的子樹為tb(分類值取類別比例最大的特徵值),未回縮的子樹記為ta;

如果ca(ta)

其中公式定義的損失函式的極小化等價於正則化的極大似然估計。

機器學習演算法 決策樹

決策樹類似一中策略或者條件選擇,其中各個節點代表選擇條件,各個葉子結點代表可能達到的結果,決策樹 decision tree 是乙個樹結構 可以是二叉樹或非二叉樹 其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就...

機器學習演算法 決策樹

決策樹的使用主要是用於分類。年齡收入 信用是否學生 是否買電腦年輕高 高是是中年 低中否否 老年中低否 是對於一些適合分類的資料中,考慮各種因素對結果的影響大小進行決策,一般是先選取區分度較高的因素。比如說,年齡大小這個因素在很大程度上影響我們的結果 是否買電腦。那麼,年齡因素將作為第乙個決策因素出...

機器學習演算法 決策樹

1 決策樹直觀理解 假設,已知10人房產 婚姻 年收入以及能否償還債務的樣本,那麼第11個人來,知其房產 婚姻 以及年收入情況,問他是否能償還債務?2 前置知識 理解決策樹,我們必須知道一下概念 資訊熵 描述系統的不確定度,熵越高,代表系統越混亂,包含的資訊量也就越多,其公式 例 計算前10個樣本能...