03 | 分類回歸樹與隨機森林


一、連續值和缺省值的處理

1.1 連續值

處理數據中的連續值,如下圖的含糖率:

image-20200213074217427

基本思路:連續屬性離散化

常見做法:二分法

  • n個屬性形成n-1個候選區域
    • 1-17個🍉,含糖率有17個值
    • 划分為16個區域
    • 每個區域的中點作為划分點
  • 把候選區域當作離散值處理,尋找最佳划分
    • 根據最佳屬性選擇方法選取最優屬性

1.2 缺省值

屬性缺失的現象:

  • 只使用屬性沒有缺失的樣本會造成浪費
  • 使用它會產生兩個問題:
    • 如何進行划分屬性的選擇(缺失屬性怎么算?)
    • 給定划分屬性,若樣本在該屬性上值缺失,如何划分(缺失的屬性怎么划分)

基本思路:樣本賦權(解決問題一),權重划分(解決問題二)

1.2.1 樣本賦權

僅通過無缺失值的樣例判斷划分樣本屬性的優劣

![image-20200213075432835](/Users/xuepipi/Library/Application Support/typora-user-images/image-20200213075432835.png)

  • 以屬性色澤為例,該屬性無缺失值的樣本例子集\(\widetilde{D}\)包含14個樣本,信息熵為

\[Ent(\widetilde{D})=-\sum_{k=1}^{2} \widetilde{p_k} log_2 \widetilde{p_k} \]

  • \(\widetilde{D^1},\widetilde{D^2},\widetilde{D^3}\)分別表示在色澤上取值為"青綠"、“烏黑”、“淺白”的樣本子集,求得\(Ent(\widetilde{D^1})、Ent(\widetilde{D^2})、Ent(\widetilde{D^3})\)划分信息熵

  • \(\widetilde{D}\) 計算信息熵增益

\[Gain(\widetilde{D},color)=Ent(\widetilde{D})-\sum_{v=1}^3 \widetilde{r_v}Ent(\widetilde{D^{v}}) \]

  • \(D\)計算信息熵增益,\(\rho\)為無缺失樣例的占比

\[Gain(D,color)=\rho Gain(\widetilde{D},color) \]

1.2.2 權重划分

根據上述方式可計算所有屬性的信息熵增益

image-20200213082531555

解說員:

  • 有屬性的就進,別控制
  • 沒屬性的分權進如下一個分支,以紋理屬性為例,有該屬性樣本的權重是1,現在變成了\(\frac{5}{7},\frac{5}{15},\frac{3}{15}\)
  • 具體上述這些數字是樣本中各紋理類型的概率控制

1.3 從樹到規則

一顆決策樹對應一個規則

每個從根結點到葉節點的分支路徑對應一個規則

優點:

  • 改善可理解性
  • 提高泛化能力
image-20200213083404440

二、回歸樹模型

2.1 回歸樹模型

回歸樹模型的含義:

  • 對空間划分,跟分類一個樣兒
  • 對每一個空間取平均值

2.2 回歸樹的構建方法

假設一個回歸問題,預估結果\(y\epsilon R\),特征向量\(X=[x_1,x_2,...,x_p]\epsilon R\),回歸樹構建的步驟如下:

  • 把特征區域X切分成J個沒有重疊區域的\(R_1,...,R_J\)

  • 區域\(R_j\)的每個樣本我們都給一樣的預測結果

    \[\widetilde{y}_{R_j} = \frac{1}{n}\sum_{j\epsilon R_j}y_j \]

\[RSS=\sum_{j=1}^J \sum_{i\epsilon R_j}(y_i-\widetilde{y}_{R_j})^2 \]

  • 該函數最小化探索的過程計算量非常大,因此采用探索式的遞歸二分來解決這個問題

2.2.1 遞歸二分法

  • 自頂向下貪婪式的遞歸方案
    • 自頂向下:從所有樣本開始,不斷從當前位置把樣本切分到兩個區間里
    • 貪婪:每一次划分只考慮當前最優,不回頭考慮之前的划分
  • 選擇切分的維度(特征)\(x_j\)以及切分點s使得划分后的RSS結果最小

\[R_1(j,s)=\{x|x_j<s\} \]

\[R_2(j,s)=\{x|x_j>=s\} \]

\[RSS = \sum_{x_i\in R_1(j,s)}(y_i-\widetilde{y}_{R_1})^2+\sum_{x_i\in R_2(j,s)}(y_i-\widetilde{y}_{R_2})^2 \]

問題:如何選擇回歸樹的切分維度和切分點?

解說員:可能切分維度和切分點按之前章節所說

  • 切分點:
    • 連續值的處理(猜測)
    • 構建模型求最值:設切分點為\(x\),求得對應的RSS,然后再求最值(接着猜測)
  • 屬性:令RSS最小的屬性(猜測)

2.2.2 回歸樹剪枝

回歸樹的充分增長可能有過擬合的風險

解決方法:添加正則化項

考慮剪枝后得到的子樹\(\{T_{\alpha}\}\),其中\(\alpha\)是正則化項的系數,當固定一個\(\alpha\)時,最佳的\(T_{\alpha}\)就是使得下式值最小的子樹。

\[\sum_{m=1}^{|T|}\sum_{x_i\in R_m}(y_i-\widetilde{y}_{R_m})+\alpha|T| \]

  • \(|T|\)是回歸樹子節點的個數————不想讓樹那么復雜
  • \(\alpha\)可通過交叉驗證去選擇

三、隨機森林

3.1 Bagging

3.1.1 Bootstraping

  • 依靠自己的資源,有放回的抽樣方法
  • 估計統計量方差——進行區間估計

具體步驟:

  • 采用重采樣技術從原始原始樣本抽取一定量的樣本,允許重復抽樣
  • 根據抽出的樣本計算給定的統計量\(T\)
  • 重復N次,得到N個\(T\)
  • 計算N個統計量的樣本方差,得到統計量方差

說明:

  • 在小樣本時效果較好
  • 通過對方差的估計可構建置信區間,運用范圍得到進一步提升

3.1.2 Bagging

使用Bootstraping的思想

image-20200213160832959

Bagging降低過擬合風險,提高泛化能力

令輸入樣本集為\(D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\}\),步驟:

  • 對於\(t=1,2,3,...,T\):對訓練集進行第t次采樣,共采m次,得到包含m個樣本采樣集\(D_m^{(t)}\)

  • 用采樣集\(D_m^{(t)}\)訓練第t個基學習器\(G^{(t)}(x)\)

  • 利用學習器決策

    • 分類:T個學習器投出最多票數的類別作為最終類別
    • 回歸:T個學習器得到的結果進行算數平均得到模型的輸出

3.2 隨機森林

RF核心思想是Bagging,本質是:Bagging+CART

令輸入樣本集為\(D=\{(x_1,y_1),(x_2,y_2),...,(x_m,y_m)\}\),步驟:

  • 對於\(t=1,2,3,...,T\):對訓練集進行第t次采樣,共采m次,得到包含m個樣本采樣集\(D_m^{(t)}\)

  • 用采樣集\(D_m^{(t)}\)訓練第m個決策樹模型\(G_m^{(t)}(x)\)在訓練決策樹模型的節點時,在所有特征中選取一部分樣本特征,在這些隨機選擇的部分樣本特征中選擇一個最優的特征來做決策樹的左右子樹划分

  • 利用T個學習器(決策樹)決策

    • 分類:T個學習器投出最多票數的類別作為最終類別
    • 回歸:T個學習器得到的結果進行算數平均得到模型的輸出


免責聲明!

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



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