機器學習技法筆記-Lecture 9 Decision tree

決策樹模型。算法

和前面幾個介紹的幾種aggretation方式的聯繫:api

blending是首先咱們已經有g,只是去把它們融合;app

learning是一邊學習g,一邊(實際上是最後)融合。bagging是uniform的方式融合,adaboost是linear的方式融合;函數

決策樹是同時學到條件和g,而後利用條件將g合起來的一種aggregation方法。學習

 

G表達式中的q(x)就是一種條件,對於輸入的x,x是否在路徑t上,是就是1,否就是0,而後乘以對應路徑t的base hypothesis. url

 

一種遞歸的角度spa

優缺點orm

便於理解,簡單高效。可是缺乏理論保證。遞歸

 

基本的決策樹算法ci

下面的步驟中咱們還不知道分支個數c,分支條件,算法終止條件和最後base 假設g的形態。

 

而後介紹了比較經常使用的 CART算法

CART中選擇c=2,每次只分爲兩顆小樹,最後生成的樹是二叉樹。

g的形態是一個常數。劃分結束後,在劃分的數據裏面使得Ein最小的常數。好比在分類中,就是類別最多的那一類。在迴歸中,就是剩下資料的y的平均。

 

那有了c,劃分的條件如何定義呢?

咱們知道每次要將資料劃分紅兩份,就至關於使用了decision stump h(x)去切一下,一邊是正的,一邊是負的。怎麼選擇h(x)呢?就是能使切完後兩邊資料的純度最大的一個h。反過來講也就是使兩邊不純度最小。這裏對兩邊的不純度加權,還考慮了切完後兩邊資料的個數,資料多的,純度更有重要性。

 

不純度的衡量

每切一下,就對切完後的兩邊資料的不純度算一算。

迴歸上使用均方偏差

分類上通常使用Gini係數,可以把全部類別都考慮進去,而不是隻看最大的那個類別。

 

最後看一下CART的終止條件

當分出來的資料,裏面的y都相同或者x都相同時,就再也不進行下去。此時稱爲fully grown tree。

 

當分裂爲y都相同的fully grown tree時,這時候Ein(G)其實就是0了。這種時候就很容易overfit。

那麼就須要regularization,咱們認爲最後切出來的葉子節點越多,樹就越複雜。

加上覆雜度懲罰後,再求最小化的樹稱做剪枝的決策樹。可是這種問題很差求解。

一般的作法是先作一顆徹底長成的樹,而後摘去一片葉子,看看摘掉哪一片的Ein最好。依次摘去多片葉子。

獲得的G(i)放到最小化目標函數裏面去看哪一個最好。

參數lamda的選擇使用validation.

 

決策樹在category類型的特徵上也易於處理。

缺失值的處理。在訓練的時候,對分支存一個(或多個)和它的分割效果差很少的替代分支。在預測的時候若是碰到缺失值,沒法在這個特徵上作分割的時候,利用替代的分支來作。

 

特性

相關文章
相關標籤/搜索