人工智慧之機器學習基礎——決策樹(Decision Tree)

z_s_s發表於2024-11-19

決策樹是一種用於分類和迴歸的非引數模型,能夠透過一系列的條件判斷(分裂規則)將輸入資料劃分為子區域,從而完成預測任務。

1. 決策樹的基本結構

決策樹由以下三部分組成:

  1. 根節點(Root Node)
    • 表示整個資料集,最初沒有任何劃分。
  2. 內部節點(Internal Node)
    • 表示一個特定的特徵測試條件(例如:x1>5x_1 > 5x1>5)。
    • 根據測試結果將資料劃分為多個子節點。
  3. 葉節點(Leaf Node)
    • 表示最終的分類或迴歸輸出。
    • 分類任務中,葉節點儲存類別標籤;
    • 迴歸任務中,葉節點儲存預測的值(如平均值)。

決策路徑

  • 從根節點到葉節點的一條路徑,代表了一系列的決策規則。

3. 決策樹的優缺點

3.1 優點

  1. 簡單直觀
    • 決策樹易於理解和解釋,適合視覺化。
  2. 無需特徵縮放
    • 對資料的縮放或標準化不敏感。
  3. 處理非線性關係
    • 決策樹能夠自動劃分非線性邊界。
  4. 多用途
    • 同時適用於分類和迴歸任務。

3.2 缺點

  1. 過擬合
    • 決策樹容易生成過於複雜的樹,從而在訓練集上表現很好,但在測試集上泛化能力較差。
  2. 不穩定性
    • 資料的微小變化可能導致樹結構的顯著變化。
  3. 傾向於劃分較多的特徵
    • 決策樹可能偏好取值範圍多的特徵。

4. 決策樹的正則化方法

為了防止過擬合,可以對決策樹進行正則化:

  1. 最大深度(max_depth)
    • 限制樹的深度,防止樹過於複雜。
  2. 最小樣本分割(min_samples_split)
    • 控制每次分裂所需的最小樣本數。
  3. 最小樣本葉節點(min_samples_leaf)
    • 控制葉節點中的最小樣本數。
  4. 剪枝(Pruning)
    • 後剪枝:先生成完全的樹,再對其進行剪枝;
    • 預剪枝:在構建過程中提前停止分裂。

5. 決策樹的擴充套件

5.1 隨機森林(Random Forest)

  • 隨機森林由多個決策樹組成,是一種基於整合學習的模型。
  • 每棵樹在訓練時隨機選擇一部分特徵,最終透過投票(分類)或平均(迴歸)得到結果。

5.2 梯度提升樹(Gradient Boosted Tree, GBT)

  • 使用多個決策樹,按梯度提升的方式逐步減小模型誤差。

5.3 極端隨機樹(Extra Tree)

  • 在決策樹的基礎上引入更多隨機性,例如隨機選擇分裂點。

6. 決策樹分類任務示例

問題描述

我們有一個小型資料集,目標是預測一個人是否適合參加戶外運動("是" 或 "否"),特徵包括天氣溫度風速。資料如下:

天氣溫度風速是否適合運動
晴天
晴天
多雲
雨天 溫暖
雨天
雨天
多雲
晴天 溫暖
晴天
雨天 溫暖

目標是構建一棵決策樹來預測“是否適合運動”。




        

相關文章