熵最早是由热力学定义的一个函数,是普朗克来中国讲学的时候引入的。英文是“entropy”这个字,中文词汇中没有相关的字眼。当时是一个有名的姓胡的学者作为普朗克的翻译。因为这个熵“S”是定义为热量Q与温度的比值,所以当时他翻译是立刻创造出熵这个字,从火,从商。

1、为什么有的信息量大有的信息量小?

有些事情本来不是很确定,例如明天股票是涨还是跌。如果你告诉我明天NBA决赛开始了,这两者似乎没啥关系啊,所以你的信息对明天股票是涨是跌带来的信息量很少。但是假如NBA决赛一开始,大家都不关注股票了没人坐庄股票有99%的概率会跌,那你这句话信息量就很大,因为本来不确定的事情变得十分确定。

而有些事情本来就很确定了,例如太阳从东边升起,你再告诉我一百遍太阳从东边升起,你的话还是丝毫没有信息量的,因为这事情不能更确定了。

所以说信息量的大小跟事情不确定性的变化有关。

2、那么,不确定性的变化跟什么有关呢?
一,跟事情的可能结果的数量有关;二,跟概率有关。
先说一。
例如我们讨论太阳从哪升起。本来就只有一个结果,我们早就知道,那么无论谁传递任何信息都是没有信息量的。
当可能结果数量比较大时,我们得到的新信息才有潜力拥有大信息量。

二,单看可能结果数量不够,还要看初始的概率分布。例如一开始我就知道小明在电影院的有15*15个座位的A厅看电影。小明可以坐的位置有225个,可能结果数量算多了。可是假如我们一开始就知道小明坐在第一排的最左边的可能是99%,坐其它位置的可能性微乎其微,那么在大多数情况下,你再告诉我小明的什么信息也没有多大用,因为我们几乎确定小明坐第一排的最左边了。

3、那么,怎么衡量不确定性的变化的大小呢?怎么定义呢?
这个问题不好回答,但是假设我们已经知道这个量已经存在了,不妨就叫做信息量,那么你觉得信息量起码该满足些什么特点呢?

一,起码不是个负数吧,不然说句话还偷走信息呢~

二,起码信息量和信息量之间可以相加吧!假如你告诉我的第一句话的信息量是3,在第一句话的基础上又告诉我一句话,额外信息量是4,那么两句话信息量加起来应该等于7吧!难道还能是5是9?

三,刚刚已经提过,信息量跟概率有关系,但我们应该会觉得,信息量是连续依赖于概率的吧!就是说,某一个概率变化了0.0000001,那么这个信息量不应该变化很大。

四,刚刚也提过,信息量大小跟可能结果数量有关。假如每一个可能的结果出现的概率一样,那么对于可能结果数量多的那个事件,新信息有更大的潜力具有更大的信息量,因为初始状态下不确定性更大。

那有什么函数能满足上面四个条件呢?负的对数函数,也就是-log(x)!底数取大于1的数保证这个函数是非负的就行。前面再随便乘个正常数也行。
a. 为什么不是正的?因为假如是正的,由于x是小于等于1的数,log(x)就小于等于0了。第一个特点满足。
b. 咱们再来验证一下其他特点。三是最容易的。假如x是一个概率,那么log(x)是连续依赖于x的。done
c。四呢?假如有n个可能结果,那么出现任意一个的概率是1/n,而-log(1/n)是n的增函数,没问题。
d。最后验证二。由于-log(xy) = -log(x) -log(y),所以也是对的。学数学的同学注意,这里的y可以是给定x的条件概率,当然也可以独立于x。

By the way,这个函数是唯一的(除了还可以多乘上任意一个常数),有时间可以自己证明一下,或者查书。

ok,所以我们知道一个事件的信息量就是这个事件发生的概率的负对数

最后终于能回到信息熵。信息熵是跟所有可能性有关系的。每个可能事件的发生都有个概率。信息熵就是平均而言发生一个事件我们得到的信息量大小。所以数学上,信息熵其实是信息量的期望

信息论之父克劳德·香农,总结出了信息熵的三条性质:

  • 单调性,即发生概率越高的事件,其所携带的信息熵越低。极端案例就是“太阳从东方升起”,因为为确定事件,所以不携带任何信息量。从信息论的角度,认为这句话没有消除任何不确定性。
  • 非负性,即信息熵不能为负。这个很好理解,因为负的信息,即你得知了某个信息后,却增加了不确定性是不合逻辑的。
  • 累加性,即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和。写成公式就是:

事件 同时发生,两个事件相互独立

那么信息熵

香农从数学上,严格证明了满足上述三个条件的随机变量不确定性度量函数具有唯一形式:

其中的 为常数,我们将其归一化为 即得到了信息熵公式。

补充一下,如果两个事件不相互独立,那么满足

,其中 是互信息(mutual information),代表一个随机变量包含另一个随机变量信息量的度量,这个概念在通信中用处很大。

=========================================================
附代码:
import matplotlib.pyplot as plt
import numpy as np
eps=0.00001
p=np.linspace(eps,1-eps,100)
H=-p*np.log(p)-(1-p)*np.log(1-p)
plt.plot(p,H)
plt.show()
可知在p=0或1时,信息熵为0,即在确定性事件中包含的信息量很少,而不确定时当p=0.5时,信息熵最大。

链接:https://www.zhihu.com/question/22178202/answer/223017546

链接:https://www.zhihu.com/question/22178202/answer/49929786
来源:知乎

信息熵 entropy相关推荐

  1. 不用再往下划,信息熵(Entropy)概念及应用(附视频)都在这里啦!

    在学习浙财石向荣老师的"数据分析在审计中的应用"课程时,内容中涉及"信息熵"相关概念及应用,听完课程后仍旧困惑.一知半解,遂整理此文想法产生.因受限于数学功底, ...

  2. 最大信息熵增益_信息熵(Entropy)、信息增益(Information Gain)

    1. 信息熵:H(X) 描述X携带的信息量. 信息量越大(值变化越多),则越不确定,越不容易被预测. 对于抛硬币问题,每次有2种情况,信息熵为1 对于投骰子问题,每次有6中情况,信息熵为1.75 下面 ...

  3. 信息熵(entropy)定义公式的简单理解

    首先公式长这样: H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) H(X)=-\sum_{i=1}^{n} p\left(x_{i}\right) \l ...

  4. 信息熵(entropy)以及图像信息熵的理解

    关于信息熵,参考以下博文内容进行了理解: https://blog.csdn.net/saltriver/article/details/53056816 https://y1ran.blog.csd ...

  5. 机器学习理论之(1):概率分布,信息熵,朴素贝叶斯

    文章目录 概率 变量类型 Variable types 概率基础 边际概率 联合概率 条件概率 贝叶斯公式 Bayes,先验概率,后验概率 事件的独立和条件独立 独立的两个事件 条件独立的两个事件 不 ...

  6. 有参考图像的图像质量评估方法及代码(PSNR,SSIM,RMSE,NRMSE,ENTROPY)

    1.峰值信噪比PSNR PSNR(Peak Signal to Noise Ratio),峰值信噪比,即峰值信号的能量与噪声的平均能量之比,通常表示的时候取 log 变成分贝(dB),由于 MSE 为 ...

  7. 决策树——信息熵与信息增益

    参考:[https://www.cnblogs.com/YouXiangLiThon/p/7214393.html] 1.信息熵.条件熵.信息增益 信息熵(Entropy):度量随机变量Y={c1,c ...

  8. 机器学习(决策树一)——最直白的话来说信息熵

    接下来几篇博客介绍决策树,并且尽量用最直白的话来讲解.本篇博客介绍决策树中比较重要的一个概念--信息熵. 前置内容 信息熵可以说是决策树中最基本的概念,在介绍信息熵前,补充一点儿前置内容. 假设存在一 ...

  9. 熵 Entropy -- 香农熵、相对熵、交叉熵、条件熵

    快速概览: 香农熵 -- 熵的定义 交叉熵 -- 一般可做为分类模型的损失函数 (交叉熵是由相对熵转化过来的,交叉熵 = 相对熵 - 熵 ),对于采样的数据(训练集,熵H 是定值,故交叉熵 和 相对熵 ...

最新文章

  1. jQuery动画---自定义动画animate()
  2. 010_学生管理系统一
  3. 均差定义及性质(python实现)
  4. 牛客14605 画三角
  5. Vue-cli 3.X 构建工具零基础快速上手
  6. Headers and client library minor version mismatch.
  7. 第二章--电商项目DB规划
  8. spring框架中Bean的基本属性及调用外部properties等配置文件的方法介绍
  9. POJ1942 Paths on a Grid(组合)
  10. 解决Win7系统没有声音 麦克无声等问题
  11. 不显示参数名_非参数检验 之 非参数卡方检验
  12. 数据结构上机实践第四周项目6- 循环双链表应用
  13. 方舟编译器编译linux,方舟编译器环境配置
  14. python标准库abc的实用技巧
  15. 泰坦尼克号生存率预测
  16. matlab 傅立叶变换去噪
  17. Oracle默认数据库角色账号密码
  18. unbanu配置mysql数据库_UbuntuMySQL使用配置
  19. ORA-01779: 无法修改与非键值保存表对应的列
  20. 如何将GitHub上的项目或代码文件下载到本地,并且上传自己的代码

热门文章

  1. mysql中使用除法
  2. 高德车载导航自研图片格式的探索和实践
  3. pdf怎么转换成word?三种方法教会你
  4. 将本地硬盘映射到3389肉鸡
  5. Rank函数+中国式排名+PercentRank函数+lookup(根据占比划分等级)
  6. go语言web开发出错
  7. 2023新版图文详解SpringBoot整合SSM框架(附源码)
  8. 为四则运算设计一个类python_python的四则运算练习
  9. FPGA:IIC验证镁光EEPROM仿真模型(纯Verilog)
  10. 大数据004——Hadoop