信息熵、相对熵(KL散度)、交叉熵

博客介绍了信息熵、相对熵(KL散度)和交叉熵。信息熵反映系统有序程度,越有序熵越低。相对熵衡量两个随机分布差异,为使预测分布接近实际分布,应最小化相对熵。交叉熵可由相对熵展开得出,在实际分类任务中有重要应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1信息熵

系统越有序,信息熵越低(越可能发生的事情发生,信息量越低,不太可能的事情发生,才能搞个大新闻)
所以X=[0,1,0],H(X)=0
X=[0.2,0.2,0.6],H(X)=0.95
H ( X ) = − ∑ i = 1 n p ( x i ) log ⁡ p ( x i ) H(X) = - \sum\limits_{i = 1}^n {p({x_i})\log p({x_i})} H(X)=i=1np(xi)logp(xi)

2相对熵(KL散度)

相对熵可以衡量两个随机分布之间的差异性
分布相同,相对熵为0;分布有较大差别,相对熵增加

D ( p ∥ q ) = ∑ i = 1 n p ( x ) log ⁡ p ( x ) q ( x ) D(p\parallel q) = \sum\limits_{i = 1}^n {p(x)\log \frac{{p(x)}}{{q(x)}}} D(pq)=i=1np(x)logq(x)p(x)
所以为了让我们预测的分布与实际分布相近,我们应该minimize D(p||q)

3交叉熵

相对熵展开

D ( p ∥ q ) = ∑ i = 1 n p ( x ) log ⁡ p ( x ) q ( x ) = ∑ i = 1 n p ( x ) log ⁡ p ( x ) − ∑ i = 1 n p ( x ) log ⁡ q ( x ) = − H ( p ) − ∑ i = 1 n p ( x ) log ⁡ q ( x ) \begin{aligned} D(p \| q) &=\sum_{i=1}^{n} p(x) \log \frac{p(x)}{q(x)} \\ &=\sum_{i=1}^{n} p(x) \log p(x)-\sum_{i=1}^{n} p(x) \log q(x) \\ &=-H(p)-\sum_{i=1}^{n} p(x) \log q(x) \end{aligned} D(pq)=i=1np(x)logq(x)p(x)=i=1np(x)logp(x)i=1np(x)logq(x)=H(p)i=1np(x)logq(x)

若p是真实分布,q是预测分布,所以为了降低D(p||q),其中H(p)固定,则降低后一部分,交叉熵H(p,q)为后一部分

H ( p , q ) = − ∑ i = 1 n p ( x ) log ⁡ q ( x ) H(p,q) = - \sum\limits_{i = 1}^n {p(x)\log q(x)} H(p,q)=i=1np(x)logq(x)
实际分类任务中,y是真实分布,one-hot编码,y_hat是预测分布,经由softmax产生

C E ( y , y ^ ) = − ∑ y i log ⁡ y ^ i CE({\bf{y}},{\bf{\hat y}}) = - \sum {{y_i}\log {{\hat y}_i}} CE(y,y^)=yilogy^i
且有

y ^ = softmax ⁡ ( θ ) ∂ C E ∂ θ = y ^ − y \begin{aligned} \hat{\mathbf{y}} &=\operatorname{softmax}(\boldsymbol{\theta}) \\ \frac{\partial C E}{\partial \boldsymbol{\theta}} &=\hat{\mathbf{y}}-\mathbf{y} \end{aligned} y^θCE=softmax(θ)=y^y

### 信息熵 信息熵是一种衡量随机变量不确定性的指标。对于离型随机变量 \(X\),其概率质量函数为 \(P(X)\),则信息熵定义如下: \[ H(X) = - \sum_{i=1}^{n} P(x_i) \log_2(P(x_i)) \] 其中,\(P(x_i)\) 表示事件 \(x_i\) 发生的概率[^1]。 信息熵越高,则系统的不确定性越大;反之亦然。 --- ### 交叉熵 交叉熵是用来衡量两个概率分布之间差异的一种方法,在机器学习中广泛应用于分类任务中的损失计算。假设真实分布为 \(P\),预测分布为 \(Q\),那么交叉熵可以表示为: \[ H(P, Q) = - \sum_{i=1}^{n} P(x_i) \log(Q(x_i)) \] 这里需要注意的是,交叉熵不仅依赖于真实的概率分布 \(P\),还取决于模型预测的概率分布 \(Q\)。因此,它是评估模型性能的重要工具之一[^2]。 --- ### KL KL (Kullback-Leibler divergence),也称为相对熵,用于量化两个概率分布之间的差异程。给定两个概率分布 \(P\) 和 \(Q\),KL 的公式为: \[ D_{KL}(P || Q) = \sum_{i=1}^{n} P(x_i) \log{\frac{P(x_i)}{Q(x_i)}} \] 值得注意的是,KL 具有 **非对称性** 和 **非负性** 的特点。即通常情况下 \(D_{KL}(P || Q) \neq D_{KL}(Q || P)\)[^3]。 --- ### JS JS (Jensen-Shannon divergence)是对称版本的 KL ,解决了 KL 不对称的问题。它通过引入中间分布来实现这一点。设 \(M = \frac{1}{2}(P + Q)\),则 JS 可写成: \[ D_{JS}(P || Q) = \frac{1}{2} D_{KL}(P || M) + \frac{1}{2} D_{KL}(Q || M) \] 由于 JS 基于 KL 构建,所以它的取值范围在 \([0, 1]\) 内,并且满足对称性和有限性条件。 --- ### 定义区别与联系 | 指标 | 描述 | |------------|------------------------------------------------------------------------------------------| | **信息熵** | 测量单个随机变量本身的不确定性 | | **交叉熵** | 量两个概率分布间的差异,主要用于监督学习中的目标优化 | | **KL ** | 计算一个分布相对于另一个分布的信息增益或“距离”,是非对称的 | | **JS ** | 基于 KL 改进而来,解决非对称问题并提供更稳定的数值表现 | 这些概念都属于信息论范畴,但在实际应用中有不同的侧重点。例如,交叉熵被频繁用作神经网络训练的目标函数,而 KL 更多地出现在变分推断等领域。 --- ### 在机器学习和深学习中的作用 - **信息熵**:帮助理解数据集内部结构以及特征的重要性。 - **交叉熵**:作为分类任务的核心损失函数,指导模型参数调整以最小化误差。 - **KL **:适用于生成对抗网络 (GANs) 或变分自编码器 (VAEs) 中隐空间分布匹配的任务。 - **JS **:相比 KL 更加稳定可靠,尤其适合处理不平衡样本情况下的相似比较场景。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值