【机器学习】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)=−x∑P(x)logP(x)
- 其中:X 是一个随机变量,它有 𝑛 种可能的取值
- P(x)是X 取值为 x的概率。
- 熵 H( P) 表示随机变量 X 的信息不确定性,单位通常是比特(bits)。
如果所有事件发生的概率相等,熵最大。这时系统的不可预测性最高。
如果某个事件的概率为 1(确定发生),熵为 0,这时系统的不可预测性为零。
香农熵可以用来描述信息传输中的不确定性。假设你正在接收一个信息流:
- 完全不确定:如果每个符号都以相同的概率出现(如一枚公平硬币的正反面),则你无法预测下一个符号,系统的熵最大。
- 完全确定:如果你知道每次接收的符号都是固定的(如一枚失衡硬币总是正面朝上),熵为零,因为你不需要额外的信息去描述这个符号的状态。
熵的概念帮助解释如何对数据进行压缩。熵越高,意味着需要更多的比特来精确编码这些数据。熵越低,数据压缩的潜力越大。
因为数据压缩就是相同的符号不必反复存储(可能不严谨,有人知道更详细可以评论区科普一下!)
二进制随机变量的熵:
考虑一个简单的例子,随机变量 X 代表抛硬币的结果。假设X 只有两个可能的取值,“正面”(1)和"反面"(0),其概率为𝑝(1)=0.5,𝑝(0)=0.5,熵为:
这个结果意味着,对于一枚公平的硬币,我们需要 1 比特来表示它的结果。
不公平硬币:
如果硬币是偏向的,比如 p(1)=0.9,p(0)=0.1,则熵为:
由于硬币的结果倾向于 “正面”(1),系统的不确定性减小,熵也减少了。此时我们需要的比特数更少。
信息熵的应用
数据压缩:熵是衡量数据压缩的极限。熵越高,表示数据越难以压缩;熵越低,数据压缩率越高。霍夫曼编码和算术编码等数据压缩算法就是基于熵的原理设计的。
v
信息传输:在通信系统中,熵用于估计数据传输中的最小编码长度。一个理想的编码系统应尽可能接近熵的极限。
v
机器学习:在决策树算法(如 ID3、C4.5 和 CART)中,熵用于衡量数据集的纯度。决策节点的选择基于信息增益(熵的变化),从而决定哪个特征对划分数据最有价值。
v
密码学:在密码学中,熵用于衡量密钥的随机性。熵越高,密钥的随机性和安全性越高。低熵的密钥容易被攻击者预测。
v
自然语言处理:熵用于衡量语言中的信息量,帮助理解文本复杂度和压缩潜力。
v
经济学:在经济学中,熵理论被应用于市场分析和资源分配,以衡量系统的混乱度和均衡状态。