信息熵(Entropy)究竟是用来衡量什么的?

  

——与Philip ZHANG商榷

思明

    

  Philip ZHANG先生在反驳彭小明的时候,提出一个观点,他说:“ 就语言文

字来说,总体效率不是用民族主义来衡量的,而是用信息熵(Entropy)来衡量

的。”

  张先生介绍说:

  计算文字效率的基本公式是:

  H=-log2(P)

  H 为信息熵的值(或叫信息量),单位是比特(bit)。

在这基点上,他依据资料引证:

  英文的平均信息熵是 4.03 比特,

  法文的平均信息熵是3.98,

  西班牙文的是 4.01,

  德文的是 4.10,

  俄文的是 4.8,

  而中文的平均信息熵是 9.65比特

  于是,“汉字是落后的,不管是简体还是繁体”就成了他轻松得到的结论。

  事实上,要反驳他的结论是一点也不困难的,甚至能够说是很轻松的——仅仅要

知道什么是一种文字的“平均信息熵”。

  仅仅可惜,张先生把方向正好弄错了180度。

  公式是有的,叫做平均信息熵也确实。可是根本就不是文字效率的基本公式,

而是在通讯中编码的码长的效率!提出这公式,申农是用以研究信息编码的。说得

通俗一点,就是要(在可能有噪音的情况下)把已方(信息源)的信息进行标准化

编码(比方,0-1化),然后传送出去,对方接收,解码,恢复成原来的信息。

  研究的重点,是多长的一组码为合理——假设太短,无法正确还原,假设太

长,就有冗余。

  在接下去谈曾经,先要强调,是码长的节约或冗余,不是信息本身的节约或冗

余。例如说,假设拿尽用分币买东西,分币已经多得非常,钱却不一定够。这是两回

事。

  以英语为例,信息源集合大体是26个字母加上一个空格,这是基本集合。要传

送给不论什么对方(比方用莫尔斯电码),码长要几位“0-1”?满打满算,是五位。

  要是用“平均信息的观点”来研究处理,会发现:有些字母出现得常常,另外

一些比較不经经常使用,所以信息源是有点特征的,这特征就是信息含量不“饱满”。

通俗地说,假设英文字母中仅仅有一部分经常使用,其它罕用,通过巧妙编码能够把码长

缩为4个多一点点。实际上因为眼下通讯瓶颈已经不像半世纪曾经那样重要,电脑

里的正规编码方案全是冗余方案,并无人真正採用紧缩方案,连考虑的价值也没

有。

  那么如何计算信息量又是怎么回事呢?

  以电脑的0-1编码方法为例,假设“0”和“1”以均等机会出现,P就是1/2,

对数就是-1,H就是1。因此它的信息含量就是1个比特(bit)。假设出现得不均

匀(比方说基本是“0”出现,偶尔才有“1”出现),那么“0”的P值接近于1,

其对数自然接近于0;另外的“1”的P值接近于0,对数就接近于负无穷,经过加权

平均,(这样的无穷乘以0的极限,自然能够用(数学上的计算)方法求出)信息比1

个比特(bit)更小。

  因此,不论什么一组码的元素(比方英文字母),在最有效使用的情况下,能够传

达的信息量最大,等于log2(N)(以源代码的元数为N,比如英文的满荷值为4.75;

俄文为5.08;依照中文的字数,小字库为12多,大字库为14多。等等)。

  大家知道,英文字母平均信息熵是 4.03 比特,说明它有一点“浪费”(由于

2的4次方是16,这仅仅相当于均匀使用了16个字母)。假设英文的“平均信息量”少

到1或者2,就相当于仅仅有两个或者四个字母了。所以张先生对英文的表扬可真的一

点意义没有。

  那么,如果我们的祖先造的汉字仅仅用了非常少的部分,平均信息熵就会非常小,比

如,要是仅仅用“是,不”二字而其它文字统统不用,那就仅仅要有一个比特就够。

  张先生以为“平均信息熵”越少越好,是犯了一个“方向的错误”。可见,张

先生在信息科学上的知识是多么脆弱,多么不精确!用这种东西作为“证据”,

要我们信改革有几千年历史的汉字非常是必要,太不负责!

  张先生又引用说:

  本世纪四十年代,申农和霍夫曼等科学家提出了信息熵理论和方法,基本定理

是:在一种非扩展的无记忆信息源中,字符编码的长度不能小于信息源的熵。这个

定理适合全部的语言文字,是计算机和网络通讯的科学技术基础和project设计的基本

根据。

  这句话全对。不知道张先生是哪里引用来的,可是张先生显然不理解其含义。

这话说明的是什么?原来,这只是是说,由于英文的平均信息熵是4多一点,因此

作为通讯用的英文字符集的有用长度也至少要有那么长。德文和俄文的字母比英文

多几个,它们多含一点信息量是正常的。德国人之不修改字母,绝对不是由于信息

量多还是少的缘故。多更不是坏事。事实上,大家知道在电脑里英文字母、德文、俄

文统统用的是8位(8比特)。8位的满存储是256个字符,大家相聚在一起,谁多用

谁少用,不会去斤斤计较。德国人也读英文,俄国人也用德文,更没有人用它来比

较“语言的优劣”。

  中文,一開始是用了双字节的(即16比特),满存储是6万多,如今中文用了

约1/3(当然其它文种还要用)。这和中文的效率并无直接的联系。假设,用一个

汉字表达的“意思”的量,假设(平均起来)和一个英文字母一样多,那汉字就真

太落后了!

  真是这样?我们的汉字真会这么落后?比方“我”是两个字节,“I”是一

个字节。这就是中文不如英文的“唯一样例”了。可是“人、是、起、而、日、

月、用、无、……”这几百成千个单字(严格说全部汉字)英文里都仅仅要一个字母

吗?不是。英文的字母仅仅有26个,充其量仅仅能有这26个比中文好——可惜英文的单

字母词仅仅有一个“I”,一个“a”(意义太简单,还无独立使用权)其它的(比如

of,on,to,we,me,go,……)能和汉字打平就好。请注意,在用26个字母构成

的676种二字母组合中,有意义的少之又少(比方aa,ab,ac,ad,ae,……就几

乎全无意义)。所以,假设有人用汉字对照英文(在相同意义的词汇)的byte数,

十有八九汉字要“节约”得多!

  自然英文通过制造缩写的办法攻克了不少问题——UN,USA,WTO,所以说汉字

绝对优越也要慎重。

  最最可笑的是,假设要依照“用拼音”的建议把中文翻译成拼音(即使那声调

的符号省去、词汇连写等方法全用上),那byte数要大大添加了,尽管那“平均信

息熵”或许还减少了(总不超过5)。打个例如,改用拼音的张先生能够告诉别

人,我的平均信息量已经减少到4多一点(就是说‘我如今最终仅仅要用一分的硬币

买东西了,尽管我每年的开支因此添加了三倍,我才不在乎!’)。由于拼音里除

了a、e以外,是不许单独字母成字的,就是a、e,还留空格。所以假设说要用拼音

作文字,在浪费字节上是天下第一的“文字”——看不易懂还暂且不说!在这个意

义上说,“从一九八九年開始,《人民日报》等报刊就用相同的手法抨击中文改

革,连续发表文章鼓吹‘汉字优越’,说中文改革是盲目西化和导致中国文化传统

消亡,等等。”真是做得对极了,好极了!

  张先生又说:

  中文的平均信息熵是 9.65比特,在计算机信息作业的时候,汉字的每一个字符

需》要两个字节的空间,因而中文的信息处理和传递的总体效率比英文等拼音文字

的效率要低得多。

  这是全然违背基本常识的。套用他的汽车比喻,这好像是说:“独轮车无疑比

12轮大卡车节省10倍,走的路仅仅有1/10”;又好比说“用一元钱的钞票买东西比用

五角钱的贵一倍”;等等……

  虽然我们已经说明汉字实际上比英文和其它拼音文字仅仅简不冗(从占用字节数

的角度看),语言学上的问题仍然相当复杂,谁简谁繁似乎也还难以成为一种语言

优劣的绝对定论。比方世界语、数学语言、电脑的汇编,显然都极简单并且规范,

但是要取代自然的生活语言明明是不行的。这个问题我们暂且不讨论。

  张先生的文章还存在很多其他问题,比方他说:

  无论谁在使用和在哪里使用,也无论使用者的民族感情怎样,这些文字的信息

熵还是它们的信息熵。

  他根本就不知道,除了整个“民族”的平均信息熵以外,人人的语言都有其独

特的信息熵。比方“不高兴”先生,碰到事情一般都是不高兴;总说“喳”的太

监,他们的语言中的平均信息熵都非常小。相同的字符集而熵小,这绝对不是什么先

进,是贫乏。

  附带说一句,张先生犯的这个错误,国内某一派的“著名语言学家”在十多年

前已经犯过,也被人尖刻批评过。他们既无法理解(大概对于数学绝缘)也不吱

声,以至于十年过去后,他们的文改信徒还不断反复这错误。可悲又可叹,若把语

言文字工作交给这等“既不内行又不热心”的人!


[中国研究/zgyj1999/xiamian.htm]
时间: 2024-10-05 05:01:55

信息熵(Entropy)究竟是用来衡量什么的?的相关文章

信息熵的直观理解

在机器学习算法(如二叉树).特征选择(互信息)中经常用到熵的概念,信息熵的概念以及介绍网上有很多,这里主要做一个直观的介绍. 1. 信息的度量 2. 信息熵 一. 信息量 常常把消息中有意义的内容成为信息.我们常常说,某人说的某句话信息量很大,具体在信息论中,其实指的是他说的这句话消除的不确定性多.信息的度量定义为消除不确定性的多少.(信息是用来消除不确定性的东西--Shannon) 信息量函数: $I=-\ln p_{i}$ 其中,$p_{i}$是事件$x_{i}$发生的概率($x_{i} \

【Machine Learn】决策树案例:基于python的商品购买能力预测系统

决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结合视频学习和书籍基础的笔记所得.本系列文章将采用理论结合实践方式编写.首先介绍机器学习和深度学习的范畴,然后介绍关于训练集.测试集等介绍.接着分别介绍机器学习常用算法,分别是监督学习之分类(决策树.临近取样.支持向量机.神经网络算法)监督学习之回归(线性回归.非线性回归)非监督学习(

浅谈webshell检测方式

一  什么是webshell "web"的含义是显然需要服务器开放web服务,"shell"的含义是取得对服务器某种程度上操作权限.webshell常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限.简单理解:webshell就是一个web的页面,但是它的功能非常强大可以获得一些管理员不希望你获得的权限,比如执行系统命令.删除web页面.修改主页等.webshell中由于需要完成一些特殊的功能就不可避免的用到一些特殊的函数,我们也就可以对着特

机器学习(三)——决策树(decision tree)算法介绍

0.机器学习中分类和预测算法的评估标准 准确率 速度 强壮性 可规模性 可解释性 1.什么是决策树/判定树(decision tree)? 判定树是一个类似于流程图的树结构:其中,每个内部节点表示一个属性上的测试,每个分支代表一个属性的输出,而每个树叶节点代表类或者类分布.树的最顶层是根节点. 2.机器学习中分类方法的重要算法是决策树 3.构造决策树的基本算法 3.1熵(entropy)概念    信息和抽象,如何度量?1948年,香农提出了 "信息熵(entropy)"的概念,一条信

Webshell的检测

原文地址:http://www.freebuf.com/articles/others-articles/71604.html(原文主要是针对窃密型Webshell的检测来讨论的,开篇部分先介绍了传统的检测Webshell的方法,之后找出传统方法的不足,提出针对窃密webshell的新方法,这篇文章主要把精力放在其对传统方法的介绍上)目前针对Webshell的特征检测一般是通过特征比对及文件属性异常的静态检测和基于访问情况.行为模式特征的动态检测方式进行查杀. 一.传统及现有的检测方法1.静态检

决策树分类算法(ID3)

1. 什么是决策树/判定树(decision tree)? 判定树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布.树的最顶层是根结点. 2.  机器学习中分类方法中的一个重要算法 3.  构造决策树的基本算法 3.1 熵(entropy)概念: 信息和抽象,如何度量? 1948年,香农提出了 "信息熵(entropy)"的概念 一条信息的信息量大小和它的不确定性有直接的关系,要搞清楚一件非常非常不确定的事情,

深度学习基础阶段

IDH_1000=1.1 课程介绍 & 机器学习介绍.html ; Evernote ExportIDH_1001=1.2 深度学习(Deep Learning)介绍.html ; Evernote ExportIDH_1002=2 基本概念 (Basic Concepts).html ; Evernote ExportIDH_1003=3.1 决策树(decision tree)算法.html ; Evernote ExportIDH_1004=3.2 决策树(decision tree)应用

webshell检测(一)

0x01:Webshell简介 ×××者在企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的行为.常见×××方式有:直接上传获取webshell.SQL注入.远程文件包含(RFI).FTP,甚至使用跨站点脚本(XSS)作为×××的一部分,甚至一些比较老旧的方法利用后台数据库备份及恢复获取webshell.数据库压缩等.通用功能包括但不限于shell命令执行.代码执行.数据库枚举和文件管理. 1.Webshell分类 webshell从协议上来看,最开始

数学之美读书随笔

最近在读吴军的<数学之美>,书里很多内容之前已经略有了解,这次有了新体会,随手记下,算是开卷有益吧. --20160701 1. Hidden Markov Model 从对(相对静态的)随机变量的研究发展到对随机变量的时间序列S1,S2,S3..., 即随机过程(动态的)的研究. 2.   信息的作用 消除不确定性.也就是说,收集更多的相关信息,可以得到更明确的结论. joint probability:X和Y一起出现的概率 conditional probability:在Y取不同值的前提