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個樣本能...