一下幾個概念是決策樹模型中常用名詞,也較為抽象難以理解,特記錄一下自己的學習心得
信息
信息是用來消除隨機不定性的東西 --香農
其實這句話挺難理解的。 對於具有多個特徵的事物的集合,有一個分類,使得每個分類都有一個類標號表示。我們使用事物屬於某個類的概率來衡量這個類所具有的信息。概率越大,則信息越少,極端情況下,如果網絡之前通信,只能發送1,即概率為1,那麼我們自然無法接受到任何有用信息,因為全部都是1.
舉個例子:
我們有一些男生的集合,每個男生都具有身高、長相、是否有錢這3個特徵屬性,假設他們都去了相親節目,我們用女生是否選擇與男生牽手作為分類的依據,即類標號,那麼我們可以得到:
| 身高 | 長相 | 是否有錢 | 是否牽手 |
|||----|----|
| 矮 | 帥 | 否 | 否 |
| 高 | 帥 | 否 | 是 |
| 挨 | 帥 | 是 | 否 |
只看結果即類標號的話,牽手的概率為1/3, 沒有牽手的概率為2/3 所以我們使用上述公式可以認為牽手這個類具有的信息約為
,而沒有牽手具有信息
信息熵
用于衡量隨機變量的混亂負責程度,值越大,越混亂負責,越難以預測。定義為信息的期望:
可以計算出上表中的信息熵為
條件信息熵
所謂條件信息熵,指如果我們已知了某個特徵或者條件的情況下的熵的情況。 如果根據某個特徵A將數據集分為了v分,定義為:
引用知乎上網友的例子:
X(明天下雨)是一個隨機變量,X的熵可以算出來, Y(明天陰天)也是隨機變量,在陰天情況下下雨的信息熵我們如果也知道的話(此處需要知道其聯合概率分布或是通過數據估計)即是條件熵。
依然以上面的為例,我們計算已知特徵身高的情況下的條件熵:
也就是在上述數據的情況下,如果我們知道了身高情況,那麼隨機性就會消失,熵為0,確實身高高的都牽手成功,矮的都失敗了,符合我們上面談到的熵的意義。
信息增益
直觀感受,隨著我們掌握的信息越多,那麼隨機與混亂程度就會下降,仍然以下雨為例,明天下雨與否我們是無從得知的,假設熵為2,那麼如果我們知道了明天是陰天,直覺是明天下雨是一個大概率事件,在這個條件下我們假設熵為0.1,熵越大,越隨機,那麼我們定義信息增益為:
即如果知道A特徵,我們可以減少多少熵,該值越大,自然越應該成為劃分的依據。這個就是決策樹模型如ID3,常用的一個方法。
信息增益率
信息增益模型偏向具有多輸出的測試,如果我們在上面的例子中加入男生的名字,那麼會發現以名字作為劃分將會得到最大的信息增益,因為
而這並不是我們期望的。
為了克服這種偏移,ID3的後繼模型,C4.5提出了增益率。首先定義分裂信息:
這個的定義類似於Info(D),但是前者是以特徵為分類依據,而後者以類標號為分類依據。再定義增益率:
即可將信息增益規範化,但是在信息趨向於0時,該比率會有較大抖動。另外基於信息增益或者增益率的劃分是不強制要求二分的。
基尼指數
基尼指數是用來衡量一個數據集的不純度,該值越大,那麼不純度越高,定義為:
基尼指數會強制進行二元劃分,所以以某個特徵如A進行一次劃分後會產生兩個劃分D1和D2,定義:
由於強制二分,那麼對A如果是離散值或者連續值是存在多種劃分方式的,一般對於離散值選擇其中一個子集作為D1,該子集的補集作為D2,而連續值則需要在排序後,選擇相鄰兩個數的中點將小於等於該值的作為D1,大於 該值的作為D2,並且對A的劃分需要窮舉所有可能,選擇具有最小
的劃分作為該特徵屬性的劃分,通過劃分後,不純度降低了:
所以選擇使上值最小的屬性,極為分裂屬性。