決策樹
總體介紹
決策樹模型顧名思義就是透過一條條的決策來將樣本劃分來從而達到分類或迴歸的目的。決策樹模型呈樹形結構,下圖粗略展示了一個分類決策樹
其中圓表示特徵,方塊表示葉子節點也是最終分類的類別,我們透過利用樣本中高價值的特徵(房子擁有情況,工作的擁有情況)來構建這麼一個決策樹,那麼每當有新樣本來臨時就可以透過構建完成的決策樹來對其進行分類。其中所有路徑互斥且完備,即不存在兩個相同的樣本被劃分到不同的類別(互斥),任意一個樣本都會被劃分到一個類別。
我們還可以認為決策樹是定義在特徵空間與類空間上的條件機率分佈,即將特徵空間劃分成一個個互不相交的單元,這與之前所講的KNN演算法的核心思想一致。下圖展示了決策樹在兩個特徵\(x_1,x_2\)下的劃分情況。
這意味著,當所有樣本的兩個特徵滿足下面的情況時
\(x_1 \leq a_1\)且\(x_2 \leq a_2\)或者\(x_1 > a_1\)且\(x_2 > a_3\)
將被劃分為正類。
同時我們也可以上上面的圖轉換為決策樹進行對照,如下圖所示。
在使用決策樹模型時通常包含三個步驟:特徵選擇、決策樹生成和決策樹剪枝。
決策樹學習
從上面的介紹中,我們可以知道決策樹是透過對特徵的取值不斷進行分解從而構建成樹的,但是基於特徵空間劃分的類的條件機率模型有無窮多個,我們選擇的模型不僅要對訓練資料有很好的擬合更應該注重其泛化能力。總體上來說,決策的學習包括下面三個注意部分:
- 特徵選擇。特徵選擇的目的選擇具有較強分類能力的特徵,如果一個特徵在對所有類別的區分不大,那麼這個特徵可能就沒有較大的意義。衡量特徵好壞有資訊增益、資訊增益比等指標。後面的內容會一步步剖析它們。
- 決策樹的生成。當透過特徵選擇得到有價值的特徵後,下面的目的就是透過這些特徵來構建決策樹,常見的演算法ID3和C4.5。
- 決策樹的剪枝。最後為了避免生成的決策樹過於臃腫,我們需要使用剪枝演算法對決策樹進行約簡,使其具有更好的泛化能力。相關剪枝演算法也會在後面介紹。