樹模型算法

一級目錄

一、決策樹算法

構建決策樹時通常採用自上而下的方法,在每一步選擇一個最好的屬性來分裂。“最好” 的定義是使得子節點中的訓練集儘量的純(信息增益最小,其中信息增益=未用該屬性的上一層即分裂前的類別的熵值-用了該屬性即這一層本類別的熵值)。不同的算法使用不同的指標來定義"最好"。
在這裏插入圖片描述
一個描述泰坦尼克號上乘客生存的決策樹 ("sibsp"指甲板上的兄妹和配偶)。每個決策葉下標識該類乘客的生存機率和觀察到的比率;
下面介紹幾個常用的指標。
基尼不純度指標
備註提示:不是基尼係數。
在CART算法中, 基尼不純度表示一個隨機選中的樣本在子集中被分錯的可能性。基尼不純度爲這個樣本被選中的概率乘以它被分錯的概率。當一個節點中所有樣本都是一個類時,基尼不純度爲零。
在這裏插入圖片描述
信息增益[編輯]
ID3, C4.5 和 C5.0 決策樹的生成使用信息增益。信息增益 是基於信息論中信息熵與自信息理論.
信息熵定義爲:
在這裏插入圖片描述
決策樹是各種機器學習任務的常用方法。 Hastie等說:“樹學習是如今最能滿足於數據挖掘的方法,因爲它在特徵值的縮放和其他各種轉換下保持不變,對無關特徵是魯棒的,而且能生成可被檢查的模型。然而,它通常並不準確。”

二、隨機森林模型

在機器學習中,隨機森林是一個包含多個決策樹的分類器,並且其輸出的類別是由個別樹輸出的類別的衆數而定。
隨機森林的引入最初是由華裔美國人何天琴於1995年[1]先提出的。[2]然後隨機森林由Leo Breiman於2001年在一篇論文中提出的。[4]這篇文章描述了一種結合隨機節點優化和bagging,利用類CART過程構建不相關樹的森林的方法。此外,本文還結合了一些已知的、新穎的、構成了現代隨機森林實踐的基礎成分,特別是

  1. 使用out-of-bag誤差來代替泛化誤差
  2. 通過排列度量變量的重要性
    特別的,生長很深的樹容易學習到高度不規則的模式,即過學習(也即過擬合),在訓練集上具有低偏差和高方差的特點。隨機森林是平均多個深決策樹以降低方差的一種方法,隨機森林中決策樹是在一個數據集上的不同部分進行訓練的。[5]這是以偏差的小幅增加和一些可解釋性的喪失爲代價的,但是在最終的模型中通常會大大提高性能。
    在這裏插入圖片描述

特徵的重要性
out-of-bag誤差是什麼?我不懂!!!!
隨機森林天然可用來對迴歸或分類問題中變量的重要性進行排序。下面的技術來自Breiman的論文,R語言包randomForest包含它的實現。
度量數據集 D的特徵重要性的第一步是,使用訓練集訓練一個隨機森林模型。在訓練過程中記錄下每個數據點的out-of-bag誤差,然後在整個森林上進行平均。
爲了度量第i個特徵的重要性,第i個特徵的值在訓練數據中被打亂,並重新計算打亂後的數據的out-of-bag誤差。則第i個特徵的重要性分數可以通過計算打亂前後的out-of-bag誤差的差值的平均來得到,這個分數通過計算這些差值的標準差進行標準化。
產生更大分數的特徵比小分數的特徵更重要。這種特徵重要性的度量方法的統計定義由Zhu et al.給出。
這種度量方法也有一些缺陷。對於包含不同取值個數的類別特徵,隨機森林更偏向於那些取值個數較多的特徵,partial permutations、growing unbiased trees可以用來解決這個問題。如果數據包含一些相互關聯的特徵組,那麼更小的組更容易被選擇。
在這裏插入圖片描述

三、梯度提升樹

梯度提升(梯度增強)是一種用於迴歸和分類問題的機器學習技術,其產生的預測模型是弱預測模型的集成,如採用典型的決策樹 作爲弱預測模型,這時則爲梯度提升樹(GBT或GBDT)提升方法一樣,它以分階段的方式構建模型,但它通過允許對任意可微分損失函數進行優化作爲對一般提升方法的推廣。(對比xgboost,它的弱分類學習器是cart)
梯度提升的思想源自Leo Breiman的一個觀察:即可以將提升方法解釋爲針對適當成本函數的優化算法。 [1]顯式迴歸梯度增強算法隨後由Jerome H. Friedman [2] [3]給出,同時Llew Mason,Jonathan Baxter,Peter Bartlett和Marcus Frean在兩篇論文中給出更一般的函數空間上的梯度提升觀點。 [4] [5]這兩篇論文介紹了將Boosting算法看作函數空間上的梯度下降迭代算法的觀點。即,將其視爲通過迭代地選擇指向負梯度方向的函數(弱預測模型)來優化函數空間上的成本函數的算法。這種將提升視爲函數梯度的觀點導致了除迴歸和分類之外的許多機器學習和統計領域中提升算法的發展。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章