人工智能与机器学习学习笔记(五):信息熵与压缩编码基础

一、信息熵

  • 在机器学习中,绕不开的一个概念就是熵 (Entropy),信息熵。信息熵常被用来作为一个系统的信息含量的量化指标,从而可以进一步用来作为系统方程优化的目标或者参数选择的判据。在决策树的生成过程中,就使用了熵来作为样本最优属性划分的判据。

信息熵的定义公式:
H ( X ) = − ∑ i = 1 n p ( x i ) l o g p ( x i ) H(X)=-\sum_{i=1 } ^{n} p(x_i)logp(x_i) H(X)=i=1np(xi)logp(xi)

  • 信息量度量的是一个具体事件发生了所带来的信息,而熵则是在结果出来之前对可能产生的信息量的期望——考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。即上式

  • 信息熵还可以作为一个系统复杂程度的度量,如果系统越复杂,出现不同情况的种类越多,那么信息熵就越大

  • 如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,那么对应的信息熵为0),此时的信息熵越小

根据克劳德·香农给出的信息熵的三个性质:

  • 单调性,发生概率越高的事件,其携带的信息量越低;
  • 非负性,信息熵可以看作为一种广度量,非负性是一种合理的必然;
  • 累加性,即多随机事件同时发生存在的总不确定性的量度是可以表示为各事件不确定性的量度的和,这也是广度量的一种体现。

二、编码压缩实例

例:

  • 一串消息包含A,B,C,D,E共5类符号,其内容是

    AABBBBAAAACCCCCCCCCEEEEEEDDDDEEEEEEEEEEEEE,

    请问其信息熵是多少?如果分别采用香农-范诺编码霍夫曼编码压缩率分别是多少?

符号 A B C D E
出现概率 6/42 4/42 9/42 4/42 19/42

此时用二进制编码来表示这 5 种符号至少需要 3 位二进制编码(0、1、10、11、100)

因为这一串消息有 42 个符号,则需 3 × 42 = 126 位数据来表示这 42 个符号

2.1 信息熵

根据公式
H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ 2 p ( x i ) H(X)=-\sum_{i=1 } ^{n} p(x_i)\log_2p(x_i) H(X)=i=1np(xi)log2p(xi)
计算出信息熵
H ( X ) = 2.043 S h H(X)=2.043Sh H(X)=2.043Sh

2.2 香农-范诺编码

按照符号出现次数由多到少进行排列,方便进行香农-范诺编码

符号 E C A B D
出现概率 19/42 9/42 6/42 4/42 4/42
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值