1. 程式人生 > >決策樹中的熵和基尼指數

決策樹中的熵和基尼指數

學習排序算法 get lambda 取值 設有 問題 不同 度量 信息

決策樹是一種很基本的分類與回歸方法,但正如前面博文機器學習排序算法:RankNet to LambdaRank to LambdaMART中所講的LambdaMART算法一樣,這種最基本的算法卻是很多經典、復雜、高效的機器學習算法的基礎。關於什麽是決策樹,網上一搜就會有很多博客文章,所以本文並不想討論這個話題。本文想討論的是決策樹中兩個非常重要的決策指標:熵和基尼指數。熵和基尼指數都是用來定義隨機變量的不確定性的指標。下面先介紹什麽是隨機變量的不確定性。

1. 隨機變量的不確定性

什麽是隨機變量的不確定性?舉個例子,比如一個班級有50個同學,每個同學都有且僅有一部智能手機,問:如果任意選擇一位同學,他可能用什麽品牌的手機?如果這個班的同學全部都用蘋果手機,那這個問題很好回答,也即“從這個班中任意選取的一位同學用什麽品牌的手機”這個隨機變量是確定的,不確定性為0。但如果這個班級中$\frac{1}{3}$的同學用小米手機,$\frac{1}{3}$的同學用蘋果手機,其余$\frac{1}{3}$的同學用華為手機,這種情況下,這個變量的不確定性明顯增大了。那接下來就需要考慮另外一個問題:什麽情況下,這個變量的不確定性最大呢?直觀來看,如果每個同學都使用不同品牌的手機時,這個變量的不確定性應該最大的。理解了隨機變量的不確定性後,就更容易理解下面介紹的熵和基尼指數的定義。

2. 熵的定義及相關證明

在信息論與概率統計中,熵是最基礎的概念,其表示隨機變量不確定的度量。設$X$是一個取有限個值的離散隨機變量,其概率分布為:

$$P(X=x_i)=p_i, i=1,2,...,n$$

則隨機變量$X$的熵定義為:

$$H(X)=-\sum_{i=1}^{n}p_i\log{p_i}$$

為了使上式有意義,定義$0\log{0}=0$。因為熵的定義只依賴於$X$的分布,而與$X$的取值無關,所以我們可以將熵看成是分布的函數:

$$H(p)=-\sum_{i=1}^{n}p_i\log{p_i}$$

上面說到均勻分布的熵最大,但這只是直觀的感覺,並沒有證明。下面利用拉格朗日乘子法進行證明。根據拉格朗日乘子的可以將$H(p)$改寫成:

$$H(p)=-\sum_{i=1}^{n}p_i\log{p_i}+\lambda \left(\sum_{i=1}^{n}p_i-1\right)$$

$H(p)$對每個$p_i$求導,得到:

$$\frac{\partial{H(p)}}{\partial{p_i}}=-\ln{p_i}-1+\lambda=0,i=1,2,...,n$$

由$-\ln{p_i}-1+\lambda=0$可以得到$p_i=e^{\lambda-1}, i=1,2,...,n$

所以可知$p_i$是只與$\lambda$相關的值,每個$p_i$應該都相等,即$p_1=p_2=...=p_n=\frac{1}{n}$,此時$H(p)$取得最大值$\log{n}$。由此可知熵的值域是$[0,\log{n}]$。

3. 基尼指數的定義及相關證明

基尼指數是經典決策樹CART用於分類問題時選擇最優特征的指標。假設有$K$個類,樣本點屬於第$k$類的概率為$p_k$,則概率分布的基尼指數定義為:

$$G(p)=\sum_{k=1}^{K}p_k(1-p_k)=1-\sum_{k=1}^{K}p_k^2$$

滿足條件$\sum_{k=1}^{K}p_k=1$

正如上面所說,基尼指數同樣可以描述一個隨機變量的不確定性的程度,所以可以猜測:當$p_1=p_2=...=p_K=\frac{1}{K}$時,$G(p)$取得最大值,此時隨機變量最不確定。那麽,如何進行證明?下面給出兩種方法。

方法1:同樣可以使用拉格朗日乘子法進行證明。根據拉格朗日乘子的性質,改寫$G(p)$函數為:

$$G(p)=1-\sum_{k=1}^{K}p_k^2+\lambda \left(\sum_{k=1}^{K}p_k - 1\right)$$

$G(p)$對每個$p_i$求導,得到:

$$\frac{\partial{G(p)}}{\partial{p_i}}=-2p_i+\lambda=0,i=1,2,...,K$$

由$-2p_i+\lambda=0$可知$p_i$同樣只與常數$\lambda$相關,所以$p_1=p_2=...=p_K=\frac{1}{K}$

$G(p)$的值域為$[0,1-\frac{1}{K}]$。

方法2:構造$K$為空間中的兩個點$P_1=[p_1,p_2,...,p_K]^T$和$P_2=[\frac{1}{K},\frac{1}{K},...,\frac{1}{K}]^T$,其夾角為$\theta$,所以:

$$\cos\theta=\frac{P_1\cdot P_2}{|P_1|\cdot |P_2|}=\frac{[p_1,p_2,...,p_K]\cdot [\frac{1}{K},\frac{1}{K},...,\frac{1}{K}]}{\sqrt{p_1^2+p_2^2+...+p_K^2}\cdot \sqrt{\frac{1}{K^2}+\frac{1}{K^2}+...+\frac{1}{K^2}}}\leq{1}$$

所以:

$$\sum_{k=1}^{K}p_k^2\ge \frac{(\sum_{k=1}^{K}p_k)^2}{K}$$

於是:

$$G(p)\leq 1-\frac{(\sum_{k=1}^{K}p_k)^2}{K}=1-\frac{1}{K}$$

等號在$p_1=p_2=...=p_K=\frac{1}{K}$時達到。

決策樹中的熵和基尼指數