信息与熵值的计算

原文地址https://blog.csdn.net/kuang_liu/article/details/21469553

1. 什么是信息?

信息的定义涉及概率论中的随机事件概率,如果待分类事物可能划分在多个分类之中,则符号 Xi 的信息定义为:

其中 p(xi) 是选择该分类的概率。(该定义来自于《机器学习实战》P35)

举个例子:已知事件 X 的概率分布如下,计算符号 的信息:

XX0X1
 p 0.50.5

l(x0)  = -log2p(x0) = -log2(0.5) = 1
l(x1) = l(x0) = 1
说明:
  • 信息永远≥ 0;
  • 确定事件(p = 1),信息 = 0;
这里引用香农《信息论》的一句话来帮助理解信息的物理含义:

“logn(q)表示具有总概率q的那些最可能序列为了描述序列所需要的二进制位数”。

可见信息的物理含义是通信编码所需要的比特数。结合上面的例子,X 有两种取值,用 1bit 就可以编码。与计算出的 信息 = 1 相吻合。

2. 什么是熵?

熵定义为:信息的数学期望


所以熵的本质也还是信息,信息的本质是编码所需的比特位数。所以熵也是来衡量编码位数的。

我们知道熵越大,就越无序,越混乱。直觉上一个确定的事件熵应该 = 0。

下面举几个例子
----------------------------------------------------------------------------------------------------
已知事件X 的概率分布:
XX0X1
p10
计算 X 的熵。
根据公式,熵 H 是信息的期望,先求信息:
l(x0) = -log2(p(x0)) = -log2(1) = 0
l(x1) = -log2(0) = -Infinity
所以 H = l(x0) * p(x0) + l(x1) * p(x1) = 0 * 1 - 0 * Infinity = 0,结果与确定事件熵为 0 相吻合。
----------------------------------------------------------------------------------------------------
已知事件 X 的概率分布:
XX0X1
 p 0.50.5
计算 X 的熵。

l(x0) = l(x1) = -log2(0.5) = 1
H = 0.5 * 1 + 0.5 * 1 = 1,可见不确定事件比确定事件熵要大,即数据更混乱。
----------------------------------------------------------------------------------------------------
已知事件 X 的概率分布:
  X X0X1X2
p1/31/31/3

计算  X 的熵。

首先直觉上猜测一下这次 X 取三个值,比上一次更混乱,熵应该更大才对。
l(x0) = l(x1) = l(x2) = -log2(1/3) = 1.585
H = 3 * 1.585 * 1/3 = 1.585
----------------------------------------------------------------------------------------------------
可见:
  • 确定事件熵最小 = 0;
  • 随机事件 X 可以取的值越多,对应的熵值越大,也就是通常说的越“混乱”。
前边理解的熵其实也是一种编码所需的比特位数的一种度量参数
例 1 中,确定事件无需编码,0 个bit位,与计算出的熵 = 0 吻合;
例 2 中,两种情形的等概率事件,1 个bit位就可以编码,与计算出的熵 = 1吻合;
例 2 中,三种情形的等概率事件,2 个bit位就可以编码,与计算出的熵 = 1.58 ≈ 2 也算吻合;(如果是四种情形的话就正好等于2!)


下面引用一些《信息论》中的图片和文字。
具有概率 p 和 q = 1 - p 两种可能性情况下,它的熵为:
熵与 p 的关系图(作者注:注意 Y 轴熵 H 下面写的是 bits,也就是编码需要的 bit 数)

说明:
  • 当且仅当所有概率pi 除了一个之外其余所有概率 = 0 时, H = 0。换句话说,仅仅在结果完全确定的情况下 H 才 = 0,否则 H > 0;
  • 如果所有的 pi 相等,即 pi = 1/n,则 H 取得最大值 = logn。这对应着最不确定,最混乱的情形;
  • 任何一种使概率p1, p2, ..., pn 趋于均等的变动,都会使 H 增大。

后记:
在 Tom M. Mitchell 著的《Machine Learning》P41 关于熵的解释写到:
“信息论中的熵的一种解释是,熵确定了要编码集合 S 中任意成员(即以均匀的概率随机抽取的一个成员)的分类所需要的最少的二进制位数。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33427.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息熵的数值计算公式

1948年,信息论之父 C. E. Shannon (香农)借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式。 信息熵介绍 一元变量信息熵: 式中对数一般取2为底&#…

从熵到相位传递熵,附matlba和python代码

先来一张图,预览一下最近为了整明白相位传递熵所要恶补的知识叭,泪目了:( 好吧,废话不多说,直接开始吧! 一. 熵是什么? 1、香浓熵 2、联合熵、条件熵和互信息 3、传递熵 二、直方图 1、连续随…

信息熵计算权重

信息熵理论及应用 1948年美国数学家香农(shanonc.E)为解决信息的度量问题提出了信息熵的概念。信息熵是信息论中用来刻画信息无需度的一个量,熵值越大,表示信息的无序化程度越高,相对应的信息效率越高 计算过程 建立…

熵的推导与计算

一、信息熵 熵 (entropy) 这一词最初来源于热力学。1948年,克劳德爱尔伍德香农将热力学中的熵引入信息论,所以也被称为香农熵 (Shannon entropy),信息熵 (information entropy)。本文只讨论信息熵。首先,我们先来理解一下信息这个…

如何更好的分析潜在人脉?聊聊华为云图引擎GES的Cypher子查询

摘要:本文以华为云图引擎 GES 为例,来介绍如何使用图查询语言 Cypher 表达一些需要做数据局部遍历的场景。 本文分享自华为云社区《使用 Cypher 子查询进行图探索 -- 以华为云图引擎 GES 为例》,作者:蜉蝣与海。 在图数据库/图计…

基于面板数据的熵值法介绍与实现

熵值法是一种基于信息熵理论的客观赋值方法。即数据越离散,所含信息量越多,对综合评价影响越大。 目录 一、基于面板数据熵值法介绍二、R语言实现参考文献 一、基于面板数据熵值法介绍 传统的熵值法有个弊端,只能针对于截面数据,…

信息熵的计算

信息熵计算公式: 演示数据: 性别(x)考试成绩(y)男优女优男差女优男优 X的信息熵计算为: p(男) 3/5 0.6 p(女) 2/5 0.4 根据上面的计算公式可得: 列X的信息熵 为: H&…

各种信息熵(Information entropy)的计算方法

一、Jensen不等式 若f为区间I上的凹函数,则Jensen不等式成立: 这里若函数f为凹函数,则有: 凹函数(上凸)如下图所示: 归纳证明: 二、信息论 1.熵(信息不确定性度…

信息与信源熵

0x01 三个定义 信息 指各个事物运动的状态及状态变化的方式。人们从对周围世界的观察得到的数据中获得信息。信息是抽象的意识或知识,它是看不见、摸不到的。当由人脑的思维活动产生的一种想法仍被存储在脑子里时,它就是一种信息。 消息 指包含信息的…

python计算图片的信源熵值(信息熵)

附录: from PIL import Image from matplotlib import pyplot as plt import numpy as np import scipy as cp import math image Image.open(rC:\Users\Administrator\Desktop\IMG.jpg) # 读入和显示图像 imagesnp.asarray(image) plt.subplot(211) plt.imshow(im…

【熵的计算】

熵的计算 什么是熵? 定义: 熵是表示随机变量不确定性的度量 简单理解:熵就是混乱程度,一个集合中类别越多,越混乱,属于哪一个类别越不确定。 熵的计算公式: 简单理解一下公式: …

信息熵计算及代码

实验目的:了解离散信源数学模型和信息熵实验内容:以附件中英文文本文件中的内容为来源,构建26个英文字母(区分大小写)为信源符号的数学模型,要求输出字母的概率和该模型的信息熵。要求:请使用自己熟悉的编程语言,完成信源建模,输出…

信息熵的计算与分析

信息熵的计算与分析 一、[实验目的]二、[实验环境]三、[实验原理]四、[实验内容]五、[实验过程]1、二元信源熵函数曲线2、求解离散单符号信源熵3、计算图像一维图像熵 一、[实验目的] 1、掌握离散信源熵的原理和计算方法。 2、熟悉matlab 软件的基本操作,练习使 用…

【chatgpt】解除PDF的password

无论是Adobe Acrobat Pro还是Pdf xchange editor都是一样的,更改安全性就可以了。 把该加密Pdf导入软件,然后点文件,属性,安全性,改成无安全后确定就行了。 pdf是可携带文件格式,亦称“PDF(portable docum…

免费好用的聊天机器人上线,原Openai前员工们创立的Claude

1.下载slack,注册登录。 2.在claude网站上同意Al与你的slack账号相联接。 3.在slack里就可以直接与AI对话了。 4.网页端Mac、苹果手机、安卓都可以,win没试过,应该也可以。 具体的细致操作网上有,也可以留言讨论。 Anthropic是一家总部位…

国内又款智能AI聊天软件-科大讯飞星火模型

介绍 介绍 中国科大讯飞星火GPT聊天软件是一款基于自然语言处理技术的人工智能聊天机器人。它利用了大量的文本数据,通过深度学习模型进行训练,从而实现与用户的智能对话。讯飞星火GPT聊天软件能够理解用户输入的问题或指令,并根据预设的回答…

启英泰伦推出多种智能语音识别照明解决方案,改装简单,成本低

随着人工智能技术的普及,智能家居设备开始走进千家万户。而智能照明系统成为其不可或缺的一部分,占据着举足轻重的地位。 但是照明系统和其他家居设备不一样的是,开发商交房时已布好电路,或用户直接购买精装房,导致改…

让 ChatGPT 更智能,Tauri 带你实现 AI 对话应用

背景 Tauri 和 Electron 都是用于开发跨平台桌面应用程序的工具,因为最近使用ChatGPT在国内环境的确不够友好,又没有一个比较轻量简洁的工具可用,如是想自己造个轻量点的轮子,力争做到代码轻量,界面美观简洁&#xff…

[AI达人特训营第三期] 使用Lora技术用Dreambooth训练国潮风格模型

★★★ 本文源自AlStudio社区精品项目,【点击此处】查看更多精品内容 >>> DreamBooth 介绍 DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation是一种新的文本生成图像(text2image)的“个性化”(可适应用…

【社群运营】AI智能对话,打造自动化社群

人工智能大背景下,各行各业都在往智能化发展,无论是办公产品,还是生产器械都选择接入了更加智能的AI来提高生产效率。那么,在日常的社群管理工作中,我们又能否跟上这一波热度,让社群自动化高效运营&#xf…