決策樹可以簡單的理解為根據特徵的取值而最終分成不同的類,也可以理解為簡單的if-then的規則集合(樹嘛)。那麼怎麼樣選擇節點是乙個很有技術的問題。為什麼呢,因為如果你的中間節點擊的不錯是不是就能夠很容易的將決策樹的各個節點很容易的分清楚了(說白了,你選的樹分叉的地方越有區分度、分類越多越好你乙個特徵就能夠把特徵分好多類了,證明區分度多好!!),那麼問題來了怎麼才算區分度好的特徵,
所以引入概念:熵、條件熵、資訊增益、資訊增益比。這三個如此玄乎的概念其實是很容易理解的就是來衡量特徵的區分度的。
先從熵開始,熵這個概念我最早是在高中物理中學到的,代表物體的穩定程度,所以同理這裡的熵代表的是資料的穩定程度.熵h的公式:
h (x
)=∑i
=1n(
pilo
gpi)
(1.1)
h(x)=\sum_^n(p_log p_)\tag
h(x)=i
=1∑n
(pi
log
pi)
(1.1
)這就是熵的公式,另乙個就是條件熵的公式:
h (y
∣x)=
∑i=1
npih
(y∣x
=xi)
(1.2)
h(y|x) = \sum_^np_h(y|x=x_i)\tag
h(y∣x)
=i=1
∑np
ih(
y∣x=
xi)
(1.2
)條件熵表示特徵x導致y的熵,表示的是每個x
ix_i
xi的概率乘以當x=x
ix=x_i
x=xi
時,對應的y的熵
然後第三個概念就是資訊增益,資訊增益比較簡單:就是熵減條件熵
g (d
,a)=
h(d)
−h(d
∣a
)(1.3)
g(d,a) = h(d) - h(d|a)\tag
g(d,a)
=h(d
)−h(
d∣a)
(1.3
)資訊增益越大的特徵對y的影響越大的,選這樣的特徵具有很好的區分度。
然後就是資訊增益比的概念,單反增加乙個在乙個概念後面加上乙個比字兒,就表明他在考慮權重考慮考慮公平,因此在資訊增益的基礎上除以x=a
x=ax=
a時y的熵
g r(
d,a)
=g(d
,a)h
a(d)
g_r(d,a)=}
gr(d,
a)=h
a(d
)g(d
,a)
知道了這些定義之後就可以構建決策樹了,決策樹構建好之後,我們需要剪枝
剪枝目的是讓這個樹不會出現過擬合,又有比較好的泛化能力,因此當減去乙個子樹之後,如果損失函式反而變小了那麼這個子樹就可以被減掉。
後續講到的cart樹是一種二叉決策樹的演算法,由原先使用熵來建立樹變成使用基尼指數來建立樹。
決策樹模型
決策樹採用樹結構來進行決策的,可以認為是if then規則集合,也可以認為是對特徵空間劃分,每個子空間對應乙個輸出。其優點簡單,快速,可解釋性強。決策樹通常包含三部分 特徵選擇,決策樹生成,決策樹剪枝。資訊增益,資訊增益比,基尼指數是常用的特徵選擇準則 資訊熵 表示變數的不確定程度,資訊熵越大不確定...
決策樹模型
前言 決策樹生成模型三要素 一般而言,一顆 完全生長 的決策樹包含 特徵選擇 決策樹構建 剪枝三個過程。決策樹是一種啟發式貪心演算法,每次選取的分割資料的特徵是當前的最佳選擇,並不關心是否達到最優。一 特徵選擇 1.1 熵 樣本集合 純度 不確定性 穩定性的指標 熵越大,樣本的不確定性就越大 在決策...
決策樹模型
決策樹的目標是從一組樣本資料中,根據不同的特徵和屬性,建立一棵樹形的分類結構。決策樹的學習本質上是從訓練集中歸納出一組分類規則,得到與資料集矛盾較小的決策樹,同時具有很好的泛化能力。決策樹學習的損失函式通常是正則化的極大似然函式,通常採用啟發式方法,近似求解這一最優化問題。對於樣本集合d,類別數為k...