決策樹(decision tree)是在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種**法。
我把決策樹理解為通過一次一次對各種情況的條件判斷,從而獲得正確的決斷。
下圖為一張銀行貸款資料**,包含了乙個人的id,年齡,是否有工作、房子以及信貸情況,並且根據給出了能否獲得貸款的狀態。其中最後一列為能否獲得貸款
在這裡我們可以把年齡分為
把工作分為
房子分為
信貸情況分為
那麼我們可以進行組合從而判斷乙個人是否能夠得到貸款:如:
我們把不同的條件組合成乙個自上而下的樹,我們通過判斷從而確定是否貸款,那麼如何確定哪乙個作為根節點(上方),哪乙個作為子節點(下方)呢?這就需要借助資訊熵的相關知識了了
資訊熵這個詞是c.e.夏農從熱力學中借用過來的。熱力學中的熱熵是表示分子狀態混亂程度的物理量。香農用資訊熵的概念來描述信源的不確定度。
我們可以理解為乙個物體或事件內的資訊混亂程度,比如如果是有工作就可以貸款,沒工作就不可以貸款,那麼這樣就可以表明貸款這件事的混亂程度較低。但如果要綜合考慮工作、房子、年齡等因素則這件事的混亂程度就高。
當不確定性越大時,熵的值越大。我們假設h(x)為熵的值,p為一件事發生或不發生的概率。當p=0或者p=1時完全沒有不確定性,此時熵值為0,當p的值為0.5時不確定性最大,熵值為1.如下圖
其中縱座標為h(x)的值,橫座標為p
而我們選擇節點的依據是資訊增益
在資訊增益中,衡量標準是看特徵能夠為分類系統帶來多少資訊,帶來的資訊越多,該特徵越重要。對乙個特徵而言,系統有它和沒它時資訊量將發生變化,而前後資訊量的差值就是這個特徵給系統帶來的資訊量。
那麼我們選擇的這個節點要確保他能夠最大限度的降低整個系統的不確定性程度。
資訊熵的計算公式如下:
其中p(x)為某件事發生的概率,logp(x)則取其對數。
資訊增益的計算公式如下:
h(d)為d事件的資訊熵,而h(d|a)為給定特徵a下d的資訊熵。
通常h(d)經過計算後已確定,當h(d|a)的熵越**明在a特徵下不確定性越小,則計算後g(d,a)越大,資訊增益越大,我們就越傾向於選取a特徵作為節點。
例如:在上式銀行貸款的例子中:
其中15為一共15個樣本,9代表我們可以貸款的樣本有9個,6代表不可以貸款的樣本。
緊接著我們假設:a1,
a2,a
3,a4
分別代表
年齡、工
作,房子
,信貸情
況四個特
徵a_1,a_2,a_3,a_4分別代表年齡、工作,房子,信貸情況四個特徵
a1,a2
,a3
,a4
分別代
表年齡、
工作,房
子,信貸
情況四個
特徵則有
其中h(d1)表示年齡如果是青年情況下是否可以貸款的資訊熵,5表示5個樣本,2表示可以貸款人數,3表示不可以貸款人數,其他同理。
我們通過h(d)-h(d|a
1a_1
a1)得到年齡條件下的資訊增益,同樣我們也可以算出其他情況下的資訊增益。
g(d,a
1a_1
a1)= 0.170
g(d,a
2a_2
a2)=0.324
g(d,a
3a_3
a3)=0.420
g(d,a
4a_4
a4)=0.363
a
3a_3
a3的資訊增益最大,因此我們選擇a
3a_3
a3作為根節點,以此類推
id3演算法最早是由羅斯昆(j. ross quinlan)於2023年在雪梨大學提出的一種分類**演算法,演算法的核心是「資訊熵」。id3演算法通過計算每個屬性的資訊增益,認為資訊增益高的是好屬性,每次劃分選取資訊增益最高的屬性為劃分標準,重複這個過程,直至生成乙個能完美分類訓練樣例的決策樹。
簡單理解就是id3優先考慮資訊增益較大的節點
c4.5演算法繼承了id3演算法的優點,並在以下幾方面對id3演算法進行了改進:
用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足;
在樹構造過程中進行剪枝;
能夠完成對連續屬性的離散化處理;
能夠對不完整資料進行處理。
簡單理解就是c4.5使用的是資訊增益比,而不是單純的選擇最大資訊增益的特徵,會考慮到自身的熵值,資訊增益比會在資訊增益基礎上增加乙個懲罰引數,當特徵個數多時懲罰引數小,反之則懲罰引數大。從而避免偏向於選擇取值多屬性的不足
本質與計算熵類似,如當pk=
(1−p
k)p_k=(1-p_k)
pk=(1
−pk
)時達到最大值,當pk=
0或1時
p_k=0或1時
pk=0或
1時,得到基尼係數為0
可進行排序後進行二分,得到的則變為離散化資料
如:
而後:
分割為兩個部分。變為兩個離散值
決策樹剪枝是指減少對每個節點的再次細分。
例如,可能乙個人只要有房有工作就可以貸款,但也許樣本中只出現了中年,並且有房有工作的情況,一旦劃分過細,則即使青年有房有工作也會誤判為無法獲得貸款。
剪枝則能夠有效的減少這樣的問題,他能夠避免過擬合的問題(即劃分過細)。
剪枝策略分為兩種,預剪枝和後剪枝。
邊建立決策樹邊進行剪枝,這種方式更實用
通常它是通過限制深度,葉子節點個數,葉子節點樣本數,資訊增益量等方式進行實現
在決策樹建立之後進行剪枝,通常是根據一定的衡量標準進行實現的
機器學習入門
研究生考試結束了,考研通知書也在幾天前到手了,是時候安心下來考慮一下未來研究生的生活和學習了,看現在機器學習特別的火,所以我就先跟風學習一下機器學習吧。由於剛開始學習,所以對一些專有名詞不是很熟悉,所以特別做了一下總結,因為剛剛入門,所以就先整理了這些。人工智慧 一 認知和感知 區別看待 目前是在感...
機器學習入門
1.常用演算法 決策樹 隨機森林演算法 邏輯回歸 svm 樸素貝葉斯 knn演算法 k means演算法 adaboost 演算法 神經網路 馬爾可夫 2.聚類和分類的區別 分類 比如有一堆資料,你已經事先對他們做好了分類。你想要的功能就是,假如來了一條測試資料,我想知道他是哪一類,這就是分類。聚類...
機器學習入門
機器學習現在有著非常多的應用,從人臉識別到自動駕駛使用的都是機器學習的技術,機器學習在當前是乙個十分熱門的話題,也是引領下乙個技術變革的方向之一。大量的人員開始關注起機器學習,從初學者再到有經驗的技術人員,投身到機器學習中。但機器學習並不像普通的程式設計一樣,機器學習的入門有一定的門檻,因為機器學習...