最近在学机器学习的相关内容,看到决策树这一块提到了信息增益等内容,在此做下笔记

信息&信息熵&信息增益

信息

所谓信息,引用香农的话,信息即消除不确定性的东西,十分形象

定义系统\(X\),发生了事件\(x_i\),其中\(i∈{0,1,2,···,n}\)

则从事件\(x_i\)中可以得到的信息量为

\(I(x_i)=-log_2(P(x_i))\)

解释:概率越接近1可用的信息量就越少,系统就越确定,概率越接近0各种鱼龙混杂的信息就浮现出来了,所以信息量大,至于为什么公式长这个样子,可能它更加契合世界的规律吧。

信息熵

和物理学中的熵相似,表示的事物的混乱程度,熵越大,系统就越混乱,信息也是如此。

信息熵越大,这个系统就越混乱,不确定性就越大,透露出的信息(有用无用的都有)就越多。

\(H(X) = \Sigma I(x_i) p_i\)

当概率为0或者1时,信息熵为0,系统确定,在二分问题中概率达到0.5时,信息熵达到最大值1

信息增益

指的是增加相关信息所带来的熵的增减

为了获得信息增益,就必须建立起条件熵的概念

\(H(Y | X)=\sum\limits_{i=1}^{n}P(x_i)H(Y|X=x_i)\)

其中X表示n个特征组成的特征空间,分别在\(x_i\)下得到的条件熵的总期望就是总的条件熵。

然后给定条件X,Y的信息熵是多少,从而得出信息增益

\(IG(X) = H(Y) - H(Y | X)\)

举一个网上看到的例子,假如说Y表示的是下雨这一事件,X表示的是阴天这一条件,如果

\(H(Y) = 2\),而\(H(Y|X)=0.01\)

很明显可以看出,对于增加了阴天这一条件之后信息熵减少了1.99之多,是巨大的,相应的信息增益

\(IG(X) = H(Y)-H(Y|X) = 1.99\)

在古典概型下的信息熵和信息增益

训练数据的集合D,|D|表示样本的个数,将D划分为k个类\((C_1,C_2,C_3,...,C_k)\),然后再用特征A将D划分为n个子集\((D_1,D_2,D_3,...,D_i)\),用\(D_{ik}\)表示\(D_i\)\(C_k\)之间的交集,即条件A下还能取到哪些值。

则信息经验熵

\(H(D) = -\sum\limits_{k=1}^{K}\frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|}\)

选定条件A的经验条件熵

\(H(D|A) = \sum\limits_{i=1}^{n}\frac{|D_i|}{|D|}H(D_i)=-\sum\limits_{i=1}^{n}\frac{|D_i|}{|D|}\sum\limits_{k=1}^{K}\frac{|D_{ik}|}{|D|}log_2\frac{|D_{ik}|}{|D|}\)

信息增益

\(g(D,A) = H(D) - H(D|A)\)