決策樹學習

決策樹學習

統計學,數據挖掘機器學習中的決策樹訓練,使用決策樹作為預測模型來預測樣本的類標。這種決策樹也稱作分類樹或回歸樹。在這些樹的結構里,葉子節點給出類標而內部節點代表某個屬性。

在決策分析中,一棵決策樹可以明確地表達決策的過程。在數據挖掘中,一棵決策樹表達的是數據而不是決策。

基本介紹

  • 中文名:決策樹學習
  • 領域:數據挖掘、機器學習
推廣,決策樹的類型,模型表達式,基尼不純度指標,信息增益,決策樹的優點,缺點,延伸,決策圖,用演化算法來搜尋,

推廣

數據挖掘決策樹訓練是一個常用的方法。目標是創建一個模型來預測樣本的目標值。例如圖1。每個內部節點 對應於一個輸入屬性,子節點代表父節點的屬性的可能取值。每個葉子節點代表輸入屬性得到的可能輸出值。
決策樹學習
圖1 一個描述鐵達尼號上乘客生存的決策樹
一棵樹的訓練過程為:根據一個指標,分裂訓練集為幾個子集。這個過程不斷的在產生的子集裡重複遞歸進行,即遞歸分割。當一個訓練子集的類標都相同時 遞歸停止。這種決策樹的自頂向下歸納 (TDITD) 是貪心算法的一種, 也是當前為止最為常用的一種訓練方法。
數據以如下方式表示:
其中Y是目標值,向量x由這些屬性構成, x1, x2, x3 等等,用來得到目標值。

決策樹的類型

在數據挖掘中,決策樹主要有兩種類型:
  • 分類樹的輸出是樣本的類標。
  • 回歸樹的輸出是一個實數 (例如房子的價格,病人待在醫院的時間等)。
術語分類和回歸樹 (CART) 包含了上述兩種決策樹, 最先由Breiman 等提出。分類樹和回歸樹有些共同點和不同點—例如處理在何處分裂的問題。
有些集成的方法產生多棵樹:
  • 裝袋算法(Bagging), 是一個早期的集成方法,用有放回抽樣法來訓練多棵決策樹,最終結果用投票法產生。
  • 隨機森林(Random Forest) 使用多棵決策樹來改進分類性能。
  • 提升樹(Boosting Tree) 可以用來做回歸分析和分類決策。
  • 旋轉森林(Rotation forest) – 每棵樹的訓練首先使用主元分析法 (PCA)。
還有其他很多決策樹算法,常見的有:
  • CHi-squared Automatic Interaction Detector (CHAID), 在生成樹的過程中用多層分裂。
  • MARS可以更好的處理數值型數據。

模型表達式

構建決策樹時通常採用自上而下的方法,在每一步選擇一個最好的屬性來分裂。"最好" 的定義是使得子節點中的訓練集儘量的純。不同的算法使用不同的指標來定義"最好"。本部分介紹一些最常見的指標。

基尼不純度指標

在CART算法中, 基尼不純度表示一個隨機選中的樣本在子集中被分錯的可能性。基尼不純度為這個樣本被選中的機率乘以它被分錯的機率。當一個節點中所有樣本都是一個類時,基尼不純度為零。
假設y的可能取值為{1, 2, ..., m},令
是樣本被賦予i的機率,則基尼指數可以通過如下計算:

信息增益

ID3C4.5 和C5.0決策樹的生成使用信息增益。信息增益 是基於資訊理論中信息熵的理論。

決策樹的優點

與其他的數據挖掘算法相比,決策樹有許多優點:
  • 易於理解和解釋 人們很容易理解決策樹的意義。
  • 只需很少的數據準備 其他技術往往需要數據歸一化。
  • 即可以處理數值型數據也可以處理類別型 數據。其他技術往往只能處理一種數據類型。例如關聯規則只能處理類別型的而神經網路只能處理數值型的數據。
  • 使用白箱 模型. 輸出結果容易通過模型的結構來解釋。而神經網路是黑箱模型,很難解釋輸出的結果。
  • 可以通過測試集來驗證模型的性能 。可以考慮模型的穩定性。
  • 強健控制. 對噪聲處理有好的強健性。
  • 可以很好的處理大規模數據 。

缺點

  • 訓練一棵最優的決策樹是一個完全NP問題。因此, 實際套用時決策樹的訓練採用啟發式搜尋算法例如 貪心算法 來達到局部最優。這樣的算法沒辦法得到最優的決策樹。
  • 決策樹創建的過度複雜會導致無法很好的預測訓練集之外的數據。這稱作過擬合。 剪枝機制可以避免這種問題。
  • 有些問題決策樹沒辦法很好的解決,例如 異或問題。解決這種問題的時候,決策樹會變得過大。 要解決這種問題,只能改變問題的領域或者使用其他更為耗時的學習算法 (例如統計關係學習 或者 歸納邏輯編程).
  • 對那些有類別型屬性的數據, 信息增益 會有一定的偏置。

延伸

決策圖

在決策樹中, 從根節點到葉節點的路徑採用匯合或與。 而在決策圖中, 可以採用 最小訊息長度 (MML)來匯合兩條或多條路徑。

用演化算法來搜尋

演化算法可以用來避免局部最優的問題。

相關詞條

熱門詞條

聯絡我們