決策樹(decision tree)
目錄
【內容包含 第四章】
基本流程
決策樹(decision tree)基於樹狀結構進行判定,基本流程遵循“分而治之”(divide-and-conquer)策略。
作圖好累(doge
A\{a*}的意思是在集合A中把a*元素去掉
信息增益(information gain)
信息熵(information entropy)是一種常用的度量樣本集合純度的指標,假定當前樣本集合D中第k類樣本所佔比例 ,則D的信息熵爲
離散屬性a有V個可能取值,若使用a對樣本進行劃分,會產生V個分支節點,第個分支節點包含了D中在a屬性裏取值爲 的樣本,記爲,可以根據上式算出的信息熵,再考慮不同分支節點的樣本數,對這個值進行加權,可以得到以屬性a分類對樣本集D的信息增益。
信息增益越大,意味着劃分後的集合純度越高,也就意味着屬性a越好。
ID3決策樹算法[Quinlan,1986] 就是以 信息增益 爲準則選擇劃分屬性的。
書裏關於西瓜好壞劃分的例子非常棒!建議全篇背誦!(誤
C4.5決策樹算法[Quinlan,1993] 考慮到信息增益會偏向取值較多的屬性,採用 增益率(gain ratio)作爲選擇標準。
增益率定義爲
CART決策樹算法[Breiman et al,1984] 使用基尼係數(Gini index)選擇劃分屬性。
基尼係數爲
反映了數據集D中隨機抽取兩個樣本,類別標記不一致的概率
剪枝處理(pruning)
爲了解決決策樹中過擬合的部分,需要採取剪枝處理。
預剪枝:在每個節點劃分前進行估計,若不能帶來泛化性能提升,則停止劃分
後剪枝:生成完整決策樹後,自底而上對非葉節點進行討論,若子樹能被葉節點代替,就替換葉節點
這兩個操作都需要準備驗證集,後剪枝比起預剪枝能保留更多的分支,欠擬合風險較低,缺點是訓練時間開銷較大。
連續值處理
C4.5決策樹算法[Quinlan,1993] 中對連續值的處理方式是利用二分法(bi-partition)將連續屬性離散化。即在候選劃分點分別計算信息增益,選擇信息增益最大的點作爲劃分點。
缺失值處理
由於部分數據可能存在缺失,而劃分屬性的時候顯然只有有值的部分才能參與評判。分別計算出無缺失樣本所佔的比例,無缺失樣本中第k類的比例,無缺失樣本在屬性a中取值爲的樣本所佔的比例,此時信息增益的計算方式爲
當樣例在屬性a上缺失時,以訓練集中該類別的不同值佔比的比例爲概率進入所有子分支
多變量決策樹
單變量,即每個葉節點以單屬性的決策樹,在圖像角度體現是和座標軸平行的直線(多維的話也是類似的概念)。多變量決策樹就是把葉節點變成一個線性分類器,形如
其中w指a屬性的權重,w和t可以在訓練集中學習。