cross_entropy交叉熵、相对熵

本文深入探讨了信息论中的三个核心概念——熵、相对熵(KL散度)和交叉熵。熵用于衡量信息的不确定性;相对熵用于衡量两个概率分布之间的差异;交叉熵在机器学习中作为损失函数,用于评估预测分布与真实分布之间的差距。

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

1.熵用来表示所有信息量的期望。
2.相对熵又称KL散度,如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。
3.交叉熵:
相对熵=p的熵+交叉熵。
在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好。由于KL散度中的前一部分恰巧就是p的熵,p代表label或者叫groundtruth,故−H(p(x))不变,故在优化过程中,只需要关注交叉熵就可以了,所以一般在机器学习中直接用用交叉熵做loss,评估模型。

### 交叉熵相对熵(KL散度)的定义 #### 定义 交叉熵是一种用于衡量真实分布 \( P \) 和预测分布 \( Q \) 差异的方式,在机器学习中常被用作损失函数。其公式可以表示为: \[ H(P, Q) = -\sum_{i=1}^{n} p(x_i)\log(q(x_i)) \] 其中,\( n \) 是事件的所有可能情况数[^2]。 相对熵也被称为 KL 散度,它同样用于衡量两个概率分布之间的差异,但更侧重于描述从分布 \( Q \) 到分布 \( P \) 的信息损耗程度。其公式为: \[ D_{KL}(P || Q) = \sum_{i=1}^{n} p(x_i)\log\left(\frac{p(x_i)}{q(x_i)}\right) \][^3] 需要注意的是,尽管两者都涉及概率分布间的比较,但在具体含义上存在显著不同。 --- ### 主要区别 | **特性** | **交叉熵** | **相对熵(KL散度)** | |------------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------| | **物理意义** | 表示编码来自分布 \( P \) 的数据所需的平均比特数,当使用基于分布 \( Q \) 构建的最佳码字长度时 | 描述了从分布 \( Q \) 转移到分布 \( P \) 所需的信息量变化 | | **对称性** | 不具有对称性 | 同样不具备对称性,即 \( D_{KL}(P || Q) \neq D_{KL}(Q || P) \)[^4] | | **适用场景** | 常作为分类任务中的目标函数 | 更多用于理论分析以及评估模型预测分布相对于实际分布的质量 | --- ### 应用场景 #### 交叉熵的应用 在监督学习尤其是分类问题中,交叉熵广泛应用于优化神经网络参数。例如在一个三分类问题中,如果样本的真实标签为 [1,0,0] (第一类),而模型输出的概率分布为 [0.7,0.2,0.1] ,则可以通过计算两者的交叉熵来量化误差并指导反向传播调整权重。 ```python import numpy as np def cross_entropy(p, q): return -np.sum([pi * np.log(qi) for pi, qi in zip(p, q)]) true_distribution = [1, 0, 0] predicted_distribution = [0.7, 0.2, 0.1] loss = cross_entropy(true_distribution, predicted_distribution) print(f"Cross Entropy Loss: {loss}") ``` #### 相对熵(KL散度)的应用 虽然 KL 散度本身不对称且不完全适合作为目标函数直接最小化,但它仍然在许多领域发挥重要作用。例如变分推断方法中利用 KL 散度约束近似后验分布靠近真实后验分布;或者通过对比不同生成对抗网络(GANs)架构下的特征空间分布差异来进行性能评价等。 --- ### 总结 综上所述,交叉熵主要关注如何高效表达某个特定消息所需资源数量的变化趋势,适合解决实际工程问题;而相对熵更多体现了一种理论上的距离概念,有助于深入理解复杂系统的内部机制及其相互作用规律。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI强仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值