【损失函数】熵/相对熵/交叉熵

本文介绍了信息论中的基本概念——熵,它表示一种可能性的所有信息量。接着讨论了相对熵(KL散度),用于衡量真实分布与预测分布的差异,值越小表示两者越接近。最后,解释了交叉熵的概念,它是从KL散度公式变形而来,常用于损失函数优化。博客适合信息论和机器学习的学习者进行复习和整理。

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

便于理解但是不够精确的说法:
:一种可能性的所有的信息量
相对熵(KL散度):真实分布与预测的分布的信息量的差(真实-预测),值越小说明与真实约接近。
交叉熵:由kl散度公式变形而得,式子拆开来前半部分是熵后半部分就是交叉熵。因为前面的熵不变,所以优化的时候直接用交叉熵计算损失更加方便。

变形后的kl散度博客记录便于复习与整理,如有不对请指教,谢谢!

参考文献

https://blog.youkuaiyun.com/tsyccnh/article/details/79163834

### 关于交叉熵损失函数的概念及用法 #### 什么是交叉熵损失函数交叉熵损失函数是一种用于衡量两个概率分布之间差异的工具,在机器学习和深度学习领域广泛应用于分类任务。它通过比较模型输的概率分布与目标的真实分布来计算误差,从而指导优化过程[^1]。 #### 数学定义 对于一个多分类任务,假设模型的预测输是一个概率向量 \( p = (p_1, p_2, ..., p_n) \),其中 \( p_i \) 表示第 \( i \) 类别的预测概率;真实的标签也是一个独热编码向量 \( q = (q_1, q_2, ..., q_n) \),其中只有正确类别的位置为 1,其余均为 0。那么交叉熵损失可以表示为: \[ L(p, q) = -\sum_{i=1}^{n} q_i \log(p_i) \] 这里 \( n \) 是类别总数,\( q_i \) 和 \( p_i \) 分别代表真实分布和预测分布在第 \( i \) 类上的[^2]。 #### 原理分析 交叉熵的核心思想来源于信息论中的概念——相对熵(即 KL 散度)。简单来说,描述了一个随机变量本身的不确定性程度,而相对熵则用来量化两种不同分布之间的距离。当我们将这两个理论应用到监督学习场景下时,就得到了所谓的“交叉熵”,其本质是对数似然估计的一种形式化表达方式[^3]。 #### 为何选择交叉熵而非其他方法比如 MSE? 尽管均方误差(MSE)也可以作为评估标准之一,但在处理分类问题上却存在明显不足之处。主要原因在于Sigmoid或者Softmax激活后的数范围被压缩到了(0,1)区间内,如果采用平方差的形式,则会使得梯度过小以至于收敛速度变慢甚至停滞不前。相比之下,利用负对数操作构成的CrossEntropy能够有效放大错误样本的影响权重,促使网络更快更好地调整参数直至达到最优解状态[^4]。 ```python import tensorflow as tf # 定义真实标签和预测 true_labels = [[0., 1.], [1., 0.]] predicted_values = [[0.6, 0.4], [0.4, 0.6]] # 计算交叉熵损失 cross_entropy_loss = tf.keras.losses.categorical_crossentropy(true_labels, predicted_values) print(cross_entropy_loss.numpy()) ``` 上述代码片段展示了如何基于TensorFlow框架实现基本版的多分类交叉熵计算流程。给定一组已知的实际类别标记以及对应的神经元层末端经过softmax转换后得到的可能性数组列表之后,调用内置API即可简便获取最终结果。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值