機器學習筆記4 決策樹

2021-08-21 10:06:48 字數 2306 閱讀 3253

table of contents

問題域模型函式

目標函式

訓練演算法

id3(iterative dichotomiser 3)

c4.5-id3的改進演算法

cart (classification and regression tree ) 優點

缺點及優化方案

分類問題,適合離散型、連續型資料

是乙個樹結構(可以是二叉樹或非二叉樹),每個非葉節點對應乙個特徵,該節點的每個分支代表這個特徵的乙個取值,而每個葉節點存放乙個類別或乙個回歸函式。

得到一顆決策樹,使待測資料按照根節點向下的順序篩選乙個個條件,直到到達葉子為止。到達的葉子所對應的類別就是**結果。

準備若干的訓練資料(假設 m 個樣本);

標明每個樣本預期的類別;

人為選取一些特徵(即決策條件);

為每個訓練樣本對應所有需要的特徵生成相應值——數值化特徵;

將通過上面的1-4步獲得的訓練資料輸入給訓練演算法,訓練演算法通過一定的原則,決定各個特徵的重要性程度,然後按照決策重要性從高到底,生成決策樹。

重要性的判斷原則:使**節點所包含的樣本盡可能屬於同一類別,即節點的純度越來越高。

以資訊增益為度量,選擇**後資訊增益最大的特徵進行**。

資訊熵:度量樣本集合純度最常用的一種指標。它的值越小則集合的純度越高。

資訊增益:選取某個屬性進行劃分,集合的資訊不確定性減少程度。資訊增益越大,意味著選取此屬性進行劃分,集合的純度提公升越大。

id3使用簡單,但有兩個缺點:

1.為了獲取較大的資訊增益,會優先選擇取直種類較多的特徵進行劃分,這樣結果會分得很細。

2.不能處理取值為連續區間的特徵。

c4.5選取了資訊增益率作為重要程度的衡量標準。

資訊增益率:即資訊增益/屬性固有資訊熵。增益率對可取值較少的屬性有所偏好。

解決第二個不足:

c4.5自身問題:

當某一特徵的的乙個取值數量和總數量大小相當時,資訊增益趨於無窮,屬性固有資訊熵趨於0.

c4.5使用了乙個啟發式:先從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中選擇增益率最高的。

1. 選擇 gini 係數最小的特徵作為最優切分點。

2. 它是一顆嚴格的二叉樹,每次**只做二分。

基尼指數:反映了從資料集中隨機抽取兩個樣本,其類別標記不一致的概率,因此,gini越小,資料集純度越高。gini 指數就是基尼係數乘100倍作百分比表示。

其主要優點是模型具有可讀性,分類速度快,易於理解,對中間值缺失不敏感,可以處理不相關特徵資料。

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

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

3)使用決策樹**的代價是o(log2m)。 m為樣本數。

4)既可以處理離散值也可以處理連續值。很多演算法只是專注於離散值或者連續值。

5)可以處理多維度輸出的分類問題。

6)相比於神經網路之類的黑盒分類模型,決策樹在邏輯上可以得到很好的解釋

7)可以交叉驗證的剪枝來選擇模型,從而提高泛化能力。

8) 對於異常點的容錯能力好,健壯性高。

容易產生過擬合

剪枝是決策樹學習演算法對付「過擬合」的主要手段。

預剪枝:

在決策樹生成的過程中,對每個節點在劃分前進行評估,若當前節點的劃分不能帶來決策樹泛化效能的提公升,則停止劃分並將當前節點標記為葉節點。

降低了過擬合的風險,減少了決策樹訓練和測試的時間開銷,也帶來了欠擬合的風險。

後剪枝:

先從訓練集生成一顆完整的決策樹,然後自底向上對非葉節點進行考察,若將該節點對應的子樹替換成葉節點能帶來決策樹泛化性的提公升,則將該子樹替換為葉節點。

欠擬合風險小,泛化效能高於預剪枝決策樹,但訓練時間比未剪枝和預剪枝決策樹大很多。

其他缺點:

1)決策樹演算法非常容易過擬合,導致泛化能力不強。可以通過設定節點最少樣本數量和限制決策樹深度來改進。

2)決策樹會因為樣本發生一點點的改動,就會導致樹結構的劇烈改變。這個可以通過整合學習之類的方法解決。

3)尋找最優的決策樹是乙個np難的問題,我們一般是通過啟發式方法,容易陷入區域性最優。可以通過整合學習之類的方法來改善。

4)有些比較複雜的關係,決策樹很難學習,比如異或。這個就沒有辦法了,一般這種關係可以換神經網路分類方法來解決。

5)如果某些特徵的樣本比例過大,生成決策樹容易偏向於這些特徵。這個可以通過調節樣本權重來改善。

機器學習筆記 決策樹學習

決策樹學習是一種逼近離散值目標函式的方法,在這樣的方法中學習到的函式被表示為一棵決策樹。表示法 把例項從根節點排列到某個葉子節點來分類例項,葉子節點即為例項所屬的分類。樹上的每個節點指定了對例項的某個屬性 attribute 的測試,而且該節點的每個字尾分支相應於該屬性的乙個可能值。分類例項的方法是...

機器學習 決策樹

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

機器學習 決策樹

我覺得決策樹是機器學習所有演算法中最可愛的了 沒有那麼多複雜的數學公式哈哈 下圖是一棵決策樹,用來判斷西瓜是好瓜還是壞瓜 決策過程中提出的每個判定問題都是都對某個屬性的測試,每個測試結果要麼推導出最終結論,要麼匯出進一步判斷的問題,在上次決策結果限定的範圍內做進一步判斷。從上圖可以看出,葉節點對應決...