目录

  • 1. 信息熵
  • 2. 条件熵
  • 3. 参考文章

表1. 目标值为PlayTennis的14个训练样例

Day Outlook Temperature Humidity Wind PlayTennis
D1D_1D1​ Sunny Hot High Weak No
D2D_2D2​ Sunny Hot High Strong No
D3D_3D3​ Overcast Hot High Weak Yes
D4D_4D4​ Rain Mild High Weak Yes
D5D_5D5​ Rain Cool Normal Weak Yes
D6D_6D6​ Rain Cool Normal Strong No
D7D_7D7​ Overcast Cool Normal Strong Yes
D8D_8D8​ Sunny Mild High Weak No
D9D_9D9​ Sunny Cool Normal Weak Yes
D10D_{10}D10​ Rain Mild Normal Weak Yes
D11D_{11}D11​ Sunny Mild Normal Strong Yes
D12D_{12}D12​ Overcast Mild High Strong Yes
D13D_{13}D13​ Overcast Hot Normal Weak Yes
D14D_{14}D14​ Rain Mild High Strong No

如表1所示,目标值是:PlayTennis,也就是是否打球。
表1中有四个特征,分别是天气(Outlook)、温度(Temperature)、湿度(Humidity)以及风(Wind)。

1. 信息熵

信息熵的公式:
H(X)=−∑x∈Xp(x)log⁡p(x)H(X) = - \sum_{x \in X} p(x) \log p(x) H(X)=−x∈X∑​p(x)logp(x)
顺带一提,
0≤H(X)≤log⁡n0 \leq H(X) \leq \log n 0≤H(X)≤logn

以表1为例,设是否打球这一随机变量为YYY,则
p(Y=Yes)=914p(Y = \text{Yes}) = \frac{9}{14} p(Y=Yes)=149​
p(Y=No)=514p(Y = \text{No}) = \frac{5}{14} p(Y=No)=145​
所以,
H(Y)=−∑y∈Yp(y)log⁡p(y)=−(p(Y=Yes)∗log⁡p(Y=Yes)+p(Y=No)∗log⁡p(Y=No))=−(914∗log⁡2914+514∗log⁡2514)=0.9403\begin{aligned} H(Y) &= - \sum_{y \in Y} p(y) \log p(y) \\ &= - ( p(Y=\text{Yes}) \ast \log p(Y=\text{Yes}) + p(Y=\text{No}) \ast \log p(Y=\text{No}) ) \\ &= - ( \frac{9}{14} \ast \log_2 \frac{9}{14} + \frac{5}{14} \ast \log_2 \frac{5}{14}) \\ &= 0.9403 \end{aligned} H(Y)​=−y∈Y∑​p(y)logp(y)=−(p(Y=Yes)∗logp(Y=Yes)+p(Y=No)∗logp(Y=No))=−(149​∗log2​149​+145​∗log2​145​)=0.9403​


2. 条件熵

条件熵表示在条件XXX下YYY的信息熵。
公式如下:
H(Y∣X)=∑x∈Xp(x)H(Y∣X=x)H(Y|X) = \sum_{x \in X} p(x) H(Y|X=x) H(Y∣X)=x∈X∑​p(x)H(Y∣X=x)

在表1的例子中,设湿度(Humidity)为随机变量XXX,则:
p(X=High)=714=12p(X=\text{High}) = \frac{7}{14} = \frac{1}{2} p(X=High)=147​=21​

p(X=Normal)=714=12p(X=\text{Normal}) = \frac{7}{14} = \frac{1}{2} p(X=Normal)=147​=21​
所以,
H(Y∣X)=∑x∈Xp(x)H(Y∣X=x)=p(X=High)∗H(Y∣X=High)+p(X=Normal)∗H(Y∣X=Normal)\begin{aligned} H(Y|X) &= \sum_{x \in X} p(x) H(Y|X=x) \\ &= p(X=\text{High}) \ast H(Y|X=\text{High}) + p(X=\text{Normal}) \ast H(Y|X=\text{Normal}) \end{aligned} H(Y∣X)​=x∈X∑​p(x)H(Y∣X=x)=p(X=High)∗H(Y∣X=High)+p(X=Normal)∗H(Y∣X=Normal)​

接下来计算H(Y∣X=High)H(Y|X=\text{High})H(Y∣X=High)和H(Y∣X=Normal)H(Y|X=\text{Normal})H(Y∣X=Normal)。

根据信息熵的计算方法可得:
H(Y∣X=High)=−∑y∈Yp(y)log⁡p(y)=−(p(Y=Yes∣X=High)∗log⁡p(Y=Yes∣X=High)+p(Y=No∣X=High)∗log⁡p(Y=No∣X=High)=−(37∗log⁡237+47∗log⁡247)=0.9852\begin{aligned} H(Y|X=\text{High}) &= - \sum_{y \in Y} p(y) \log p(y) \\ &= - ( p(Y=\text{Yes} | X=\text{High}) \ast \log p(Y=\text{Yes} | X=\text{High} ) \\ &+ p(Y=\text{No} | X=\text{High}) \ast \log p(Y=\text{No} | X=\text{High} ) \\ &= - ( \frac{3}{7} \ast \log_2 \frac{3}{7} + \frac{4}{7} \ast \log_2 \frac{4}{7} ) \\ &= 0.9852 \end{aligned} H(Y∣X=High)​=−y∈Y∑​p(y)logp(y)=−(p(Y=Yes∣X=High)∗logp(Y=Yes∣X=High)+p(Y=No∣X=High)∗logp(Y=No∣X=High)=−(73​∗log2​73​+74​∗log2​74​)=0.9852​

H(Y∣X=Normal)=−∑y∈Yp(y)log⁡p(y)=−(p(Y=Yes∣X=Normal)∗log⁡p(Y=Yes∣X=Normal)+p(Y=No∣X=Normal)∗log⁡p(Y=No∣X=Normal)=−(67∗log⁡267+17∗log⁡217)=0.5917\begin{aligned} H(Y|X=\text{Normal}) &= - \sum_{y \in Y} p(y) \log p(y) \\ &= - ( p(Y=\text{Yes} | X=\text{Normal}) \ast \log p(Y=\text{Yes} | X=\text{Normal}) \\ &+ p(Y=\text{No} | X=\text{Normal}) \ast \log p(Y=\text{No} | X=\text{Normal}) \\ &= - ( \frac{6}{7} \ast \log_2 \frac{6}{7} + \frac{1}{7} \ast \log_2 \frac{1}{7} ) \\ &= 0.5917 \end{aligned} H(Y∣X=Normal)​=−y∈Y∑​p(y)logp(y)=−(p(Y=Yes∣X=Normal)∗logp(Y=Yes∣X=Normal)+p(Y=No∣X=Normal)∗logp(Y=No∣X=Normal)=−(76​∗log2​76​+71​∗log2​71​)=0.5917​

因此,
H(Y∣X)=∑x∈Xp(x)H(Y∣X=x)=p(X=High)∗H(Y∣X=High)+p(X=Normal)∗H(Y∣X=Normal)=12∗0.9852+12∗0.5917=0.7884\begin{aligned} H(Y|X) &= \sum_{x \in X} p(x) H(Y|X=x) \\ &= p(X=\text{High}) \ast H(Y|X=\text{High}) + p(X=\text{Normal}) \ast H(Y|X=\text{Normal}) \\ &= \frac{1}{2} \ast 0.9852 + \frac{1}{2} \ast 0.5917 \\ &= 0.7884 \end{aligned} H(Y∣X)​=x∈X∑​p(x)H(Y∣X=x)=p(X=High)∗H(Y∣X=High)+p(X=Normal)∗H(Y∣X=Normal)=21​∗0.9852+21​∗0.5917=0.7884​


3. 参考文章

  1. 什么是信息熵、条件熵和信息增益

信息熵和条件熵的计算相关推荐

  1. 【知识建设】信息熵、条件熵、互信息、交叉熵及相对熵(KL散度)

    一.信息熵 1. 定义 衡量一个随机变量 X X X的信息量,用 H H H表示 根据这个定义,这应该是个不确定的值(随机变量是变化的),而数学上使用期望来将这种不确定性量化: H = ∑ x ∈ X ...

  2. 信息熵、条件熵、信息增益、相对熵 、交叉熵 解析

    原文地址:https://www.cnblogs.com/kyrieng/p/8694705.html 1.信息熵 (information entropy) 熵 (entropy) 这一词最初来源于 ...

  3. 决策树基础—比特化Bits,信息熵,条件熵,联合熵

    决策树基础-比特化Bits,信息熵,条件熵,联合熵 比特化(Bits) 一般化的比特化 信息熵 条件熵 联合熵 知道了决策树的直观理解,接下来了解一些决策树要用到了知识 比特化(Bits) 假设我现在 ...

  4. 通俗理解信息熵、条件熵、信息增益

    转自知乎 https://zhuanlan.zhihu.com/p/26486223 ,https://zhuanlan.zhihu.com/p/26551798 作者:忆臻 主页:https://w ...

  5. 举例说明信息熵、互信息的计算过程

    举例说明信息熵.互信息的计算过程_tangxianyu的博客-CSDN博客_互信息计算

  6. 信息量、信息熵、条件熵、KL散度、交叉熵

    文章目录 1. 信息量 2. 信息熵 3. 条件熵 4. 交叉熵与KL散度 4.1 公式推导 1. 信息量   为了理解这个概念,我们先以两个具体的事件为例: 事件1:德国队获得世界杯冠军. 事件2: ...

  7. 通俗易懂——信息熵,条件熵,互信息和相对熵

    文章目录 1 信息熵 2 条件熵 3 互信息 4 相对熵(KL散度) 5 交叉熵   1948年,香农在著名的论文"通信的数学原理"中首次提出了熵(Entropy)的概念,这也解决 ...

  8. 信息熵、条件熵——学习笔记

    学习于知乎--忆臻大佬,通俗理解信息熵 - 知乎,通俗理解条件熵 - 知乎  1.信息熵  1.1 概念: 信息量是对信息的度量,信息的多少用信息量来衡量,我们接受到的信息量跟具体发生的事件有关,信息 ...

  9. python实现信息熵和条件熵

    信息熵 信息熵,可以用来衡量一个信息的复杂程度,通俗的理解就是表示了这件事的不确定性,如果其不确定性越大,则信息熵的值也就越大,反之,则越小. 对于随机事件X,用pxp_{x}px​表示事件x发生的概 ...

最新文章

  1. Python解析json字符串,json字符串用法
  2. iOS之深入解析高阶容器的原理和应用
  3. 关系型数据库(RDBMS)实质
  4. 电子商务实战课程-张晨光-专题视频课程
  5. Bomb(hdu 3555)
  6. 数据暑假实习面试_面试数据科学实习如何准备
  7. shell与其他语言不同点
  8. python语言数据挖掘python语言数据_Python语言数据挖掘01-环境搭建
  9. android json字符串转成json对象_【hive】解析JSON格式字符串
  10. 工作 3 年和读研 3 年哪个更值?
  11. ad20中如何在pcb里查找器件_技巧:Altium Designer中快速定位器件
  12. html+css基础入门学习教程之HTML 样式
  13. TPA4411RTJR 无电容立体声耳机驱动器 封装:QFN20
  14. 简易五子棋程序(C语言实现)
  15. 路由器选华硕还是tp_华硕路由器设置
  16. windows和linux系统文件目录
  17. 1.tessent命令学习笔记
  18. java 实现SocketIo客户端
  19. 针对计算机网络或者计算,北京自考“计算机网络与通信”计算题攻略(2)
  20. java内部类多继承_内部类和多继承

热门文章

  1. MFC 添加皮肤库方法步骤
  2. HPE慧与(中国):从IT与CT深度融合看下一代网管
  3. ~4= -5 怎么来的
  4. 《思考的艺术》——书评与思维导图
  5. java基础——第三周总结
  6. 使用PICT生成成对组合进行组合覆盖测试,以及PICT和正交表的比较
  7. C++ 接配器(Adapter)总结
  8. 数据革命在危机中诞生 援助组织尝试灵活方法拨开战争迷雾
  9. LOL英雄联盟官方API调用
  10. Python3 - h5在微信内保存视频到相册