決策樹(一):原理&熵&條件熵&信息增益


1.決策樹思想:以信息增益作為指標,得出最高效的一種決策方案,可用於回歸或者分類問題。【由if-else演化而來,后續可發展成機器學習中的隨機森林算法】
2.決策樹指標:
香農:消除隨機不確定性的東西。
信息熵:定量表示(某種事物)隨機不確定性的大小。
樣本:假設一個人身上有四種屬性,分別是年齡【青年,中年,老年】,是否有工作【有工作,沒有工作】,是否有房【有房,沒房】,信用等級【非常好,好,一般好】;
現在樣本中有15個人,他們四種屬性的值不完全相同,相應的,其中的一人去銀行貸款,銀行是否會貸款給他的結果也不同。在這里,銀行是否貸款給他作為這個問題的目標值。
在這個問題中,在我們不知道這個人的各個屬性值時,銀行是否同意借貸給他這一件事,對我們來說是完全隨機不確定的,這時候信息熵是最大的。而根據樣本我們可以得出總的信息熵【樣本中15個人中6不同意,9同意】
信息熵公式:H(D)=- sump(xi)*log(p(xi)): 【對數底隨便取,一般取2】
該問題中總的信息熵為 H(D)=  -(6/15*log(6/15) +9/15*log(9/15));
現在已經知道總的信息熵,下一步做什么呢?
對於這個問題,我們想要知道的是最終銀行會不會同意借貸給某個人(目標值),(假設)因為銀行是根據這個人的四個屬性來決定是否同意,但我們不知道銀行根據什么樣的規則來選擇,銀行的選擇方法在我們看來就是一個“黑箱”,那么我們如何找到哪個最高效的決策路徑呢?所謂的最高效指的是知道盡量少個數的特征得出目標值。 觀察樣本后我們發現通過先后決策“是否有房”和“是否有工作”這兩個特征就足以得到樣本中對應的目標值。如果先后決策“年齡”“信用等級”“是否有工作”,需要觀察三個特征才能得出目標值。我們討論這個問題的目的是要最高效地找出目標值,也就是通過知道某個人的某幾個特征,從而推斷他的借貸同意情況。這里的最高效指的是用最少的特征推斷出目標值。而在決策樹中,不同特征的決策順序會影響能夠推出目標值的最少特征數,所以問題就轉變為找出最高效的決策順序(選擇特征順序),所以通過觀察樣本數據我們得出結論:
不同的特征在決策中占據的”比重“是不一樣的,有的對目標值影響大,有的影響小,那么問題就變成需要將特征對目標值的影響如何定量地表示出來。
 
這里引進信息增益和條件熵的概念。
1)條件熵:H(D|年齡);H(D|信用等級),….
條件熵計算公式:
①H(D|年齡)=5/15*H(D|青年)+5/15*H(D|中年)+5/15*H(D|老年)【樣本中有青/中/老年分別有5個】
②計算各個分量【比如說青年中同意貸款有2個;中年中同意貸款有3個,老年中同意貸款有4個】
H(青年)= -(2/5*log(2/5)+3/5*log(3/5));
H(中年)= -(2/5*log(2/5)+3/5*log(3/5));
H(老年)= -(4/5*log(4/5)+1/5*log(1/5));
2)信息增益計算公式:g(D,年齡)=H(D)-H(D|年齡)
信息增益表示的是,知道了這個特征(信息),能夠減少的目標值的不確定性。所以某一特征對應的信息增量越大,表示該特征對目標值的影響程度越大,在決策樹中應該排在越前面。
通過比較不同特征的信息增量,可以得出決策樹中不同特征的排列順序,從而得出對於預測新樣本的目標值最高效的決策樹模型。
 
參考資料:
https://www.bilibili.com/video/BV1nt411r7tj?p=28, B站,作者:菜鳥程序員

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM