熵与信息论
来源:互联网 发布:英伦对决最新票房数据 编辑:程序博客网 时间:2024/05/09 19:51
1. 数据压缩
假设任何文件都可以被压缩到
因此,可以得出一个相对抽象的结论,并非所有文件都可以被压缩到
数据压缩的原理,压缩原理其实很简单,本质上,所谓压缩,就是找出文件内容的概率分布(probability distribution),将那些出现概率高的部分代替成更短的形式。相应地,如果内容毫无重复,就很难压缩。极端情况就是,遇到那些均匀分布的随机字符串,往往连一个字符都压缩不了。比如,任意排列的10个阿拉伯数字(5271839406),就是无法压缩的;再比如,无理数(比如π)也很难压缩
2. 从数据压缩到熵的引出
压缩可以分解成两个步骤(哈夫曼编码):
- 第一步是得到文件内容的概率分布,哪些部分出现的次数多,哪些部分出现的次数少;
- 第二步是对文件进行编码,用较短的符号替代那些重复出现的部分。
如果文件内容只有两种情况(1/5 vs 1/5比如扔硬币的结果),那么只要一个二进制位就够了,1 表示正面,0表示表示负面。如果文件内容包含三种情况(比如球赛的结果),那么最少需要两个二进制位。如果文件内容包含六种情况(比如扔筛子的结果),那么最少需要三个二进制位。
一般来说,在均匀分布的情况下,假定一个字符(或字符串)在文件中出现的概率是 p,那么在这个位置上最多可能出现 1/p 种情况。需要
这个结论可以推广到一般情况。假定文件有 n 个部分组成,每个部分的内容在文件中的出现概率分别为
3. 信息熵
对于两个相等(
p 越大,表明文件内容越有规律,压缩后的体积就越小;p 越小,表明文件内容越随机,压缩的程度不会太高;
为了便于文件之间的比较,将上式除以
进一步将其转换(
又可视为一种期望,可以理解为,每个符号所占用的二进制位,等于概率倒数的对数的数学期望;
4. 简单释例
- 假定有两个文件都包含1024个符号,在ASCII码的情况下,它们的长度是相等的,都是 1KB。甲文件的内容 50%是a,30%b,20%是c,则平均每个符号要占用1.49个二进制位。
- 乙文件的内容10%是a,10%是b,……,10%是j,则平均每个符号
- 熵与信息论
- 信息论:熵与互信息
- 信息论:熵与互信息
- 信息论:熵与互信息
- 信息熵与二进制--信息论系列
- 【信息论】信源与信源熵(一)
- 【信息论】信源与信息熵(二)
- 【信息论】信源与信源熵(三)
- 信息熵与二进制--信息论系列
- 【PRML学习笔记】信息论与最大熵
- 信息论,熵
- 信息论, 熵
- 信息论与算法复杂度
- 称重问题与信息论
- 信息论与编码复习
- 数学与信息论 基础
- 信息论与编码 上机
- 信息论与编码题库
- 第十一周项目1-验证算法(3)中序线索化二叉树的算法验证
- 微服务详解
- 第十一周【项目一-(2-1)由先序序列和中序序列构造二叉树】
- Gulp教程
- 【转】Linux下定时删除指定目下n天前的文件
- 熵与信息论
- Android Studio 文档注释快捷键
- 第七周项目4
- Oracle 增加修改删除字段与添加注释
- 第十一周项目1——二叉树算法验证(1) 层次遍历算法验证
- 第十周 项目1 二叉树算法库
- 第十一周项目一(5)由顺序存储结构转为二叉链存储结构
- 第11周项目1 验证算法(1)层次遍历算法的验证
- oralce 数据泵导入导出详解