統計學習方法:CART算法


作者:桂。

時間:2017-05-13  14:19:14

鏈接:http://www.cnblogs.com/xingshansi/p/6847334.html 


前言

內容主要是CART算法的學習筆記。

CART算法是一個二叉樹問題,即總是有兩種選擇,而不像之前的ID3以及C4.5B可能有多種選擇。CART算法主要有回歸樹和分類樹,二者常用的准則略有差別:回歸樹是擬合問題,更關心擬合效果的好壞,此處用的是均方誤差准則; 分類樹是分類問題,更像是離散變量的概率估計,用與熵類似的Gini系數進行度量。

一、CART算法——回歸樹

 因為是回歸問題,只要抓住兩個要點就好:

1)如何切分;

2)切分后的不同區域,如何取值;

先來分析一下一次划分的操作:

  A-回歸樹切分

選擇第j個變量和它的取值s,作為切分變量和切分點,並定義兩個區域:

通過尋找最小均方誤差點,實現切分:

  B-回歸樹的輸出值

對固定輸入變量j找到最優切分點s,並定義各自區域均值為輸出變量:

  C-回歸樹舉例

看一下習題中的例子:

數據的切分點分別為:1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5

從公式

可以看出輸出值c就是對應類別內y的均值。

當切分點選擇s = 2.5時,區域R1有:

c1 = (4.5+4.75)/2=4.625

區域R2有:

同樣c2 = 7.17

從而計算出s = 2.5對應的估計誤差:

不同的s切分點,對應的估計誤差不同,最后選擇最小誤差對應的切分點,這就完成了一次切分:

此時的c1,c2分別對應兩類輸出值。

假設s=6.5處實現了第一次划分,第二次就是分別在子區域進一步划分,如將:

進行二次切分,步驟思路與上面完全一致。

總結一下CART回歸樹的算法思路:

 

二、CART算法——分類樹

  A-基尼系數

CART分類樹不再是基於信息增益,而是引入了Gini系數,給出基尼系數定義:

二分問題中Gini系數與熵之半的對比:

可以看出基尼系數與熵的特性類似,也是不確定性(信息量)的一種量度。

一方面,如果對於樣本集合D,基尼系數:

其中是D中屬於第k類的樣本子集,K是類的個數。

如果D被特征A划分為D1、D2兩部分,這個時候就是統計均值,D的基尼系數:

  B-CART決策樹生成

 CART決策樹的生成,抓住兩個基本要點:

1)基尼系數計算,確定二叉樹;

2)確定決策樹層次結構

舉例說明:

分別以表示年齡、有工作、有自己的房子、信貸情況。

對於A1是分為中年、老年、青年,計算基尼系數

A1、A3都可以,選擇A1,,即青年是一類,非青年(中年、老年)是一類,

有工作、有自己的房子,都是二分,可以不用切分。信貸情況A4:

最小,故選為最優切分點。

至此,完成了基尼系數計算以及二叉樹划分。下面確定決策樹層次結構:

由小到大,A3為最優切分點,依次在A1,A2,A4選擇,故選擇A2為次優切分點......依次類推。

給出決策樹生成算法:

主要分兩步走:

1)計算各種情況的基尼系數,划分每個節點的二叉樹;

2)根據基尼系數的大小,確定二叉樹不同節點的層次結構,形成決策樹。

 

三、CART樹剪枝

回歸樹(擬合問題)與決策樹都存在過擬合問題,防止過擬合(過渡細化)都需要剪枝的操作。

先來看看剪枝用到的准則函數:

關於C(T)之前文章有分析,它是葉節點特性的度量,C4.3里它是熵的均值,CART決策樹里它是基尼系數的概率均值,原理類似。多一個正則項,就是稀疏性約束。

ID3、C4.5算法中的剪枝原理是給定α,事實上很難一次給出理想的α。CART剪枝不再給定一個α,然后選擇最優決策樹,而是通過設定不同的α,通過交叉驗證選擇最優CART樹,也就是:

訓練集:得到不同的子樹;

測試集:交叉驗證選擇最優樹.

從有限個子樹中計算最優子樹,最優子樹由驗證集得出的測試誤差決定,哪個最小就是哪個。

這里就引出了一個問題,每次剪哪一個節點呢?先看分析剪枝的兩個極端情況:

1)完全沒剪:

2)只剩根節點:

在α較小或者為0時,有:

在α取+∞大時,有:

α是連續變量,因此總有臨界點:

為了不混淆變量,重新定義:

α大於g(t)就是該剪。簡而言之:

 對於同一棵樹的結點,α都是一樣的,當α從0開始緩慢增大(或者從+∞慢慢減小),總會有某棵子樹該剪,其他子樹不該剪的情況,即α超過了某個結點的g(t),但還沒有超過其他結點的g(t)。這樣隨着alpha不斷增大,不斷地剪枝,就得到了n+1棵子樹,接下來只要用獨立數據集測試這n+1棵子樹,試試哪棵子樹的誤差最小 就知道那棵是最好的方案了。

 給出CART剪枝算法:

原書的算法勘誤:

(4)修改為:

(6)修改為:

參考:

  •  李航《統計學習方法》


免責聲明!

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



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