最大信息熵增益_信息熵与信息增益

前言

熵在机器学习中用的非常普遍,但这个又难以理解,经常忘记,写一篇博客记录一下,也方便其他人学习了解。

什么是熵

一开始接触熵是大二的信息论,非常难的一门课,当时学的时候不知道这个东西有什么用,完全就不太想学,因为不知道干嘛,也不知道学了有什么用,但是现在很后悔,定义:熵也叫信息熵,可以表征随机变量分布的混乱程度,分布越混乱,则熵越大,简易的解释就是:在一个随机事件中,某个事件发生的不确定度越大,熵也就越大,事件发生的概率越小,不确定度越大,熵也越大。熵在物理学上表征物质状态的参量之一,也是体系混乱程度的度量;熵存在的意义是度量信息量的多少,人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少,熵就是一个度量的单位,你也可以把他与千克、毫米等单位相比较增加理解,千克是重量单位,毫米是长度度量单位,所以用熵来度量信息。其实熵还可以用来度量其他的很多内容,特别是在物理领域,但这里不加追述,可以参考博客。

熵的计算

熵是信息的度量,信息是事件的发生,我们可以通过如下公式来计算信息熵:

H(X)=−∑inp(xi)log⁡2p(xi)H(X)=-\sum_{i}^{n}p(x_i)\log_{2}p(x_i)H(X)=−i∑n​p(xi​)log2​p(xi​)

这里其实有一点要说明,没有要求一定是取对数2,也可以取对数e作为底,具体看,从公式可以看出,信息熵H(X)H(X)H(X)是各项自信息的累加值,由于每一项都是整正数,故而随机变量取值个数越多,状态数也就越多,累加次数就越多,信息熵就越大,混乱程度就越大,纯度越小。越宽广的分布,熵就越大,在同样的定义域内,由于分布宽广性中脉冲分布 < 高斯分布 < 均匀分布,故而熵的关系为脉冲分布信息熵 < 高斯分布信息熵 < 均匀分布信息熵。同样我们可以看到熵的计算只与事件概率有关,跟事件对应的值无关系,比如:抛硬币,硬币为正面概率是0.5,如果是正面,我得到7元,反面你得到5元钱,熵是不会考虑事件的取值。

公式约束了 0log⁡0=00\log0=00log0=0,毕竟有些事情不会发生,但这种情况也不会被我们考虑,给个约束还是可以的。

同样熵也是聚焦在整个大数据集上的,或者说是统计意义上的,某不是某次实际的样本数据,而是当样本数据无限多个的时候,熵才有意义,就像抛硬币,抛无穷多次,总体的情况可以用熵来表示。

推广到多维随机变量的联合分布,其联合信息熵:

H(X,Y)=−∑in∑jmp(xi,yj)log⁡2p(xi,yj)H(X,Y)= -\sum_{i}^n \sum_{j}^mp(x_i,y_j)\log_2p(x_i,y_j)H(X,Y)=−i∑n​j∑m​p(xi​,yj​)log2​p(xi​,yj​)

信息熵也是有推导过程的,参考博客,了解推导过程。

条件熵

为S,什么要讲条件熵?这主要是为了讲解机器学习中的信息增益的概念,条件熵的定义为:在X给定条件下,Y的条件概率分布的熵对X的数学期望。有点抽象,看具体公式就比较容易理解了:

H(Y∣X)=H(X,Y)−H(X)H(Y|X)=H(X,Y)-H(X)H(Y∣X)=H(X,Y)−H(X)

同理可以知道:

H(X∣Y)=H(X,Y)−H(Y)H(X|Y)=H(X,Y)-H(Y)H(X∣Y)=H(X,Y)−H(Y)

信息增益

信息增益(Information Gain):熵A-条件熵B,是信息量的差值,表示此条件对于信息熵减少的程度。也就是说,一开始是A状态,用了条件后变成了B状态,则条件引起的变化是A-B,即信息增益(它描述的是变化Delta),拿多特征分类来说,在某个特征下,原始信息熵减去已知该特征下的条件熵,这样就知道选取这个特征之后的信息增益,在决策树中我们选取信息增益最大的特征作为决策用的特征。我们看下信息增益的公式:

g(D,A)=H(D)−H(D∣A)g(D,A)=H(D)-H(D|A)g(D,A)=H(D)−H(D∣A)

其中A就是一个特征,D是原始的数据集,D∣AD|AD∣A是在A分类下的数据集,两个数据集的信息熵相减就是信息增益,可能有人问了,那么这两个信息熵有什么区别,已知一个条件之后混乱程度就减少很多,信息熵自然是减少的,可以拿一个例子来分析:

编号

身高

颜值

喜欢喝酒程度

是否渣男

1

1

3

2

2

1

3

3

3

4

2

3

5

1

2

身高、颜值、喝酒都是特征,是否渣男是分类结果,我们来算,已知A事件为身高情况下的信息增益:

H(D)=−(45log⁡245)−(15log⁡215)=0.72187H(D∣A)=−25(12log⁡(12)+12log⁡(12))−15(1log⁡1)−25(1log⁡1+0)=0.4g(D,A)=H(D)−H(D∣A)=0.32187\begin{aligned}

H(D)&=-(\frac{4}{5}\log_2{\frac{4}{5}})-(\frac{1}{5}\log_2{\frac{1}{5}}) \\

&=0.72187 \\

H(D|A)&=-\frac{2}{5}(\frac{1}{2}\log(\frac{1}{2})+\frac{1}{2}\log(\frac{1}{2}))-\frac{1}{5}(1\log1)-\frac{2}{5}(1\log1+0) \\

&=0.4\\

g(D,A)&=H(D)-H(D|A)=0.32187

\end{aligned}H(D)H(D∣A)g(D,A)​=−(54​log2​54​)−(51​log2​51​)=0.72187=−52​(21​log(21​)+21​log(21​))−51​(1log1)−52​(1log1+0)=0.4=H(D)−H(D∣A)=0.32187​

求解H(D|A)的时候也要考虑条件概率,已知该条件下的分类结果的信息熵。

好的条件就是信息增益越大越好,即变化完后熵越小越好(熵代表混乱程度,最大程度地减小了混乱)。因此我们在树分叉的时候,应优先使用信息增益最大的属性,这样降低了复杂度,也简化了后边的逻辑

参考博客

标签:xi,frac,log,增益,信息,信息熵

来源: https://blog.csdn.net/randompeople/article/details/88094885

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值