信息熵的通俗理解

信息熵的通俗理解


决策树是机器学习领域比较常见的算法,而信息熵在决策树的节点划分中具有重要作用。这里记录一下以便日后好复习。

在理解信息熵之前先理解信息量这个概念。

信息量的理解

信息量是信息的度量,就好像速度的度量是m/s、时间的度量是秒一样。举个简单例子理解一下:比如今天早上起床看新闻,知道美国总统特朗普得了重病(hhhh,开玩笑的!),这对大家来说都是大新闻,信息量就比较大,概率这么小的事件发生了,有点出乎意料,而如果新闻内容是特朗普又说了中国什么坏话,你可能觉得没什么(因为他经常说我们中国的坏话),这个信息量就比较小,这种事发生的概率很大,在意料之中

总结一下上面的例子可以发现,信息量的大小和发生事件的概率成反比,发生事件的概率越大,信息量就越小,反之信息量就越大。那怎样用一个确定的数学公式来表示信息量呢?随着概率增大而结果变小的函数太多了,还有没有什么限制条件来确定这个函数呢?刚好就有一条。

我们都知道,当我们同时知道两条不相干的事件h(x)和h(y),那我们知道的信息量就是两个信息量的和:h=h(x)+h(y),比如今天早上,小明吃了早饭和小红做了作业,我们能知道的就是小明吃了早饭和小红做了作业这两个信息。但是这两者信息同时发生的概率却是:p=p(x)*p(y),因为这两件事是不相关的。可以看出h(x)一定是和p(x)的对数相关的(因为只有对数有这个性质)。

因此我们就能得到信息量的公式:
y=log2p(x)y=-log_{2}p(x)
负号是因为信息量y是正值,不可能为负值,所以要添加一个负号。底数为2是因为我们需要信息量满足低概率事件x对应于高的信息量。那么对数的选择是任意的。我们只是遵循信息论的普遍传统,使用2作为对数的底!

信息熵

前面我们已经知道了信息量的概念,信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。因此信息熵的公式为:
H(x)=i=1np(xi)logp(xi)H(x)=-\sum_{i=1}^{n}p(x_{i})logp(x_{i})
信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。

如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。

参考:https://zhuanlan.zhihu.com/p/26486223

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读