決策樹是機器學習中一種基本的分類和回歸演算法,是依託於策略抉擇而建立起來的樹。其主要優點是模型具有可讀性,分類速度快,易於理解。決策樹的思想主要**於quinlan在2023年提出的id3演算法和2023年提出的c4.5演算法,以及有breiman等人在2023年提出的cart演算法。
1.什麼是決策樹
決策樹簡單來說就是帶有判決規則(if-then)的一種樹,可以依據樹中的判決規則來**未知樣本的類別和值。用乙個網上通俗易懂的例子(相親)來說明:
2.決策樹模型和學習
定義:決策樹是乙個屬性結構的**模型,代表物件屬性和物件值之間的一種對映關係。它由節點(node)和有向邊(directed edge)組成,其節點有兩種型別:內節點(internal node)和葉節點(leaf node),內部節點表示乙個特徵或屬性,葉節點表示乙個類。
如上圖所示的相親例子,藍色的橢圓內節點表示的是物件的屬性,橘黃色的矩形葉節點表示分類結果(是否相親),有向邊上的值則表示物件每個屬性或特徵中可能取的值。
決策樹的學習本質上是從訓練集中歸納出一組分類規則,得到與資料集矛盾較小的決策樹,同時具有很好的泛化能力。決策樹學習的損失函式通常是正則化的極大似然函式,通常採用啟發式方法,近似求解這一最優化問題。
決策樹學習演算法包含特徵選擇、決策樹生成與決策樹的剪枝。決策樹表示的是乙個條件概率分布,所以深淺不同的決策樹對應著不同複雜程度的概率模型。決策樹的生成對應著模型的區域性選擇(區域性最優),決策樹的剪枝對應著全域性選擇(全域性最優)。決策樹常用的演算法有id3,c4.5,cart,下面通過乙個簡單的例子來分別介紹這幾種演算法。
上圖是乙個比較典型的決策樹分類用的貸款申請樣本資料集:樣本特徵x(i)x(i) 的型別有年齡、是否有工作、是否有房子和信貸情況,樣本類別y(i)y(i) 取值是兩類是、否,最終的分類結果就是根據樣本的特徵來**是否給予申請人貸款。在介紹演算法之前,我們先介紹幾個相關的概念:
3.演算法介紹
id3演算法
在前面我已經介紹了資訊增益計算的方法,在id3演算法中,我們通過資訊增益來選取相應的特徵,首先計算每個特徵對樣本類別的資訊增益:
從圖中可以看到,有房子的是肯定能夠借到貸款的,沒房子的,要依據別的條件繼續判斷。在沒有房子的樣本中,我們繼續計算每個特徵在此表上的增益,這樣一直到所有樣本完全分開就能得到乙個適應樣本集的決策樹。本示例的最終決策樹為:
演算法具體實現將在下一章進行詳細的說明。id3演算法只有樹的生成,沒有樹的剪枝,所以容易產生過擬合現象。
c4.5演算法
c4.5演算法與id3演算法在整體流程上很相似,不同之處在於特徵選擇用的是資訊增益,然後最後有剪枝的過程。依據資訊增益率,我們來計算上述例子:
通過上述計算可以看出,增益比最大的還是第三個特徵:房子,因此還是選擇第三個特徵作為最優特徵進行初始決策。
cart演算法
cart演算法主要有兩部分組成:
(1) 決策樹的生成:基於訓練資料集生成決策樹,生成的決策樹要盡量打。這與id3演算法類似,不同之處也是特徵選取的方式;
(2) 決策樹的剪枝:用驗證資料集對已生成的樹進行剪枝並選擇最優子樹,此時用損失函式最小作為剪枝的標準。
cart演算法可以用於回歸,即建立回歸樹。在終於分類時,其演算法流程與id3較為類似,不同的是特徵選取,選擇的是最小基尼指數。
4.決策樹剪枝
決策樹生成演算法是遞迴地生成決策樹,知道不能終止。這樣產生的決策樹往往分類精細,對訓練資料集分類準確,但是對未知資料集卻沒有那麼準確,有比較嚴重的過擬合問題。因此,為了簡化模型的複雜度,使模型的泛化能力更強,需要對已生成的決策樹進行剪枝。
決策樹的剪枝,就是在α確定時,選擇損失函式最小的決策樹。當α確定時,子樹越大,模型複雜度越高,往往與訓練資料擬合越好,但是在未知資料集上表現可能會較差;相反,子樹越小,模型複雜度越低,訓練資料擬合不好,但是泛化能力好。
**:
決策樹原理
目錄 決策樹基本知識 id3 與c4.5 cart 應用 1.我們遇到的選擇都是根據以往的選擇判斷,如果把判斷背後的邏輯整理成乙個結構圖,會是乙個樹狀圖,就是決策樹的本質.2.決策樹的階段 構造與剪枝 構造 選擇什麼屬性作為結點 1 根節點 樹的頂端 2 內部節點 中間節點 3 葉節點 決策節點 剪...
決策樹01 決策樹的原理
此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...
決策樹詳解
一 原理 決策樹是一種非引數的監督學習方法,它主要用於分類和回歸。決策樹的目的是構造一種模型,使之能夠從樣本資料的特徵屬性中,通過學習簡單的決策規則 if then規則,從而 目標變數的值。圖1 決策樹 例如,在某醫院內,對因心臟病發作而入院 的患者,在住院的前24小時內,觀測記錄下來他們的19個特...