1. 程式人生 > >決策樹知識點整理

決策樹知識點整理

  1. 目的:為了讓模型的不確定性降低的越快越好
  2. 三個過程:特徵選擇、決策樹的生成、決策樹的剪枝
    (1)特徵選擇:
    資訊熵:隨機變數不確定性的度量
    H(X)=i=1npilogpi
    資訊增益:(ID3演算法),得知特徵X的資訊而使類Y的資訊的不確定減少的程度
    g(D,A)=H(D)H(D|A)
    information gain作為劃分訓練資料集的特徵,存在偏向於選擇取值較多的特徵問題。
    (對於取值多的屬性如連續型數值,這個單獨的屬性就可以劃分所有的樣本,使得所有分支下的樣本集合都是“純的”,最極端的情況是每個葉子節點只有一個樣本。這樣的劃分是極為不合理的。)
    資訊增益率
    :(C4.5演算法),在資訊增益的基礎上除了一項split information,來懲罰值更多的屬性。
    gR(D,A)=g(D,A)HA(D)
    GINI指數:(CART演算法)
    Gini(D)=1k=1Kpk2
    (2)決策樹的生成
    遞迴選擇最優特徵(資訊增益、資訊增益比最大,GINI最小)
    遞迴停止條件:
    a. 當前結點包含的樣本全部屬於同一個類別,無需劃分
    b.當前的屬性集為空,或是所有樣本在所有屬性上的取值相同,無法劃分(小於或者大於某個閾值)
    c.當前結點包含的樣本集合為空,不能劃分
    (3)決策樹的剪枝
    目的:減輕過擬合現象
    方法:預剪枝和後剪枝
    預剪枝
    是指在決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化效能提升,則停止劃分並將當前結點標記為葉結點。
    後剪枝是先從訓練集合生成一棵完整的決策樹,然後自頂向上地對非葉結點進行考察,若將該結點對應的子樹替換為葉結點帶來決策樹泛化效能提升,則將該子樹替換為葉結點。
    預剪枝基於貪心本質禁止這些分支展開,給預剪枝決策樹帶來欠擬合的風險
    後剪枝基於極小化決策樹整體的損失函式的思想進行剪枝,時間開銷較大;
  3. 目標函式:最小化損失函式
  4. 損失函式:正則化的極大似然函式
    Cα(T)=t=1|T|NtHt(T)+α|T|
    |T|
    為葉子結點的個數,t為T的葉結點,Nt為葉結點上樣本個數,其中k類的樣本點有Ntk
    Nt(T)=kNtkNtlogNtkNt
    損失化左邊為經驗風險最小化,右邊實現了結構風險最小化(正則化項)
  5. 決策迴歸樹CART(二叉決策樹)
    準則:平方誤差最小化
    將輸入空間劃分為M個單元,每個單元有一個固定的輸出值(有點像變成一個多分類問題,只是現在結果不是一個類而是一個值)
    過程:啟發式
    a. 固定輸入變數j尋找最優切分點s,遍歷所有輸入變數,尋找最優的切分變數j
    minj,s[minc1xiR1(j,s)(yic1)2+minc2xiR2(j,s)(yic2)2]
    b. 用(j,s)劃分區域並決定相應的輸出值
    cm=ave(yi|xiRm)
    c. 遞迴呼叫a,b
    d.