信息熵和条件熵的计算
目录
- 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)logp(x)H(X) = - \sum_{x \in X} p(x) \log p(x) H(X)=−x∈X∑p(x)logp(x)
顺带一提,
0≤H(X)≤logn0 \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)logp(y)=−(p(Y=Yes)∗logp(Y=Yes)+p(Y=No)∗logp(Y=No))=−(914∗log2914+514∗log2514)=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∗log2149+145∗log2145)=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)logp(y)=−(p(Y=Yes∣X=High)∗logp(Y=Yes∣X=High)+p(Y=No∣X=High)∗logp(Y=No∣X=High)=−(37∗log237+47∗log247)=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∗log273+74∗log274)=0.9852
H(Y∣X=Normal)=−∑y∈Yp(y)logp(y)=−(p(Y=Yes∣X=Normal)∗logp(Y=Yes∣X=Normal)+p(Y=No∣X=Normal)∗logp(Y=No∣X=Normal)=−(67∗log267+17∗log217)=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∗log276+71∗log271)=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. 参考文章
- 什么是信息熵、条件熵和信息增益
信息熵和条件熵的计算相关推荐
- 【知识建设】信息熵、条件熵、互信息、交叉熵及相对熵(KL散度)
一.信息熵 1. 定义 衡量一个随机变量 X X X的信息量,用 H H H表示 根据这个定义,这应该是个不确定的值(随机变量是变化的),而数学上使用期望来将这种不确定性量化: H = ∑ x ∈ X ...
- 信息熵、条件熵、信息增益、相对熵 、交叉熵 解析
原文地址:https://www.cnblogs.com/kyrieng/p/8694705.html 1.信息熵 (information entropy) 熵 (entropy) 这一词最初来源于 ...
- 决策树基础—比特化Bits,信息熵,条件熵,联合熵
决策树基础-比特化Bits,信息熵,条件熵,联合熵 比特化(Bits) 一般化的比特化 信息熵 条件熵 联合熵 知道了决策树的直观理解,接下来了解一些决策树要用到了知识 比特化(Bits) 假设我现在 ...
- 通俗理解信息熵、条件熵、信息增益
转自知乎 https://zhuanlan.zhihu.com/p/26486223 ,https://zhuanlan.zhihu.com/p/26551798 作者:忆臻 主页:https://w ...
- 举例说明信息熵、互信息的计算过程
举例说明信息熵.互信息的计算过程_tangxianyu的博客-CSDN博客_互信息计算
- 信息量、信息熵、条件熵、KL散度、交叉熵
文章目录 1. 信息量 2. 信息熵 3. 条件熵 4. 交叉熵与KL散度 4.1 公式推导 1. 信息量 为了理解这个概念,我们先以两个具体的事件为例: 事件1:德国队获得世界杯冠军. 事件2: ...
- 通俗易懂——信息熵,条件熵,互信息和相对熵
文章目录 1 信息熵 2 条件熵 3 互信息 4 相对熵(KL散度) 5 交叉熵 1948年,香农在著名的论文"通信的数学原理"中首次提出了熵(Entropy)的概念,这也解决 ...
- 信息熵、条件熵——学习笔记
学习于知乎--忆臻大佬,通俗理解信息熵 - 知乎,通俗理解条件熵 - 知乎 1.信息熵 1.1 概念: 信息量是对信息的度量,信息的多少用信息量来衡量,我们接受到的信息量跟具体发生的事件有关,信息 ...
- python实现信息熵和条件熵
信息熵 信息熵,可以用来衡量一个信息的复杂程度,通俗的理解就是表示了这件事的不确定性,如果其不确定性越大,则信息熵的值也就越大,反之,则越小. 对于随机事件X,用pxp_{x}px表示事件x发生的概 ...
最新文章
- Python解析json字符串,json字符串用法
- iOS之深入解析高阶容器的原理和应用
- 关系型数据库(RDBMS)实质
- 电子商务实战课程-张晨光-专题视频课程
- Bomb(hdu 3555)
- 数据暑假实习面试_面试数据科学实习如何准备
- shell与其他语言不同点
- python语言数据挖掘python语言数据_Python语言数据挖掘01-环境搭建
- android json字符串转成json对象_【hive】解析JSON格式字符串
- 工作 3 年和读研 3 年哪个更值?
- ad20中如何在pcb里查找器件_技巧:Altium Designer中快速定位器件
- html+css基础入门学习教程之HTML 样式
- TPA4411RTJR 无电容立体声耳机驱动器 封装:QFN20
- 简易五子棋程序(C语言实现)
- 路由器选华硕还是tp_华硕路由器设置
- windows和linux系统文件目录
- 1.tessent命令学习笔记
- java 实现SocketIo客户端
- 针对计算机网络或者计算,北京自考“计算机网络与通信”计算题攻略(2)
- java内部类多继承_内部类和多继承