要弄清楚什麼是資訊增益,首先要明確資訊熵和條件熵的概念。
=====================資訊熵===========================
那麼什麼是資訊熵呢?熵是隨機變數不確定度的度量。
設 是一個離散型變數,其取值空間為 K,機率密度函式為 ( ),這個變數 的熵定義為:
log函式是以2為底的。熵實際上表示的是隨機變數 的分佈的泛函式,並不依賴於 的實際取值,而依賴於其機率分佈。
實際上資訊熵就是一個與隨機變數的機率分佈相關的函式,其函式影象如下所示,橫座標表示機率,縱座標表示熵。
當機率為0或者1,變數就不再是隨機的了,其不確定性,也就是熵為零。
當機率為0.5時,也就是表示變數的不確定性最大,此時的熵也達到最大值。
給定以下一些資料:
設變數為價格,根據價格計算該資料集的夏農熵,其中價格高的佔1/3,價格中等的佔1/2,價格低的佔1/6,其夏農熵為:
=====================條件熵===========================
何謂條件熵?既然稱之為條件熵,其實也就是在滿足某個條件下的熵,那麼這個條件是什麼呢?這個條件是指某個變數確定的情況。
比如資料集中有若干個變數,其中有一個 ,和一個 ,當 確定時,計算該資料集根據 的熵。
這個變數 確定意味著什麼?意味著資料集根據 的取值不同,會被分成不同的子集,然後分別計算這些子集的夏農熵,再對其進行合併,所得到的這個熵稱之為條件熵。
同樣是上面的一些資料,現在以面積為條件,當面積確定之後,這些資料被分為三個資料子集:
a:
b:
c:
現在分別對其三部分資料根據價格計算夏農熵:
然後將三部分夏農熵根據其佔總資料量的比重求和:
得到的這個結果稱之為以面積為條件,價格的條件熵。
=====================資訊增益===========================
在瞭解了什麼是資訊熵和條件熵之後,我們就可以來看下資訊增益是個什麼東西了。
我們把特徵A對資料集D的資訊增益記為 ( , ) ,定義集合D的資訊熵為 (D),定義集合D在特徵A條件下的條件熵為 (D|A),那麼資訊增益為:
資訊增益表示在條件A確定的情況下,資訊的不確定性減少的程度。也就是說按照條件A對資料進行分類之後,分類資料的確定性是否比劃分之前更高。
因此我們可以透過計算資訊增益來選擇使用哪個特徵作為決策樹的節點更合適。
要弄清楚什麼是資訊增益,首先要明確資訊熵和條件熵的概念。
=====================資訊熵===========================
那麼什麼是資訊熵呢?熵是隨機變數不確定度的度量。
設 是一個離散型變數,其取值空間為 K,機率密度函式為 ( ),這個變數 的熵定義為:
log函式是以2為底的。熵實際上表示的是隨機變數 的分佈的泛函式,並不依賴於 的實際取值,而依賴於其機率分佈。
實際上資訊熵就是一個與隨機變數的機率分佈相關的函式,其函式影象如下所示,橫座標表示機率,縱座標表示熵。
當機率為0或者1,變數就不再是隨機的了,其不確定性,也就是熵為零。
當機率為0.5時,也就是表示變數的不確定性最大,此時的熵也達到最大值。
給定以下一些資料:
設變數為價格,根據價格計算該資料集的夏農熵,其中價格高的佔1/3,價格中等的佔1/2,價格低的佔1/6,其夏農熵為:
=====================條件熵===========================
何謂條件熵?既然稱之為條件熵,其實也就是在滿足某個條件下的熵,那麼這個條件是什麼呢?這個條件是指某個變數確定的情況。
比如資料集中有若干個變數,其中有一個 ,和一個 ,當 確定時,計算該資料集根據 的熵。
這個變數 確定意味著什麼?意味著資料集根據 的取值不同,會被分成不同的子集,然後分別計算這些子集的夏農熵,再對其進行合併,所得到的這個熵稱之為條件熵。
同樣是上面的一些資料,現在以面積為條件,當面積確定之後,這些資料被分為三個資料子集:
a:
b:
c:
現在分別對其三部分資料根據價格計算夏農熵:
然後將三部分夏農熵根據其佔總資料量的比重求和:
得到的這個結果稱之為以面積為條件,價格的條件熵。
=====================資訊增益===========================
在瞭解了什麼是資訊熵和條件熵之後,我們就可以來看下資訊增益是個什麼東西了。
我們把特徵A對資料集D的資訊增益記為 ( , ) ,定義集合D的資訊熵為 (D),定義集合D在特徵A條件下的條件熵為 (D|A),那麼資訊增益為:
資訊增益表示在條件A確定的情況下,資訊的不確定性減少的程度。也就是說按照條件A對資料進行分類之後,分類資料的確定性是否比劃分之前更高。
因此我們可以透過計算資訊增益來選擇使用哪個特徵作為決策樹的節點更合適。