【Abee】喫掉西瓜——西瓜書學習筆記(三)

決策樹(decision tree)

目錄

【內容包含 第四章】

基本流程

信息增益(information gain)

剪枝處理(pruning)

連續值處理

缺失值處理

多變量決策樹


基本流程

決策樹(decision tree)基於樹狀結構進行判定,基本流程遵循“分而治之”(divide-and-conquer)策略。

決策樹基本流程

作圖好累(doge

A\{a*}的意思是在集合A中把a*元素去掉

 


信息增益(information gain)

信息熵(information entropy)是一種常用的度量樣本集合純度的指標,假定當前樣本集合D中第k類樣本所佔比例 p_{k},則D的信息熵爲

                                                                                Ent(D)=-\sum_{k=1}^{|\gamma |}p_{k}log_{2}p_{k}

離散屬性a有V個可能取值,若使用a對樣本進行劃分,會產生V個分支節點,第v個分支節點包含了D中在a屬性裏取值爲 a^{v} 的樣本,記爲D^{v},可以根據上式算出D^{v}的信息熵,再考慮不同分支節點的樣本數,對這個值進行加權,可以得到以屬性a分類對樣本集D的信息增益。

                                                                   Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Ent(D^{v})

信息增益越大,意味着劃分後的集合純度越高,也就意味着屬性a越好。

                                                                                 a_{*}=arg maxGain(D,a)

ID3決策樹算法[Quinlan,1986] 就是以 信息增益 爲準則選擇劃分屬性的。

書裏關於西瓜好壞劃分的例子非常棒!建議全篇背誦!(誤

C4.5決策樹算法[Quinlan,1993] 考慮到信息增益會偏向取值較多的屬性,採用 增益率(gain ratio)作爲選擇標準。

增益率定義爲

                                                                          GainRatio(D,a)=\frac{Gain(D,a)}{IV(a)}

                                                                            IV(a)=-\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}log_{2}\frac{\left | D^{v} \right |}{\left | D \right |}

CART決策樹算法[Breiman et al,1984]  使用基尼係數(Gini index)選擇劃分屬性。

基尼係數爲

                                                                              Gini(D)=\sum_{k=1}^{\left |\gamma \right |}\sum_{k'\neq k }^{.}p_{k}p_{k'}

反映了數據集D中隨機抽取兩個樣本,類別標記不一致的概率

                                                                  GiniIndex(D,a)=\sum_{v=1}^{V}\frac{\left | D^{v} \right |}{\left | D \right |}Gini(D^{v})

 


剪枝處理(pruning)

爲了解決決策樹中過擬合的部分,需要採取剪枝處理。

預剪枝:在每個節點劃分前進行估計,若不能帶來泛化性能提升,則停止劃分

後剪枝:生成完整決策樹後,自底而上對非葉節點進行討論,若子樹能被葉節點代替,就替換葉節點

這兩個操作都需要準備驗證集,後剪枝比起預剪枝能保留更多的分支,欠擬合風險較低,缺點是訓練時間開銷較大。

 


連續值處理

C4.5決策樹算法[Quinlan,1993]  中對連續值的處理方式是利用二分法(bi-partition)將連續屬性離散化。即在候選劃分點分別計算信息增益,選擇信息增益最大的點作爲劃分點。

 

缺失值處理

由於部分數據可能存在缺失,而劃分屬性的時候顯然只有有值的部分才能參與評判。分別計算出無缺失樣本所佔的比例\rho,無缺失樣本中第k類的比例\tilde{p_{k}},無缺失樣本在屬性a中取值爲a^{v}的樣本所佔的比例\tilde{r_{v}},此時信息增益的計算方式爲

                                                        Gain(D,a)=\rho \times (Ent(\tilde{D})-\sum_{v=1}^{V}\tilde{r_{v}}Ent(\tilde{D^{v}}))

當樣例在屬性a上缺失時,以訓練集中該類別的不同值佔比的比例爲概率進入所有子分支

 


多變量決策樹

單變量,即每個葉節點以單屬性的決策樹,在圖像角度體現是和座標軸平行的直線(多維的話也是類似的概念)。多變量決策樹就是把葉節點變成一個線性分類器,形如

                                                                        \sum_{i=1}^{d}w_{i}a_{i}=t

其中w指a屬性的權重,w和t可以在訓練集中學習。

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章