資訊增益與資訊增益率詳解

2021-06-29 04:52:29 字數 1595 閱讀 9124

熟悉決策樹演算法的人都知道id3以及c4.5兩種演算法,當然也非常清楚資訊增益以及資訊增益率兩個概念。

資訊增益:節點m的資訊熵e1與其全部子節點資訊熵之和e2的差。

資訊增益率:節點資訊增益與節點**資訊度量的比值。

資訊增益是id3演算法的基礎,資訊增益率是c4.5演算法的基礎。同時,c4.5是id3演算法的改進版,改進了某些情況下,決策樹構建過程中過擬合的問題。

首先說一下資訊增益:

在網上,我們可以輕鬆找到資訊增益的計算公式,乍一看,公式極為簡單,只是兩個熵減一下,但實際上,當我們去**實現時,卻可能會遇到,究竟該如何計算entropy(s)跟gain(s,a)的問題。

s是樣本集合這句話描述的並不清晰,對於初學決策樹模型的人來說,把s說成所有位於節點m的樣本的集合,或許更為恰當。

之所以這麼說,是因為下圖

同樣是颳風的屬性,但是,樣本的數量卻發生的變化,這在決策樹的構建過程中是經常遇到的現象。

屬性會重複出現?有些人或許會感到不解,但是看weka使用j48跑測試樣例的結果,大家或許就能明了了。

在一條從上往下的路徑中,petalwidth屬性出現了兩次呢。

許多剛剛學習決策樹的人很難理解為什麼計算乙個節點的時候需要用到樣本(誤以為是整個樣本)集合,其實這裡的樣本集合指的是,當前在某個節點n上的樣本集合sn;

使用數學話的形式表述資訊增益前,定義幾個常用的變數,使用變數

這樣我們可以表示出節點a的熵為,注意,這裡直接使用了概率公式替換了前面公式中的p;

節點a的屬性有m個,所以gain(s,a)即可表述成如下形式

有了資訊增益的實際表示式之後,我們再根據資訊增益率的描述寫出資訊增益率的表示式:

資訊增益比率實際在資訊增益的基礎上,又將其除以乙個值,這個值一般被成為**資訊量,是將屬性可選值m作為劃分,計算節點上樣本總的資訊熵。

必須說,直接去寫s很容易誤導人,所以我將公式重寫了一下,如下:

然後,我們將之前定義的變數代入到公式中,可以得到gainratio(sa,a)的最終表示式:

即:

大家一定要注意,計算節點熵和計算節點分類資訊量的時候,樣本的劃分標準乙個是類別,乙個是節點的可選屬性!!

最後的公式可能有點複雜,但是如果一點一點拼湊起來的話,其實很簡單,以此勉勵。

資訊增益,資訊增益率,Gini

資訊增益 首先,計算總系統的熵,然後,當某特徵固定時,會將系統分成幾個 此特徵的可能值數目 子系統,分別計算每個子系統的熵,方法同上 而後,將幾個子系統的熵加起來,便是 當不包含此特徵 時系統的熵 最後,以上兩個 包含 和 不包含 此特徵情況下系統的熵的差值便是此特徵的資訊增益。gini 係數 某個...

熵 資訊增益 資訊增益率

介紹資訊增益之前,首先需要介紹一下熵的概念,這是乙個物理學概念,表示 乙個系統的混亂程度 系統的不確定性越高,熵就越大。假設集合中的變數x 它對應在集合的概率分別是p 那麼這個集合的熵表示為 舉乙個的例子 對遊戲活躍使用者進行分層,分為高活躍 中活躍 低活躍,遊戲a按照這個方式劃分,使用者比例分別為...

最大資訊熵增益 資訊熵與資訊增益

1.資訊熵 資訊熵就是指不確定性,熵越大,不確定性越大 2.關於資訊增益 資訊增益是針對乙個乙個的特徵而言的,就是看乙個特徵t,系統有它和沒它的時候資訊量各是多少,兩者的差值就是這個特徵給系統帶來的資訊量,即增益。系統含有特徵t的時候資訊量很好計算,就是剛才的式子,它表示的是包含所有特徵時系統的資訊...