【机器学习】4 ——熵

机器学习4 ——熵


文章目录

  • 机器学习4 ——熵
  • 前言


前言

熵衡量随机变量不确定性,由克劳德·香农(Claude Shannon)在1948年提出,称为香农熵。反映了一个系统中信息的混乱程度或信息量。

其定义为:
H ( P ) = − ∑ x P ( x ) l o g P ( x ) H(P)=-\sum_{x}^{} P(x)logP(x) H(P)=xP(x)logP(x)

  • 其中:X 是一个随机变量,它有 种可能的取值
  • P(x)是X 取值为 x的概率。
  • 熵 H( P) 表示随机变量 X 的信息不确定性,单位通常是比特(bits)。

如果所有事件发生的概率相等,熵最大。这时系统的不可预测性最高。
如果某个事件的概率为 1(确定发生),熵为 0,这时系统的不可预测性为零。


香农熵可以用来描述信息传输中的不确定性。假设你正在接收一个信息流:

  • 完全不确定:如果每个符号都以相同的概率出现(如一枚公平硬币的正反面),则你无法预测下一个符号,系统的熵最大。
  • 完全确定:如果你知道每次接收的符号都是固定的(如一枚失衡硬币总是正面朝上),熵为零,因为你不需要额外的信息去描述这个符号的状态。

熵的概念帮助解释如何对数据进行压缩。熵越高,意味着需要更多的比特来精确编码这些数据。熵越低,数据压缩的潜力越大。

因为数据压缩就是相同的符号不必反复存储(可能不严谨,有人知道更详细可以评论区科普一下!)

二进制随机变量的熵
考虑一个简单的例子,随机变量 X 代表抛硬币的结果。假设X 只有两个可能的取值,“正面”(1)和"反面"(0),其概率为(1)=0.5,(0)=0.5,熵为:

H(X)=−(0.5log 0.5+0.5log 0.5)=−(0.5×(−1)+0.5×(−1))=1 bit

这个结果意味着,对于一枚公平的硬币,我们需要 1 比特来表示它的结果。

不公平硬币
如果硬币是偏向的,比如 p(1)=0.9,p(0)=0.1,则熵为:

H(X)=−(0.9log 0.9+0.1log 0.1)≈0.469 bit

由于硬币的结果倾向于 “正面”(1),系统的不确定性减小,熵也减少了。此时我们需要的比特数更少。

信息熵的应用

数据压缩:熵是衡量数据压缩的极限。熵越高,表示数据越难以压缩;熵越低,数据压缩率越高。霍夫曼编码和算术编码等数据压缩算法就是基于熵的原理设计的。
v
信息传输:在通信系统中,熵用于估计数据传输中的最小编码长度。一个理想的编码系统应尽可能接近熵的极限。
v
机器学习:在决策树算法(如 ID3、C4.5 和 CART)中,熵用于衡量数据集的纯度。决策节点的选择基于信息增益(熵的变化),从而决定哪个特征对划分数据最有价值。
v
密码学:在密码学中,熵用于衡量密钥的随机性。熵越高,密钥的随机性和安全性越高。低熵的密钥容易被攻击者预测。
v
自然语言处理:熵用于衡量语言中的信息量,帮助理解文本复杂度和压缩潜力。
v
经济学:在经济学中,熵理论被应用于市场分析和资源分配,以衡量系统的混乱度和均衡状态。

你可能感兴趣的:(我的机器学习,机器学习,人工智能)