当前在线人数17703
首页 - 分类讨论区 - 新闻中心 - 史海钩沉版 -阅读文章
未名交友
[更多]
[更多]
文章阅读:何为信息熵
[同主题阅读] [版面: 史海钩沉] [作者:TheMatrix] , 2017年08月05日13:53:21
TheMatrix
进入未名形象秀
我的博客
[上篇] [下篇] [同主题上篇] [同主题下篇]

发信人: TheMatrix (TheMatrix), 信区: History
标  题: 何为信息熵
发信站: BBS 未名空间站 (Sat Aug  5 13:53:21 2017, 美东)

信息熵是一个比较高大上的概念。其定义和理解需要一点数理基础。但是说穿了也没什
么神秘的,实际上都是我们知道的事情。最近王五抡起这个概念专门攻击中文,而且似
是而非不懂装懂,很有些国内小编的意思。有必要澄清。

先说结论:简单说信息熵就是一种语言常用字的数量,也是一种语言字符复杂度的度量
:一种语言的常用字越多,该语言文字的信息熵就越高。一种语言的字符复杂度越高,
该语言文字的信息熵也就越高。

信息熵的定义公式是:-Σp*log(p)。解释一下这个公式的意义:假设一种语言有
26个字符,假设对这种语言所写成的文章全面采样,得到一篇有10000个字符组成的文
章。p代表一个字符在该语言中出现的频率或者概率。log是以2为底的。Sum是对26个字
符进行求和。假设我们定义一个量A=-log(p),那么信息熵公式就变成Σp*A,它的含义
就是这个量A对26个字符的加权平均。

那么这个量A=-log(p)是什么含义呢?首先p是一个概率,永远小于1,所以log(p)是一
个负数,所以A=-log(p)是一个正数。那么这个数是什么意思呢?想象一下数据压缩的
目标,原理和过程:假设前面那个全面采样得到的10000个文字的文章要进行无损压缩
,用二进制01存储。目标是压缩到越小越好,但是信息要无损。假设最后压缩成为3000
个字节,也就是3000*8个01bit。那么这篇10000个字符的文章的实际信息含量就是3000
*8bit,它的信息量不可能再高了,因为这是无损压缩。

压缩的过程应该怎么设计呢?就是编码:显然应该把常用字符编成短码,而把不常用字
编成长码。比如e字符经常出现,那么就用01两位bit代表,x字符不常出现,可以用
010011六位bit代表。这样得到的压缩效率最高。常用不常用由概率p代表。A=-log(p)
,也就是-A=log(p),也就是2^(-A)=p,也就是1/2^A=p,也就是2^A=1/p。那么A是什么
意义呢?A就是在最佳压缩下一个字符的编码bit数。

而信息熵就是一个字符的平均编码bit数。

现在假设这个信息熵是2.4,也就是一个字符平均要用2.4个bit来编码,那么10000个字
符的文章要用24000个bit,也就是3000个字节来编码,这就是这篇文章的压缩后的长度
,也是这篇文章所包含的信息量。

所以信息熵也是一个字符所能包含的信息量的平均值。

中文字符的信息熵高,英文字符的信息熵低,这是说一个中文字符包含的信息量高于一
个英文字符。这是符合常识的。

也可以说,中文文字的抽象度高。何为抽象?抽象就是给概念命名,给结构命名。命名
以符号。中文字符多,所以有更多的命名。

如果假定常用字符的词频大致相同,并近似忽略不常用字符,那么信息熵也等于log (n
),n为常用字符的数量。

常用字符的数量显然跟字符的书写复杂度有关,书写简单的文字写不出太多种字符,而
书写复杂的文字它的字符数量可以很多。所以说信息熵也反映了符号的复杂程度。




--
※ 修改:·TheMatrix 於 Aug  9 17:12:27 2017 修改本文·[FROM: 50.]
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 172.]

[上篇] [下篇] [同主题上篇] [同主题下篇]
[转寄] [转贴] [回信给作者] [修改文章] [删除文章] [同主题阅读] [从此处展开] [返回版面] [快速返回] [收藏] [举报]
 
回复文章
标题:
内 容:


未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996