从奥卡姆剃刀定律再看决策树
一、決策樹理論
1、一句話總結決策樹
?? ?
-- 決策樹是一種自上而下,對樣本數據進行樹形分類的過程
-- 由結點和有向邊組成
2、決策樹結點
-- 決策樹結點分為:內部結點、葉子節點
-- 每個內部結點表示一個特征或者屬性
-- 葉節點表示類別
3、決策樹分類過程描述?? ?
-- 從頂部根結點開始,所有樣本聚在一起。
-- 經過根結點的劃分,樣本被分到不同的子結點中。
-- 再根據子結點的特征進一步劃分
-- 直至所有樣本都被 歸到某一個類別(即葉結點)中。
4、決策樹應用?? ??? ?
-- 決策樹為什么再市場營銷和生物醫藥等領域尤其受歡迎
-- 主要因為樹形結構與銷售、診斷 等場景下的決策過程十分相似?? ??? ?
?? ?
二、生成決策樹的三個過程?? ?
【特征選擇】
【樹的構造】
【剪枝】
1、特征選擇
-- ID3:根據每個特征在分類前后的最大信息增益來選擇特征先后順序
? ?-- 某特征信息增益 = 分類前信息熵 - 分類后各個結點條件信息熵之和
-- C4.5:根據每個特征在分類前后的最大信息增益比來選擇特征的先后順序
? ?-- 某特征信息增益比 = 某特征信息增益 / 數據集D關于特征A的取值熵
? ? ? -- 其中Di為特征A取第i個值的樣本子集大小
? ?-- ID3和C4.5都是分類樹,這是因為他們的損失函數不適用于回歸
-- CART:根據特征的最小基尼指數來選擇特征先后順序
? ?-- CART是回歸樹:因為CART損失函數是均方差損失,而且回歸樹一般可以用來做分類
? ?-- 基尼指數中|Ck|表示樣本集合D中屬于第K類的樣本子集個數,這個K是葉子節點的類別數,而不是特征的取值
? ?-- CART樹是一棵二叉樹,假設有一個內部結點A1,值為:1,2,3,則是,單就這個節點而言,每次樣本劃分的方法是:
? ? ? -- {A1 > 1.5 ,A1<1.5} , {A1>2.5 , A1<2.5} ,{A1>3.5 ,A1<3.5} ,切分值為排序后相鄰取值的平均值
? ? ? -- 然后分別算基尼指數,選擇基尼指數最小的切分方法
??? ??? ?這里的Di和其他兩種樹的Di不太一樣,這里的Di不是特征A的具體取值,而是特征A的切分點:
?? ??? ?
-- 為什么強調CART決策樹是二叉樹,這和ID3,C4.5的區別具體在哪里?? ?
? ?-- ID3和C4.5都是基于內部節點的每一個取值來計算信息增益或者信息增益比
? ?-- 所以計算出的是g(D,年齡)這樣的結果(此處以年齡為例)
? ?-- 而CART是二叉樹,所以每次都要二分,二分依據是內部節點的某一個切分點
? ?-- 還是以年齡為例
? ?-- 所以計算出的就是這樣的結果:
? ?-- Gini(D|年齡=老)=0.4, Gini(D|年齡=年輕)=0.4
?? ??? ?
2、比較三個構造準則異同?? ?
1)、C4.5實際上是對ID3的優化
-- 舉一個例子就可以:DNA
-- 每個人的DNA完全不同,但如果按照ID3的邏輯,每次按照DNA進行分類,雖然條件信息熵一定為0,但泛化能力特別差
? ?-- 因為下次碰不到類似的DNA了,這個模型就無法進行分類
-- C4.5使用信息增益比,引入取值熵的概念,所謂取值熵其實就是對選擇取值較多的特征時,加入一個懲罰,增強模型泛化能力
2)、樣本類型區別
-- ID3只能處理離散型變量
-- C4.5可以處理連續變量:通過 連續變量 - 找到類別分割線 -根據分割線將連續屬性轉換為布爾型(比如1,3,4,7,8,可以切分為5以下,5以上) - 布爾型數據即是離散性
-- CART本來就是二叉樹,二叉樹處理連續變量天然優勢
3)、分類與回歸
-- ID3和C4.5只能用于分類任務
-- CART既可以分類,又可以回歸(使用損失函數為:最小平方誤差,最終回歸出的值就是葉子節點中所有樣本標簽的均值)
4)、缺失值問題
-- ID3比較敏感,另外兩個不敏感
5)、特征在層級之間復用問題
-- ID3,C4.5每個特征在層級之間不會復用,CART會復用
6)、ID3、C4.5依賴剪枝來權衡樹的準確性和泛化能力
-- CART會直接利用全部數據發現所有可能樹的結構進行對比(還是二叉樹的特性)"?? ??? ?
3、樹的剪枝?? ?
決策樹的剪枝通常有兩種辦法:
1)、預剪枝:在樹中結點進行擴展之前,先計算當前的劃分是否能帶 來模型泛化能力的提升,如果不能,則不再繼續生長子樹
-- 此時可能存在不同類 別的樣本同時存于結點中,按照多數投票的原則判斷該結點所屬類別
-- 常用預剪枝方法:
? ?-- 樹的深度、當前節點樣本數量閾值、每次分裂對測試集準確度閾值
-- 風險:依賴經驗、容易欠擬合、當前準確率低不一定之后準確率低
2)、后剪枝:是讓算法生成一棵完全生長的決策樹,然后從最底層向上 計算是否剪枝。剪枝過程將子樹刪除,用一個葉子結點替代,該結點的類別同樣 按照多數投票的原則進行判斷
-- 同樣地,后剪枝也可以通過在測試集上的準確率 進行判斷,如果剪枝過后準確率有所提升,則進行剪枝
-- 缺點:開銷大
-- 常見后剪枝方法:錯誤率降低剪枝(Reduced Error Pruning,REP)、悲 觀剪枝(Pessimistic Error Pruning,PEP)、代價復雜度剪枝(Cost Complexity Pruning,CCP)、最小誤差剪枝(Minimum Error Pruning,MEP)、CVP(Critical Value Pruning)、OPP(Optimal Pruning)等方法
?? ??? ?
3)、CCP:代價復雜剪枝?? ?"核心思想還是循環每一個內部節點(子樹序列)
-- 剪枝之后那個子樹用一個葉子節點替代
-- 計算剪枝之后葉子節點t的訓練數據集合誤差R(t)和剪枝之前那個子樹Tt的誤差R(Tt)
-- 考慮樹的復雜性:即是子樹Tt的葉子節點個數
-- 計算誤差增加率α:
-- 然后每步選擇最小的α進行剪枝(α小即是,減掉同樣誤差情況下復雜度大的)
4、剪枝算法在決策樹中的地位?? ?
剪枝比樹的生成過程更為關鍵
對于不同劃分標準生成的過擬合決策樹,在經過剪枝之 后都能保留最重要的屬性劃分,因此最終的性能差距并不大。
-- 理解剪枝方法的理論,在實際應用中根據不同的數據類型、規模,決定使用何種決策樹以及對應的 剪枝策略,靈活變通,找到最優選擇,是本節想要傳達給讀者的思想。
三、簡單既有效
奧卡姆剃刀定律(Occam’s Razor,Ockham’s Razor)?? ?這個原理最簡單的描述是“如 無必要,勿增實體”,即“簡單有效原理”。?? ?ID3,Dropout算法都參照了這個理論來降低模型復雜度?? ??? ?
總結
以上是生活随笔為你收集整理的从奥卡姆剃刀定律再看决策树的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试人员考核办法
- 下一篇: 【UC浏览器】PPC/SP平台7.0正式