- 決策樹是一種基本的分類與迴歸方法
- 以下內容討論用於分類的決策樹,是由訓練數據集估計條件概率的模型
- 在學習時,利用訓練數據,根據損失函數最小化的原則建立決策樹,模型
- 在預測時,對新的數據,利用決策樹模型進行分類
- 決策樹學習通常包含3個步驟:特徵選擇,決策樹的生成和決策樹的修剪
決策樹模型與學習
決策樹模型
- 決策樹由結點(node)和有向邊(directed edge)組成。結點分爲:內部結點(internal node)和葉結點(leaf node)。內部結點表示一個特徵或屬性,葉節點表示一個類。
決策樹與條件概率分佈
- 決策樹海表示給定特徵條件下類的條件概率分佈。這一條件概率分佈定義在特徵空間的一個劃分(partition)上,將特徵空間劃爲互不相交的單元(cell)或區域(region),並在每一個單元定義一個類的概率分佈就構成了一個條件概率分佈。
決策樹學習
- 決策樹的學習用損失函數,該損失函數通常是正則化的極大似然函數。決策樹學習的策略是在損失函數爲目標函數的最小化
- 當損失函數確定後,學習問題就變爲在損失函數意義下選擇最優決策樹的問題。從所有可能的決策樹中選擇最優決策樹是NP完全問題。所以現實中決策樹學習算法通常採用啓發式方法,近似求解這一最優化問題。這一得到的決策樹是次最優(sub-optimal)的。
- 由於決策樹表示一個條件概率分佈,所以深淺不同的決策樹對應着不同複雜度的概率模型。決策樹的生成對應於模型的局部選擇,決策樹的剪枝對應於模型的全局選擇,決策樹的生成值考慮局部最優,而決策樹的剪枝則考慮全局最優。
特徵選擇
信息增益
- 在信息論與概率統計中,熵(entropy)是表示隨機變量不確定性的度量。設X是一個取有限個值的離散隨機變量,其概率分佈爲:
P(X=xi)=pi,i=1,2,...,n
則隨機變量 X 的熵的定義爲:
H(X)=−∑i=1npi logpi - 熵越大,隨機變量的不確定性就越大。由定義可知,熵只依賴X 的分佈,而與X 的取值無關。
- 對數以 2 爲底或以 e 爲底,此時熵的單位分別稱爲 比特(bit) 或 納特(nat)
- 條件熵(conditional entropy) H(Y|X) 表示在已知隨機變量X的條件下隨機變量Y的不確定性。定義爲X給定條件下Y的條件概率分佈的熵對 X 的數學期望:
H(Y|X)=∑i=1npiH(Y|X=xi)
- 這裏,
pi=P(X=xi)
- 這裏,
- 當熵和條件熵中的概率由數據估計(特別是極大似然估計)得到時,所對應的熵和條件熵分別稱爲經驗熵(empirical entropy)和經驗條件熵(empirical conditional entropy)
- 信息增益(information gain)表示得知特徵X的信息而使得類Y的信息不確定性減少的程度
- 信息增益 定義:特徵A對訓練數據集D的信息增益g(D,A) ,定義爲集合D的經驗熵H(D)與特徵A給定條件下 D 的經驗條件熵 H(D|A) 之差:
g(D,A)=H(D)−H(D|A)
- 一般來說,熵H(Y)與條件熵H(Y|X) 之差稱爲互信息(mutual information)
- 決策樹學習中的信息增益等價於訓練數據集中類與特徵的互信息。
- 根據信息增益準則的特徵選擇方法是:對訓練數據集D,計算其每個特徵的信息增益,並比較他們的大小,選擇信息增益最大的特徵。
信息增益比
特徵 A 對訓練數據集 D 的信息增益比
決策樹的生成
ID3算法
- 核心: 在決策樹各個結點上應用信息增益準則選擇特徵,遞歸構建決策樹。
- 具體方法:從根節點開始,對結點計算所有可能的特徵的信息增益,選擇信息增益最大的特徵作爲結點的特徵,由該特徵的不同取值建立子節點,再對子節點遞歸調用以上方法,構建決策樹;直到所有特徵的信息增益均很小或沒有特徵可以選擇爲止。
- 相當於用極大似然法進行概率模型的選擇。
- ID3算法只有樹的生成,所以該算法生成的樹容易產生過擬合。
C4.5算法
- 改進版的 ID3 算法:用信息增益比來選擇特徵。
決策樹的剪枝
- 在決策樹學習中將已生成的樹進行簡化的過程稱爲剪枝(pruning)
- 即:從已生成的樹上裁剪掉一些子樹或葉節點,並將其根節點或父節點作爲新的葉節點,從而簡化分類模型。
- 決策樹的剪枝往往通過極小化決策樹整體的損失函數或代價函數來實現。
CART 算法
- 分類與迴歸樹(classification and regression tree, CART)
- 是在給定輸入隨機變量 X 條件下輸出隨機變量 Y 的條件概率分佈的學習方法
- 該方法假設決策樹是二叉樹,內部節點特徵的取值爲 是 和 否,左分支是取值爲 是 的分支,右分支是取值爲 否 的分支。
- 用基尼(gini)指數來選擇特徵,選擇基尼指數最小的