【机器学习】信息熵与压缩编码的学习与实例讲解

一、 什么是信息熵?

以下内容来自百度百科:

信息是个很抽象的概念。人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。
直到1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是C.E.Shannon(香农)从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。
信息论之父克劳德·艾尔伍德·香农第一次用数学语言阐明了概率与信息冗余度的关系。

信息熵的计算公式:
在这里插入图片描述

二、压缩编码方式

问题:

一串消息包含A,B,C,D,E共5类符号,其内容是:AABBBBAAAACCCCCCCCCEEEEEEDDDDEEEEEEEEEEEEE,
请问其信息熵是多少?如果分别采用香农-凡诺编码,霍夫曼编码,压缩率分别是多少?

解答:
出现概率统计:
在这里插入图片描述
信息熵:
在这里插入图片描述

香农-范诺编码:

  • 将所有的字母按照出现的次数由多到少、从左到右进行排序,如下图所示:
    在这里插入图片描述

  • 划分两边,使两边出现次数的差最小
    在这里插入图片描述

  • 编码完成如下图所示(需要的位数 = 编码位数 × 出现的次数):
    在这里插入图片描述
    所以由以上过程可知:编码前5 种符号至少需要 3 位二进制编码,共 42 个字符,则需 3 × 42 = 126 3×42=1263×42=126 位。编码后共 87 8787 位。压缩比为126 : 87 = 1.45 : 1 126:87=1.45:1126:87=1.45:1

霍夫曼编码:
从最小概率的两个符号开始,可选其中一个支路为 0,另一支路为 1,再合并两个支路,并重新排队,多次重复这一过程,直到最后概率为 1
在这里插入图片描述
需要的位数 = 编码位数 × 出现的次数:
在这里插入图片描述

由以上可知编码前5 种符号至少需要 3 位二进制编码,共 42 个字符,则需 3 × 42 = 126 3×42=1263×42=126 位。编码后共 87 8787 位。压缩比为126 : 87 = 1.45 : 1

三、BMP 图像字节计算

问题:

一幅1024*768的24位RGB彩色图像一共在内存中占有多少字节? 如果将其保存为非压缩格式的BMP文件,文件有多少字节?请用实例验证

在这里插入图片描述
解答
一张图共 1024 × 768 × 3 = 2 , 359 , 296 1024×768×3=2,359,2961024×768×3=2,359,296 个字节
BMP 文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
对于 24 位真彩色图像就不使用彩色板,因为位图中的 RGB 值就代表了每个像素的颜色。
故此图片的文件头+位图信息头+颜色信息为 54 字节,再加上图形数据,就是 2359350 字节

四、参考

详解信息熵、两种编码方式示例、BMP 字节计算方法

信息熵及其相关概念

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值