cart回歸樹算法過程


回歸樹:使用平方誤差最小准則

訓練集為:D={(x1,y1), (x2,y2), …, (xn,yn)}。

輸出Y為連續變量,將輸入划分為M個區域,分別為R1,R2,…,RM,每個區域的輸出值分別為:c1,c2,…,cm則回歸樹模型可表示為:

則平方誤差為:

假如使用特征j的取值s來將輸入空間划分為兩個區域,分別為:

我們需要最小化損失函數,即:

  其中c1,c2分別為R1,R2區間內的輸出平均值。(此處與統計學習課本上的公式有所不同,在課本中里面的c1,c2都需要取最小值,但是,在確定的區間中,當c1,c2取區間輸出值的平均值時其平方會達到最小,為簡單起見,故而在此直接使用區間的輸出均值。)

  為了使平方誤差最小,我們需要依次對每個特征的每個取值進行遍歷,計算出當前每一個可能的切分點的誤差,最后選擇切分誤差最小的點將輸入空間切分為兩個部分,然后遞歸上述步驟,直到切分結束。此方法切分的樹稱為最小二乘回歸樹。

 

最小二乘回歸樹生成算法:

1)依次遍歷每個特征j,以及該特征的每個取值s,計算每個切分點(j,s)的損失函數,選擇損失函數最小的切分點。

2)使用上步得到的切分點將當前的輸入空間划分為兩個部分

3)然后將被划分后的兩個部分再次計算切分點,依次類推,直到不能繼續划分。

4)最后將輸入空間划分為M個區域R1,R2,…,RM,生成的決策樹為:

其中cm為所在區域的輸出值的平均。

  總結:此方法的復雜度較高,尤其在每次尋找切分點時,需要遍歷當前所有特征的所有可能取值,假如總共有F個特征,每個特征有N個取值,生成的決策樹有S個內部節點,則該算法的時間復雜度為:O(F*N*S)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM