交叉熵与KL散度

参考文献

1.对数损失函数(Logarithmic Loss Function)的原理和 Python 实现
2.交叉熵与KL散度
3.深度学习剖根问底:交叉熵和KL散度的区别
4.详解机器学习中的熵、条件熵、相对熵和交叉熵
5.为什么交叉熵(cross-entropy)可以用于计算代价?
6.机器学习中的基本问题——log损失与交叉熵的等价性


核心:KL散度=交叉熵-熵

对于给定训练集,熵是已知的,那么求取KL散度等价于求取交叉熵,因此交叉熵才被用作代价函数

要再次强调:我们的目的是通过一种指标,衡量两个概率分布之间的差异(即真实概率分布和模型训练出的概率分布,又因为真实概率分布无法得到,因此以训练数据集的概率分布作为真实概率分布),KL散度满足这一需求,同时又因为KL散度和交叉熵的关系,因此我们才将交叉熵作为问题的代价函数!


通用的说,熵(Entropy)被用于描述一个系统中的不确定性(the uncertainty of a system)。在不同领域嫡有不同的解释,比如热力学的定义和信息论也不大相同。
要想明白交叉嫡(Cross Entropy)的意义,可以从嫡(Entropy)->KL散度(Kulback-Leibler Divergence)->交叉这个顺序入手。当然,也有多种解释方法。

先给出一个“接地气但不严谨”的概念表述:
【1】熵:可以表示一个事件A的自信息量,也就是A包含多少信息。
【2】KL散度:可以用来表示从事件A的角度来看,事件B有多大不同。
【3】交叉滴:可以用来表示从事件A的角度来看,如何描述事件B。
一句话总结的话:KL散度可以被用于计算代价,而在特定情况下最小化KL散度等价于最小化交叉熵。而交叉熵的运算更简单,所以用交叉熵来当做代价。

1.什么是熵

放在信息论的语境里面来说,就是一个事件所包含的信息量。
我们常常听到“这句话信息量好大”,比如“昨天花了10万,终于在西二环买了套四合院”。
这句话为什么信息量大?因为它的内容出乎意料,违反常理。由此引出:
【1】越不可能发生的事件信息量越大,比如“我不会死”这句话信息量就很大。而确定事件的信息量就很低,比如“我是我妈生的”,信息量就很低甚至为0。
【2】独立事件的信息量可叠加。比如“a.张三今天喝了阿萨姆红茶,b.李四前天喝了英式早茶”的信息量就应该恰好等于a+b的信息量,如果张三李四喝什么茶是两个独立事件。
在这里插入图片描述
因此熵被定义为上面形式,x指的不同的事件比如喝茶,P(xi) 指的是某个事件发生的概率比如和红茶的概率。对于一个一定会发生的事件,其发生概率为1,S(x)=-log(1)1=-01=0,信息量为0。


2.如何衡量两个事件/分布之间的不同:KL散度

我们上面说的是对于一个随机变量x的事件A的自信息量,如果我们有另一个独立的随机变量x相关的事件B,该怎么计算它们之间的区别?

此处我们介绍默认的计算方法:KL散度,有时候也叫KL距离,一般被用于计算两个分布之间的不同。看名字似乎跟计算两个点之间的距离也很像,但实则不然,因为KL散度不具备有对称性。在距离上的对称性指的是A到B的距离等于B到A的距离。

举个不恰当的例子,事件A:张三今天买了2个土鸡蛋,事件B:李四今天买了6个土鸡蛋。我们定义随机变量x:买土鸡蛋,那么事件A和B的区别是什么?有人可能说,那就是李四多买了4个土鸡蛋?这个答案只能得50分,因为忘记了“坐标系”的问题。换句话说,对于张三来说,李四多买了4个土鸡蛋。对于李四来说,张三少买了4个土鸡蛋。选取的参照物不同,那么得到的结果也不同。更严谨的说,应该是说我们对于张三和李四买土鸡蛋的期望不同,可能张三天天买2个土鸡蛋,而李四可能因为孩子满月昨天才买了6个土鸡蛋,而平时从来不买。
在这里插入图片描述


3.KL散度=交叉熵-熵

在这里插入图片描述


附:推导

在这里插入图片描述


4.机器如何学习

在这里插入图片描述


5.为什么交叉熵可以用作代价?

在这里插入图片描述


6.交叉熵和对数损失函数之间的关系

交叉熵中未知真实分布 P(x) 相当于对数损失中的真实标记y,寻找的近似分布 q(x) 相当于我们的预测值。如果把所有样本取均值就把交叉熵转化成了对数损失函数。

<think>好的,我现在需要回答用户关于交叉熵KL的区别及联系的问题。首先,我需要回顾一下这两个概念的基本定义和数学表达式。交叉熵KL都是用来衡量两个概率分布之间的差异,但它们的侧重点不同。根据引用中的资料,交叉熵是信息论中的概念,而KL则衡量两个分布之间的“距离”。 接下来,我需要明确它们的数学定义。根据引用[4],交叉熵定义为$H(P, Q) = -\sum_{i} P(i) \log Q(i)$,其中P是真实分布,Q是预测分布。而KL的定义则是$D_{KL}(P \parallel Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}$,这可以分解为交叉熵减去P的熵,即$D_{KL}(P \parallel Q) = H(P, Q) - H(P)$。这一点在引用[2]中也提到过,说明KL交叉熵和熵组成。 然后是区别和联系。区别方面,交叉熵不对称,而KL也不对称,但KL具有更明确的“距离”属性,尽管不是真正的量。此外,交叉熵直接用于优化模型,因为当P固定时,最小化交叉熵等价于最小化KL。联系方面,KL可以分解为交叉熵减去熵,所以两者在优化过程中有直接关系。 应用场景部分,交叉熵常用于分类任务中的损失函数,如引用[3]提到的分类、生成模型等。KL则用于需要比较分布相似性的场景,比如变分自编码器(VAE)中的正则化项,或者模型压缩中的知识蒸馏。 需要注意的是,用户可能还希望了解实际应用中的例子,比如在神经网络中如何使用交叉熵作为损失函数,或者KL在概率生成模型中的作用。同时,需要确保数学公式的正确性,比如使用$$...$$格式表示独立公式,行内公式用$...$,并检查LaTeX语法是否正确。 最后,生成相关问题时,需要围绕这两个概念展开,可能涉及它们的优化方法、在不同算法中的应用,或者其他损失函数的比较。例如,如何选择交叉熵KL,或者它们在生成对抗网络(GAN)中的具体应用。 现在需要将以上思考整理成结构化的回答,确保符合用户的要求,使用中文,正确引用,并生成相关问题。</think>### 交叉熵KL的区别及联系 #### 一、数学定义 1. **交叉熵(Cross Entropy)** 给定真实分布$P$和预测分布$Q$,交叉熵定义为: $$H(P, Q) = -\sum_{i} P(i) \log Q(i)$$ 它表示用分布$Q$编码真实分布$P$所需的平均信息量[^4]。 2. **KL(Kullback-Leibler Divergence)** KL衡量两个分布$P$和$Q$之间的差异: $$D_{KL}(P \parallel Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)}$$ 其本质是“用$Q$近似$P$时产生的信息损失”[^1][^2]。 #### 二、核心区别 | **特性** | **交叉熵** | **KL** | |----------------|-------------------------------|--------------------------------| | 物理意义 | 编码效率的衡量 | 信息损失的量化 | | 熵的关系 | $H(P, Q) = H(P) + D_{KL}(P \parallel Q)$ | $D_{KL} = H(P, Q) - H(P)$ | | 对称性 | 不对称 | 不对称 | | 应用场景 | 直接用于分类任务损失函数 | 衡量分布相似性,正则化约束 | #### 三、联系推导 KL可以分解为交叉熵熵的差值: $$D_{KL}(P \parallel Q) = \underbrace{-\sum P \log Q}_{\text{交叉熵}} - \underbrace{(-\sum P \log P)}_{\text{熵}}$$ 因此,**优化交叉熵等价于优化KL**(当真实分布$P$固定时,最小化$H(P, Q)$等同于最小化$D_{KL}$)[^2][^4]。 #### 四、应用场景 1. **交叉熵** - 分类任务:如神经网络的损失函数(例如Softmax输出标签的差异)[^3]。 - 生成模型:衡量生成分布真实分布的差距。 2. **KL** - 变分推断:在变分自编码器(VAE)中约束潜在变量的分布[^1]。 - 强化学习:策略优化时衡量策略更新的幅。 - 模型压缩:通过KL传递“教师模型”到“学生模型”的知识。 #### 五、实例说明 - **分类任务**:假设真实标签$P=[1,0]$,模型预测$Q=[0.8, 0.2]$,则: $$H(P, Q) = -1 \cdot \log 0.8 = 0.223$$ $$D_{KL}(P \parallel Q) = 0.223 - 0 = 0.223 \quad (\text{因} H(P)=0)$$ - **生成对抗网络(GAN)**:生成器通过减小生成数据分布真实分布的KL来提升逼真(实际中常用JS或Wasserstein距离)[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值