統計學習
本次我們對另一種基本的分類和回歸方法進行介紹,決策樹。決策樹模型是樹形結構,在分類問題中,表示基於特徵對例項進行分類的過程。學習過程中,利用訓練資料,根據損失函式最小化的原則建立決策樹模型。**時,對新的資料,利用決策樹模型進行分類。決策樹學習包括三個步驟:特徵選擇,決策樹生成和決策樹修剪。我們會在本篇對幾種優秀的演算法思想進行討論,包括id3演算法,c4.5演算法,以及cart演算法。
分類決策樹模型是一種描述對例項進行分類的樹形結構,由結點和有向邊組成。結點分為內部結點和葉結點,內部結點表示乙個特徵或屬性,葉結點表示乙個類。用決策樹分類時,從根結點開始,對例項的某一特徵進行測試,根據測試結果將例項分配到子結點中,每個子結點對應該特徵的乙個取值,如此遞迴的對例項進行測試和分類,直至到達葉結點,將例項分到葉結點的類中。這種模型分類思想很容易理解,由根結點到葉結點的每一條路徑構建一條規則,路徑上內部結點的特徵對應著規則的條件,葉結點對應規則的結論。因此每個例項都被一條路徑或一條規則所覆蓋,而且只被一條路徑或一條規則所覆蓋。
對於輸入例項xi=(xi
(1),xi
(2), ...,xi
(n)),n為特徵維度,訓練資料集為d=。學習的目的是根據資料集建立決策樹模型,使它對例項進行正確的分類。學習本質上是從訓練資料集中出一組分類規則,與訓練資料集不相矛盾的決策樹可能有多個或者沒有,我們需要找到的是存在矛盾最小,並且有很好泛化能力的模型。 為了達到這一目的,我們採用損失函式進行度量,通常採用正則化的極大似然函式,使其為目標函式的最小化。
決策樹的學習演算法通常是乙個遞迴的選擇最優特徵,並根據該特徵對訓練資料進行分割,使得對各個子資料集有乙個最好的分類過程。開始建立根結點,將所有資料放在根結點,選擇乙個最優特徵,按照這一特徵將訓練資料集分割成子集,使得各個子集都是在當前條件下的最優分類。如果這些子集已經能夠被基本正確分類,則建立葉結點儲存這些資料。如果不能被正確分類,則在子集中選取最優特徵,繼續對其進行分割,構造相應結點,如此遞迴,直至所有子集都被正確分割。最終每個子集都被分配到葉結點上,即都有明確類,這樣就生成了一棵決策樹。
如此生成的決策樹可能對訓練資料集有著很好的分類能力,但對未知資料的**能力未必很好,即會發生過學習現象,而失去較好的泛化能力。為了改善這種情況,我們需要對生成樹進行由下至上的剪枝,使樹變得簡單,從而增強其泛化能力。具體做法就是去掉過於細分的葉結點,使其回退並歸入父結點甚至更高的結點。
接下來,我們將對前面提到的演算法中幾個關鍵點進行討論,最優特徵的選擇,決策樹的生成以及決策樹的剪枝,並結合常用演算法id3,c4.5,cart加以分析。
特徵選擇問題是乙個關鍵問題,選取具有代表性的特徵可以提高決策學習的效率。如果存在某些特徵,利用這些特徵進行分類的結果與隨機分類的結果相差不大時,這時認為這個特徵不具有分類能力,是可以捨棄掉的。通常使用資訊增益做為衡量特徵價值的標準。特徵a對訓練資料集d的資訊增益g(d,a),定義為集合d的經驗熵h(d)與在特徵a給定條件下d的經驗條件熵h(d|a)之差,即
g(d,a)=h(d)-h(d|a)
資訊增益表示訓練資料集中類與特徵的互資訊,代表由於特徵a給定的條件下,對資料集d的分類不確定性減少的程度。顯然,對於不同的特徵,資訊增益不同,資訊增益大的特徵具有更強的分類能力。因此,對於訓練資料集d,計算其每個特徵的資訊增益,並比較它們的大小,選擇增益最大的特徵,這就是我們採用的特徵選擇方法。資訊增益值的大小是相對於訓練資料集而言的,並沒有絕對意義,在分類情況困難時,也就是說在訓練資料集的經驗熵大的時候,資訊增益值也會偏大,反之相反。為解決這個問題,我們可以採用資訊增益比
gr(d,a)= h(d|a)/h(d)
來對這個問題進行校正。
對於決策樹的生成演算法主要有id3和c4.5。id3演算法的核心就是在決策樹的各個結點上應用資訊增益準則選擇特徵,遞迴的構建決策樹。具體方法是:從根結點開始,計算每個可能特徵的資訊增益,選取最大資訊增益的特徵對作為該結點特徵,根據此特徵對資料進行分類,以此建立不同子結點。對各個子結點遞迴的使用此方法構建決策樹,直至所有特徵增益都很小(小於閾值)或沒有特徵可選擇時為止,最終完成決策樹的構建。id3相當於極大似然法進行概率模型選擇。c4.5演算法思想與id3相同,但改進採用資訊增益比最大代替資訊增益最大來選取特徵。
決策樹的生成演算法遞迴的產生了決策樹,直至不能繼續下去,但是這樣產生的樹往往對訓練資料分類的很好,但是對未知資料的**效果卻沒有那麼準確,即發生過學習現象,這是因為在學習過程中過多的考慮了訓練資料的正確性,因而生成的決策樹過於複雜。為了解決這個問題,所以考慮決策樹的複雜度,對生成決策樹進行簡化。簡化過程是從已生成樹上裁掉一些子樹或葉結點,並歸入其根結點或父結點作為新的結點,這個過程稱為剪枝。剪枝過程基於極小化決策樹的損失函式或代價函式。
ca(t)=c(t)+a|t|
c(t)為模型對訓練資料集的**誤差,即模型與訓練資料的擬合程度,|t|為模型複雜度,引數a>=0控制影響程度。較小的a促使選擇較複雜的樹,較大的a促使選擇較簡單的樹,a=0表示僅考慮與訓練資料的擬合程度而忽略樹的複雜程度。當a確定時,選擇使損失函式最小的模型,就是剪枝。
由此可見,決策樹的生成過程只考慮了提高資訊增益或資訊增益比,使模型對訓練資料進行更好擬合。剪枝過程通過優化損失函式還考慮減小模型複雜度提高模型的泛化性。
機器學習(統計學習方法)4
生活有懶散,而我仍拖懶 day 4 監督學習方法可以分為 生成方法與判別方法,與此對應生成模型與判別模型。生成方法即由資料學習聯合概率分布 p x,y 再由概率條件分布 p y x 作為 的模型,即是生成模型 之所以命名為生成方法,是因為模型給出了輸入x產生輸出y的生成關係。典型的生成模型有 樸素貝...
統計學習 統計學習三要素
模型是所要學習的條件概率分布或者決策函式。統計學習的目的在於從假設空間中選取最優模型。故需要引入損失函式與風險函式。損失函式 衡量模型一次 的好壞。風險函式 衡量平均意義模型 的好壞。l y,f x begin 1,y neq f x 0,y f x end l y,f x y f x 2 l y,...
統計學習及監督學習概論(4)
統計學習方法 第二版 1.6 1.8 用學到的模型 hat f 對未知資料 的誤差即為泛化誤差 generalization error 泛化誤差反映了學習方法的泛化能力。事實上,泛化誤差就是所學習到的模型的期望風險。泛化誤差上界 generalization error bound 性質 是樣本容...