熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。在信息论里面,熵是对不确定性的测量。
1.1 熵的引入

事实上,熵的英文原文为entropy,最初由德国物理学家鲁道夫·克劳修斯提出,其表达式为:

它表示一个系系统在不受外部干扰时,其内部最稳定的状态。后来一中国学者翻译entropy时,考虑到entropy是能量Q跟温度T的商,且跟火有关,便把entropy形象的翻译成“熵”。

我们知道,任何粒子的常态都是随机运动,也就是"无序运动",如果让粒子呈现"有序化",必须耗费能量。所以,温度(热能)可以被看作"有序化"的一种度量,而"熵"可以看作是"无序化"的度量。

如果没有外部能量输入,封闭系统趋向越来越混乱(熵越来越大)。比如,如果房间无人打扫,不可能越来越干净(有序化),只可能越来越乱(无序化)。而要让一个系统变得更有序,必须有外部能量的输入。
    1948年,香农Claude E. Shannon引入信息(熵),将其定义为离散随机事件的出现概率。一个系统越是有序,信息熵就越低;反之,一个系统越是混乱,信息熵就越高。所以说,信息熵可以被认为是系统有序化程度的一个度量。
    若无特别指出,下文中所有提到的熵均为信息熵。

1.2 熵的定义
    下面分别给出熵、联合熵、条件熵、相对熵、互信息的定义。
    熵:如果一个随机变量X的可能取值为X = {x1, x2,…, xk},其概率分布为P(X = xi) = pi(i = 1,2, ..., n),则随机变量X的熵定义为:

把最前面的负号放到最后,便成了:


    上面两个熵的公式,无论用哪个都行,而且两者等价,一个意思(这两个公式在下文中都会用到)。

联合熵:两个随机变量X,Y的联合分布,可以形成联合熵Joint Entropy,用H(X,Y)表示。
    条件熵:在随机变量X发生的前提下,随机变量Y发生所新带来的熵定义为Y的条件熵,用H(Y|X)表示,用来衡量在已知随机变量X的条件下随机变量Y的不确定性。

且有此式子成立:H(Y|X) = H(X,Y) – H(X),整个式子表示(X,Y)发生所包含的熵减去X单独发生包含的熵。至于怎么得来的请看推导:

简单解释下上面的推导过程。整个式子共6行,其中

第二行推到第三行的依据是边缘分布p(x)等于联合分布p(x,y)的和;
    第三行推到第四行的依据是把公因子logp(x)乘进去,然后把x,y写在一起;
    第四行推到第五行的依据是:因为两个sigma都有p(x,y),故提取公因子p(x,y)放到外边,然后把里边的-(log p(x,y) - log p(x))写成- log (p(x,y)/p(x) ) ;
    第五行推到第六行的依据是:条件概率的定义p(x,y) = p(x) * p(y|x),故p(x,y) / p(x) =  p(y|x)。

    相对熵:又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度等。设p(x)、q(x)是X中取值的两个概率分布,则p对q的相对熵是:

在一定程度上,相对熵可以度量两个随机变量的“距离”,且有D(p||q) ≠D(q||p)。另外,值得一提的是,D(p||q)是必然大于等于0的。

互信息:两个随机变量X,Y的互信息定义为X,Y的联合分布和各自独立分布乘积的相对熵,用I(X,Y)表示:

且有I(X,Y)=D(P(X,Y) || P(X)P(Y))。下面,咱们来计算下H(Y)-I(X,Y)的结果,如下:

通过上面的计算过程,我们发现竟然有H(Y)-I(X,Y) = H(Y|X)。故通过条件熵的定义,有:H(Y|X) = H(X,Y) - H(X),而根据互信息定义展开得到H(Y|X) = H(Y) - I(X,Y),把前者跟后者结合起来,便有I(X,Y)= H(X) + H(Y) - H(X,Y),此结论被多数文献作为互信息的定义。
---------------------
作者:刺客五六柒
来源:CSDN
原文:https://blog.csdn.net/qq_39521554/article/details/80559531
版权声明:本文为博主原创文章,转载请附上博文链接!

熵(entropy)的定义相关推荐

  1. 机器学习之熵【从定义到代码】

    熵的定义 熵(entropy)的本质是一个系统"内在的混乱程度",原是热力学概念,被香农引用到信息论中,被称为香农熵: 熵在热力学中可以理解为能量转换过程中变为新状态(浪费掉的.无 ...

  2. 自然语言中的重要概念——熵(Entropy)

    一.背景 熵是热力学中的一个重要的概念,最早是由香农(Claude Shannon)将熵应用于信息的度量. 熵(Entropy)是描述事物无序性的一个重要的参数,熵越大则无序性越强,同时,熵表示一个随 ...

  3. binary_crossentropy(二元交叉熵)的定义

    binary_crossentropy(二元交叉熵)的定义 https://www.cnblogs.com/sunrise-keephungary/p/10056027.html

  4. 熵(Entropy),交叉熵(Cross-Entropy),KL-松散度(KL Divergence),似然(Likelihood)

    1.介绍: 我们如何去衡量y,y`的接近程度? 在这里我们介绍一下一种衡量方式交叉熵(Cross-Entropy),然后说明一下为什么这种方式适用于分类问题. 2.熵(Entropy): 熵的概念来自 ...

  5. 算一串数字的entropy_什么是熵的计算机科学定义?

    熵可能意味着不同的东西: 计算 在计算中,熵是操作系统或应用程序收集的用于密码学或其他需要随机数据的用途的随机性. 这种随机性通常是从硬件来源收集的,既可以是已有的,如鼠标移动,也可以是专门提供的随机 ...

  6. 使用Python计算离散随机变量的熵(Entropy)

    一.离散随机变量 设为离散型随机变量的所有可能值:而是取的概率,即 则称为(离散)随机变量的概率分布,而且它满足下面的条件: 在现实中,通常这个随机变量的取值个数是可数的.这里假设随机变量的取值个数为 ...

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

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

  8. 熵 计算机学,计算机科学 – 熵的计算机科学定义是什么?

    熵可以表示不同的东西: In computing, entropy is the randomness collected by an operating system or application ...

  9. 一文懂熵Entropy

    本文翻译自https://naokishibuya.medium.com/demystifying-entropy-f2c3221e2550 我们常常听到[熵增],[熵减]等概念.那么熵是什么? 熵这 ...

  10. 熵速率定义与各类熵的关系

    本专栏包含信息论与编码的核心知识,按知识点组织,可作为教学或学习的参考.markdown版本已归档至[Github仓库:information-theory],需要的朋友们自取.或者公众号[AISha ...

最新文章

  1. 科技热点思考:元宇宙发展及其风险挑战
  2. 常见排序算法及其java实现
  3. C语言用DFS实现找到图的所有路径(邻接矩阵实现)
  4. 【原创】iframe与父页面之间,变量、方法互相调用
  5. 阿里、小米、美团或将入恒指,但这还远远不够!
  6. 卡通角色表情驱动系列一
  7. Http协议(5)—HTTP摘要认证
  8. mysql-普通查询(General Query)慢查询(Slow Query)相关日志配置
  9. android过滤html标签,Android中处理TextView带超链接HTML标签的点击事件处理方法
  10. 用C语言操作MySQL数据库
  11. C#中委托和事件的区别
  12. 服务器500g硬盘分区方案,win7500g硬盘分区方案
  13. == 和 equals方法的区别
  14. matlab compass函数,Matlab基本函数-compass函数 | 学步园
  15. 字符串分割的时候用StringUtils.split()方法代替string自带的split,特殊字符不用转义
  16. ScreenToClient和ClientToScreen
  17. 如何批量等比例缩放图片尺寸?
  18. 关闭compactos_windows 10 CompactOS最节省空间的安装系统
  19. Win 10出现bitlocke恢复,蓝屏错误代码0x1600007e
  20. PPC与PC无线连接(Wi-Fi)

热门文章

  1. Excel设置密码保护工作表
  2. 生成静态链接库和动态链接库
  3. html怎么修改td 的宽度,html td怎么设置宽度
  4. Lined List 链表总结 Reverse链表 - 反转(python) leetcode 206 92
  5. 什么是JPA?Java持续性介绍
  6. php启动,重启,关闭命令
  7. 数据结构(四)—— 线性表的链式存储
  8. 软件测试:购买商品类测试不可忽略的问题
  9. Java实现 蓝桥杯 历届试题 波动数列
  10. git 修改分支名称 --- git branch -m