機器學習 決策樹演算法詳解

2021-08-27 20:35:13 字數 1776 閱讀 5902

ai學習一直在繼續。

最近研究了機器學習中的經典演算法——決策樹,決策樹主要用於分類,通過對樣本的各個屬性進行判斷,最終對屬性做出決策。可以通過各屬性,畫出最終的決策樹。

決策樹的生成是乙個遞迴的過程,有以下三種情況:

(1)當前節點包含的樣本全屬於乙個類別,無需劃分;

(2)當前屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分;

(3)當前節點包含的樣本集合為空,不能劃分;

決策樹演算法中較為基礎的為id3演算法,id3演算法主要是通過資訊增益對決策樹進行劃分,下面介紹資訊增益的概念。

資訊增益(information gain)

資訊熵(information entropy)是度量樣本集合純度最常見的一種指標。假定當前樣本集合d中第k類樣本所佔的比例為

資訊增益則是資料集劃分前和劃分後資訊熵發生的

變化,資料劃分前資訊熵是固定的。

資訊增益 = 劃分前的資訊熵 - 劃分後的資訊熵

假定離散屬性a有v個可能的取值,a^,...a^}" class="mathcode" src=""/>},若使用a來對樣本集d進行劃分,則會產生v個分支節點,其中第v個分支節點包含了d中所有在屬性a上取值為

一般而言,資訊增益越大,則意味著使用屬性a來進行劃分所獲得的純度提公升最大,因此,可用資訊增益來進行決策樹的劃分屬性選擇。

下面以西瓜資料集舉例說明決策樹的生成。

劃分前的資訊熵為

以色澤為例,它有三個取值

,對該屬性進行劃分,可得到

3個子集。

d1(色澤

=青綠),

d2(色澤

=烏黑),

d3(色澤

=淺白)

劃分後的資訊熵為

則資訊增益為

因此選擇「紋理」作為根節點

以此類推,當(紋理

=清晰)時,分別有屬性

,來計算左邊子樹。 以

為例,做進一步劃分。該結點包含的樣本集d為

,屬性包括

分別計算出資訊增益為:

可以看出「色澤」,「臍部」,「觸感」

3個屬性均取得了最大的資訊增益,可任意選取其中之一作為屬性劃分。最終可得到有圖的決策樹。測試時則根據提供西瓜的上述屬性,可判斷西瓜的好壞。

最終畫出的決策樹如下

id3演算法優點: 1

)簡單直觀,生成的決策樹很直觀。 

2)基本不需要預處理,不需要提前歸一化,處理缺失值。

侷限性: 1

)決策樹演算法非常容易過擬合,導致泛化能力不強。2

)決策樹會因為樣本發生一點點的改動,就會導致樹結構的劇烈改變

機器學習演算法 決策樹

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

機器學習演算法 決策樹

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

機器學習演算法 決策樹

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