1. 程式人生 > >統計學習五:1.決策樹基本概念

統計學習五:1.決策樹基本概念

目的 條件概率 給定 條件 復雜 操作 噪聲 節點 要求

全文引用自《統計學習方法》(李航)

決策樹(decision tree) 是一種常用的分類與回歸方法。決策樹的模型為樹形結構,在針對分類問題時,實際上就是針對輸入數據的各個特征對實例進行分類的過程,即通過樹形結構的模型,在每一層級上對特征值進行判斷,進而到達決策樹葉子節點,即完成分類過程。
決策樹的主要優點是模型的可讀性較強,分類的速度快。在學習時,主要利用訓練數據,根據損失函數最小化原則去構建決策樹;在預測時,通過決策樹對輸入數據進行分類。
決策樹的學習過程主要分為三步,即特征選擇、決策樹的生成、決策樹的剪枝。這些決策樹學習的主要思想,來源於Quinlan在1986N年提出的ID3算法和1993年提出的C4.5算法。同樣,Breiman等人也在1984年提出CART算法。
本文主要介紹決策樹的基本原理和其中涉及到概念,在以後介紹決策樹的特征選擇,ID3及C4.5等算法以及決策樹的生成和剪枝等操作。

1. 決策樹模型和學習

1.1 決策樹模型的定義

分類決策樹模型是指一種描述對實例進行分類的樹形結構模型。決策樹由節點和有向邊組成,節點分為內部節點和葉節點,內部節點表示訓練數據的某個屬性或特征,用以進行分類決策,葉節點表示某種具體的類。
決策樹的分類過程,就是從根節點開始,對輸入實例的某一個特征進行測試,根據測試的結果選擇進入哪一個子節點,而此子節點又代表了對該特征的取值。此時遞歸地進行測試和選擇,直到到達葉節點。最後,葉節點所代表的類就是該實例的分類結果。

1.2 決策樹與if-then規則

在理解決策樹模型時,可以將決策樹看成一組if-then規則的集合。將決策樹轉化為if-then規則集合,就是去搜索決策樹上由根節點到所有葉子節點的所有路徑,每一條路徑就代表了一條規則。而路徑上的內部節點,就對應著對該節點上特征的判斷,而葉節點的類就代表了該條路徑對應的規則。
通過決策樹與if-then規則集合的轉化,我們可以看出,決策樹具有如下性質:

  • 每個實例都有且只有一條路徑可以從決策樹的根節點到達葉子節點
  • 決策樹的每個內部節點對實例特征的判斷都是互斥的,即實例在判斷出到達一個子節點時,不可能存在到達另一子節點所代表的子樹上。
1.3 決策樹與條件概率分布

決策樹模型還可以表示在給定的特征條件下,類的條件概率分布。類的條件概率分布可以表示為對特征空間的一種劃分。將特征空間根據各個特征值不斷進行劃分,就將特征空間分為了多個不相交的單元,在每個單元上定義一個類的概率分布,這樣,這條由根節點到達葉節點的路徑就成了一個條件概率分布。假設X表示特征的隨機變量,Y表示類的隨機變量,那麽這個條件概率可以表示為$P(Y|X)$,根據輸入的實例,由路徑找到對應單元的各個類的條件概率,並將該輸入實例分為條件概率最大的一類中,就可以完成對實例的分類。

1.4 決策樹的學習

決策樹的學習目的是根據訓練數據集構建一棵決策樹模型,使它能夠對新輸入的實例進行正確的分類。
從if-then規則集的角度看待決策樹,其學習的本質就是從訓練數據集中歸納出一組分類規則。這組規則可能完美符合訓練集的所有數據,也可能與訓練集中的少數實例點相矛盾,而矛盾的點,我們就可以將其看做訓練集中的噪聲點。
從條件概率的角度看待決策樹,其學習的本質就是從訓練集中找出一個符合要求的估計條件概率模型。由於基於特征空間劃分的類的條件概率模型理論上由無窮多個,因此學習的過程就是去尋找一個不僅對訓練數據有很好的擬合效果,對測試數據也具有很好的預測能力的條件概率模型。
決策樹學習用損失函數來表示學習的目標,其損失函數通常是正則化的極大似然函數,學習的策略就是以損失函數為目標函數的最小化。當損失函數確定時,模型的學習就轉換為在損失函數意義下選擇最優決策樹的問題。
決策樹學習算法通常是一種遞歸地進行最優特征選擇,並根據所選擇的特征對訓練數據集進行劃分,並進行樹的構建的過程。具體的過程如下:

  1. 構建根節點,將所有數據放在根節點,選擇一個最優的特征,按照這一特征將訓練數據集劃分為多個子集;
  2. 判斷若一個子集中的所有實例均為一類,即通過根節點所選的特征值已經能夠將此部分數據正確分類,那麽就構建一個葉節點;
  3. 判斷若一個子集中的實例不能夠被正確分類,那麽遞歸地對這些子集進行選擇最優特征,並進行分類,構建相應節點,不斷遞歸下去,直到所劃分的子集能夠被正確分類並構建出葉子節點為止。

通過以上過程,就可以構建出一棵對訓練數據有很好的分類能力的決策樹
以上構建的決策樹,對訓練數據分類效果很好,但通常對未知的數據並沒有很好的分類能力,即泛化能力較差,容易產生過擬合。為此,可以對生成的數據進行剪枝,去掉過於細分的葉節點,使其退回到父節點,甚至更高的節點,並將父節點或更高的節點作為葉節點。同時,若輸入的訓練數據集特征較多,也可以挑選出對數據分類影響最大的幾類特征作為分類特征,從而減小決策樹的復雜度。
由以上可以看出,決策樹的學習過程主要分為特征選擇、決策樹的生成和決策樹的剪枝。決策樹可以看做為一個條件概率模型,因此決策樹的深度就代表了模型的復雜度,決策樹的生成代表了尋找局部最優模型,決策樹的剪枝代表了尋找全局最優模型。

統計學習五:1.決策樹基本概念