网站首页 > 技术文章 正文
决策树是一种常见的机器学习方法。一般的,一颗决策树包含一个根节点、若干个内部节点和若干个叶节点。随着决策树划分过程的不断进行,我们希望决策树的分支节点所包含的样本尽可能属于同一类别,即结点的纯度越来越高。信息熵(information entropy)是度量样本集合纯度最常用的一种指标。
信息熵公式如下:
其中,代表随机事件X为的概率。
下面来逐步分析信息熵的公式是如何得出的。
信息量
信息量是对信息的度量,就跟时间的度量是秒一样。当我们考虑一个离散的随机变量x的时候,这个变量的表现为一个具体值时,我们接收到了多少信息呢?多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。信息的大小跟随机事件的概率有关。越小概率的事情发生了产生的信息量越大,例如深圳发生地震了;越大概率的事情发生了产生的信息量越小,如我今天上班了(肯定发生嘛,没什么信息量)。因此一个具体事件的信息量应该是随着其发生概率而递减的,且不能为负。那么这个表示信息量函数的形式是什么?随着概率增大而减少的函数形式太多了!
还好,我们还可以想一下下面这条性质:
如果我们有两个不相关的事件x和y,那么我们观察到的两个事件同时发生时获得的信息应该等于观察到的事件各自发生时获得的信息之和,即:
h(x,y) = h(x) + h(y)
由于x,y是两个不相关的事件,那么满足p(x,y) = p(x)*p(y).
根据上面推导,我们很容易看出h(x)一定与p(x)的对数有关(因为只有对数形式的整数相乘之后,能够对应对数的相加形式,可以试试)。因此我们有信息量公式如下:
从上式发现两个问题:
- 为什么有一个负号
其中,负号是为了确保信息一定是正数或者是0。
- 为什么底数为2
这是因为,我们只需要信息量满足低概率事件x对应于高的信息量。那么对数的选择是任意的。我们只是遵循信息论的普遍传统,使用2作为对数的底!
信息熵
下面我们正式引出信息熵。
信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即:
转换一下为:
最终我们的公式来源推导完成了。
这里我再说一个对信息熵的理解。信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么它的信息熵是比较大的。放在决策树中,信息熵越大,对应的节点的属性越不纯洁,需要进行划分。如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵较小。
这也就是我理解的信息熵全部想法,希望大家指错交流。也希望对大家理解有帮助~
猜你喜欢
- 2024-11-06 「数据结构和算法」超详细,超多图解,树的各种概念汇总
- 2024-11-06 Python超全干货:「二叉树」基础知识大全
- 2024-11-06 建议收藏!便于巩固基础,二叉树各种遍历方式我都帮你总结了
- 2024-11-06 python算法基础之分支界限法 python通过什么来判断操作是否在分支结构中
- 2024-11-06 数据结构错题收录(十九) 数据结构题集解析
- 2024-11-06 计算机二级公共知识第一章 数据结构与算法
- 2024-11-06 计算机专业基础综合历年真题试卷汇编
- 2024-11-06 常见的网络拓扑结构,你都看懂吗 常见网络拓扑结构有哪几种?
- 2024-11-06 设计模式21-Interpreter(解析器)模式-四则运算
- 2024-11-06 面试官:为什么选择B+树作为数据库索引结构?谈谈你的理解
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)