信息熵学习笔记

article/2025/8/25 6:28:54

简介

在信息论中,熵(entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵信源熵平均自信息量
熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大。
比较不可能发生的事情,当它发生了,会提供更多的信息。
熵的单位通常为比特,但也用Sh、nat、Hart计量,取决于定义用到对数的底。

熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。在信息论里面,熵是对不确定性的测量。但是在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少

英语文本数据流的熵比较低,因为英语很容易读懂,也就是说很容易被预测。即便我们不知道下一段英语文字是什么内容,但是我们能很容易地预测,比如,字母e总是比字母z多,或者qu字母组合的可能性总是超过q与任何其它字母的组合。如果未经压缩,一段英文文本的每个字母需要8个比特来编码,但是实际上英文文本的熵大概只有4.7比特。

消息的熵乘以消息的长度决定了消息可以携带多少信息。

熵的计算

如果有一枚理想的硬币,其出现正面和反面的机会相等,则抛硬币事件的熵等于其能够达到的最大值。我们无法知道下一个硬币抛掷的结果是什么,因此每一次抛硬币都是不可预测的。
因此,使用一枚正常硬币进行若干次抛掷,这个事件的熵是一比特,因为结果不外乎两个——正面或者反面,可以表示为0, 1编码,而且两个结果彼此之间相互独立。若进行n次独立实验,则熵为n,因为可以用长度为n的比特流表示。

但是如果一枚硬币的两面完全相同,那个这个系列抛硬币事件的熵等于零,因为结果能被准确预测。现实世界里,我们收集到的数据的熵介于上面两种情况之间。

定义

依据Boltzmann’s H-theorem,香农把随机变量X的熵值 Η(希腊字母Eta)定义如下,其值域为{x1, …, xn}:
H ( X ) = ∑ i P ( x i ) I ( x i ) = − ∑ i P ( x i ) log ⁡ b P ( x i ) \mathrm{H} (X)=\sum _{{i}}{{\mathrm {P}}(x_{i})\,{\mathrm {I}}(x_{i})}=-\sum _{{i}}{{\mathrm {P}}(x_{i})\log _{b}{\mathrm {P}}(x_{i})} H(X)=iP(xi)I(xi)=iP(xi)logbP(xi)
其中,P为X的概率质量函数(probability mass function),E为期望函数,而I(X)是X的信息量(又称为自信息)。I(X)本身是个随机变数。

当取自有限的样本时,熵的公式可以表示为:

H ( X ) = ∑ i P ( x i ) I ( x i ) = − ∑ i P ( x i ) log ⁡ b P ( x i ) \mathrm{H} (X)=\sum _{{i}}{{\mathrm {P}}(x_{i})\,{\mathrm {I}}(x_{i})}=-\sum _{{i}}{{\mathrm {P}}(x_{i})\log _{b}{\mathrm {P}}(x_{i})} H(X)=iP(xi)I(xi)=iP(xi)logbP(xi)

在这里b是对数所使用的底,通常是2,自然常数e,或是10。当b = 2,熵的单位是bit;当b = e,熵的单位是nat;而当b = 10,熵的单位是Hart。

pi = 0时,对于一些i值,对应的被加数0 logb 0的值将会是0,这与极限一致。
lim ⁡ p → 0 + p log ⁡ p = 0 \lim_{p\to0+}p\log p = 0 p0+limplogp=0
还可以定义事件 X 与 Y 分别取 xi 和 yj 时的条件熵为

H ( X ∣ Y ) = − ∑ i , j p ( x i , y j ) log ⁡ p ( x i , y j ) p ( y j ) {\displaystyle \mathrm {H} (X|Y)=-\sum _{i,j}p(x_{i},y_{j})\log {\frac {p(x_{i},y_{j})}{p(y_{j})}}} H(XY)=i,jp(xi,yj)logp(yj)p(xi,yj)
其中p(xi, yj)为 X = xi 且 Y = yj 时的概率。这个量应当理解为你知道Y的值前提下随机变量 X 的随机性的量。

熵为什么用 log 来计算?

H ( X ) = ∑ i P ( x i ) I ( x i ) = − ∑ i P ( x i ) log ⁡ b P ( x i ) \mathrm{H} (X)=\sum _{{i}}{{\mathrm {P}}(x_{i})\,{\mathrm {I}}(x_{i})}=-\sum _{{i}}{{\mathrm {P}}(x_{i})\log _{b}{\mathrm {P}}(x_{i})} H(X)=iP(xi)I(xi)=iP(xi)logbP(xi)

信息熵=事件发生概率*事件携带的信息量
信息的量化应该遵循:

  1. 信息是非负
  2. 如果一件事物发生的概率是1(没有选择的自由度),信息量为0。(越确定的事件越不混乱
  3. 如果两件事物的发生是独立的(联合概率),它们一起发生时我们获得的信息是两者单独发生的信息之和
  4. 信息的度量应该是概率的函数,函数最好是单调连续的。

香农发现 lnx, x∈[0,1] 符合以上要求
在这里插入图片描述
事件携带的信息量 I(xi)
I ( x i ) = − l o g b P ( x i ) {\mathrm {I}}(x_{i})=-log _{b}{\mathrm {P}}(x_{i}) I(xi)=logbP(xi)

再结合“一件事物发生概率为0时,信息量也为0”,我们可以获得(变量X的)信息熵的完整定义形式:
H ( X ) = ∑ i P ( x i ) I ( x i ) = − ∑ i P ( x i ) log ⁡ b P ( x i ) \mathrm{H} (X)=\sum _{{i}}{{\mathrm {P}}(x_{i})\,{\mathrm {I}}(x_{i})}=-\sum _{{i}}{{\mathrm {P}}(x_{i})\log _{b}{\mathrm {P}}(x_{i})} H(X)=iP(xi)I(xi)=iP(xi)logbP(xi)

参考文献:
[1]https://zh.wikipedia.org/wiki/%E7%86%B5_(%E4%BF%A1%E6%81%AF%E8%AE%BA)
[2]信息为什么还有单位,熵为什么用 log 来计算? - 勃起床的回答 - 知乎
https://www.zhihu.com/question/310100965/answer/1219472348
[3]https://www.cnblogs.com/fm-yangon/p/14073664.html


http://chatgpt.dhexx.cn/article/m141pEjD.shtml

相关文章

信息熵到底是什么

信息是我们一直在谈论的东西,但信息这个概念本身依然比较抽象。在百度百科中的定义:信息,泛指人类社会传播的一切内容,指音讯、消息、通信系统传输和处理的对象。 但信息可不可以被量化,怎样量化?答案当然…

什么是信息熵

熵 当一件事情(宏观态)有多种可能情况(微观态)时,这件事情(宏观态)对某人(观察者)而言具体是哪种情况(微观态)的不确定性叫做熵(entropy&#xff…

信息熵是什么

信息熵是什么 通过前两节的学习,我们对于决策树算法有了大体的认识,本节我们将从数学角度解析如何选择合适的“特征做为判别条件”,这里需要重点掌握“信息熵”的相关知识。 信息熵这一概念由克劳德香农于1948 年提出。香农是美国著名的数学…

单选按钮html图片,js实现的 图片单选按钮效果

【实例简介】用js实现的radio图片选择按钮效果。 【实例截图】 【核心代码】 用JS实现的radio图片选择按钮效果-脚本之家 .lanrentuku img{border:1px solid #008800;} function myFun(sId) { var oImg document.getElementsByTagName(img); for (var i 0; i < oImg.lengt…

html自定义单选按钮,美化表单——自定义单选按钮和复选按钮

大家都知道&#xff0c;在Web的Form中美化是最头痛的&#xff0c;尤其是表单中的“input[typecheckbox]”、“input[type"radio"]”、“input[typefile]”和select这些元素我们单单只使用CSS是无法匹配设计图的&#xff0c;像背景颜色或者背景图片&#xff0c;甚至说…

Android开发单选按钮功能,android实现单选按钮功能

在我们平时在注册个人信息的时候,经常会让我们选择是男生还是女生,那么这个单选框在Android中是怎么实现的呢?现在我们就来学习一下吧 首先我们要明白实现这样一个效果需要哪几部? 1、在layout布局文件中建立一个文件,我起的名字为activity_radio.xml 代码为: android:la…

单选按钮RadioButton

效果示例&#xff1a; MRadioButton.h //******************************************************** /// brief 自定义单选按钮 /// author y974183789gmail.com /// date 2021/9/18 /// note 支持自定义设置单选指示器位置 /// version 1.0.0 //***************************…

单选按钮(RadioButton)与 复选框(CheckBox)的功能与 用法

按照惯例&#xff0c;先看看两者的区别&#xff1a; 顾名思义&#xff0c;单选俺就就是只能选中一项的&#xff0c;而复选框是可以多选的。 一般来说&#xff0c;单选按钮是用于只有唯一答案的问题的答案选项中&#xff0c;而复选框用于一些可以多选的问题的答案中。 下面看看…

Android——单选多选按钮的使用详解

一&#xff1a;单选按钮 单选按钮类&#xff1a;RadioButton android&#xff1a;checked"true"设置默认选中 单选按钮控件通常与RadioGroup搭配使用。 RadioGroup是LinearLayout的子类&#xff0c;用于将多个单选按钮组合为一组。 同一按钮组内的单选…

Android 之 RadioButton (单选按钮) Checkbox (复选框)

本节引言&#xff1a; 本节给大家带来的是Andoird基本UI控件中的RadioButton和Checkbox; 先说下本节要讲解的内容是&#xff1a;RadioButton和Checkbox的1.基本用法 2.事件处理&#xff1b; 3.自定义点击效果&#xff1b; 4.改变文字与选择框的相对位置&#xff1b; 5.修改文字…

FTP服务器-vsftpd

FTP服务基础 FTP&#xff08;File Transfer Protocol,文件传输协议&#xff09;是典型的C/S结构的应用层协议&#xff0c;需要由服务端软件、客户端软件两个部分共同实现文件传输功能。 FTP连接及传输模式 FTP服务器默认使用TCP协议的20、21端口与客户端进行通信。 20端口用…

ftpvsftpd服务

一. ftp ftp即文件传输,它是INTERNET上仍然常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器传输的简单方法,FTP服务器包的名称为vsftpd 二. 部署ftp服务 1. 安装ftp yum install -y vsftpd #安装vsftpd软…

VSFTPD服务器配置

文章目录 一、实验环境二、实验目的三、实验任务任务一&#xff1a;根据以下要求配置服务器1&#xff09; 配置FTP匿名用户的主目录为/var/ftp,该账户只能下载&#xff0c;不能上传。2&#xff09;建立一个名为abc、口令xyz的FTP账户&#xff0c;设置账户具有上传、下载权限。3…

ftpd服务常见配置总结(/etc/vsftpd/vsftpd.conf)

命令端口&#xff1a; listen_port21 注意&#xff1a;该信息默认没有&#xff0c;使用的话&#xff0c;需要用户自己添加。默认是21。 主动模式端口&#xff1a; connect_from_port_20YES 主动模式端口为20&#xff08;该项配置文件默认已经添加&#xff09; ftp_data_por…

Linux系统中vsftpd配置及如何添加vsFTPd用户和设置权限

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快&#xff0c;安全易用。 如果你想在你的Linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP 服务器&#xff0c;那么vsftpd可能是你的首选应用。vsftpd意思为“very secure FTP daemon(非常安全的FTP…

VSFTPD

首先&#xff0c;下载Metasploitable2-linux,在虚拟机点击文件&#xff0c;然后直接打开。 然后开启此虚拟机&#xff0c;默认用户名和密码都是msfadmin&#xff0c; 登录之后输入ifconfig查看靶机ip 打开kali&#xff0c;打开终端模拟器 输入sudo su&#xff0c;再输入用户密…

vsftp

一、概述 FTP是file Transfer Protocoll文件传输下ieyi&#xff0c;用于Internet上的文件的双向传输。因ftp是明文传输&#xff0c;没有受到保护&#xff0c;所以具有一定危险性。 VSFTP是一个基于GPL发布的类unix系统上使用的FTP服务器软件。为了解决ftp传输安全性问题的&…

vsftpd的使用

简介 vsftpd是 “very secure FTP deamon”的缩写&#xff0c;是一个完全免费&#xff0c;开源的ftp服务器软件。 特点 小巧轻快&#xff0c;安全易用&#xff0c;支持虚拟用户、支持带宽限制等功能。 安装 执行 yum -y install vsftpd 注&#xff1a;在安装前需提前确认是…

vsftpd使用指北

vsftpd使用指北 文章目录 vsftpd使用指北1.安装vsftpd2.登录3.切换本地路径下载命令&#xff1a;get用于下载单个文件&#xff1a;mget用于批量下载&#xff1a;上传命令&#xff1a; FilezillaReference vsftpd 是“very secure FTP daemon”的缩写&#xff0c;是一个完全免费…

linux安装vsftpd

linux安装vsftpd 安装vsftpd作为附件上传和下载服务 文章目录 linux安装vsftpd一、vsftpd是什么&#xff1f;二、使用步骤1.安装2.配置3.可能出现的问题第一种情况&#xff1a;selinux的ftp设置第二种情况&#xff1a;可能是防火墙的原因第三种情况&#xff1a;pam.d设置问题 …