DL 八股总结¶
约 891 个字 预计阅读时间 3 分钟
优化目标函数¶
一、基本定义¶
1. KL散度(相对熵)¶
KL散度用于衡量两个概率分布 \(p(x)\) 和 \(q(x)\) 之间的差异,公式为:
\[
D_{\text{KL}}(p \parallel q) = \sum_x p(x) \log\left(\frac{p(x)}{q(x)}\right)
\]
- 性质:
- 非负性:\(D_{\text{KL}}(p \parallel q) \geq 0\),当且仅当 \(p = q\) 时取等号。
- 非对称性:\(D_{\text{KL}}(p \parallel q) \neq D_{\text{KL}}(q \parallel p)\),因此不是严格的距离。
- 物理意义:表示用分布 \(q\) 近似 \(p\) 时所损失的信息量。
2. 交叉熵¶
交叉熵描述用分布 \(q\) 表示真实分布 \(p\) 的平均编码长度,公式为:
\[
H(p, q) = -\sum_x p(x) \log q(x)
\]
- 应用场景:
在机器学习中,\(p(x)\) 通常是样本的真实分布(如标签),\(q(x)\) 是模型预测的分布。交叉熵常用于分类问题的损失函数(如对数损失),衡量预测分布与真实分布的差异。
二、数学关系:KL散度 = 交叉熵 - 信息熵¶
设 \(H(p)\) 为真实分布 \(p\) 的信息熵(熵),定义为:
\[
H(p) = -\sum_x p(x) \log p(x)
\]
则 KL散度可分解为:
\[
D_{\text{KL}}(p \parallel q) = H(p, q) - H(p)
\]
推导过程:
\[
D_{\text{KL}}(p \parallel q) = \sum_x p(x) \log p(x) - \sum_x p(x) \log q(x) = -H(p) + H(p, q)
\]
关键结论:¶
当 真实分布 \(p\) 固定 时(如训练数据的标签分布已知),\(H(p)\) 是常数。此时:
- 最小化 KL散度 \(D_{\text{KL}}(p \parallel q)\) 等价于 最小化交叉熵 \(H(p, q)\)。
- 这就是为什么机器学习中常用交叉熵作为损失函数——它本质上隐式地优化了KL散度,且无需显式计算 \(H(p)\)。
三、应用场景对比¶
场景 | KL散度 | 交叉熵 |
---|---|---|
物理意义 | 衡量两个分布的差异(相对熵)。 | 用预测分布编码真实分布的平均长度。 |
公式 | \(\sum p \log(p/q)\) | \(-\sum p \log q\) |
是否需要真实分布熵 | 需要(\(H(p)\) 需已知)。 | 不需要(隐式包含 \(H(p)\))。 |
机器学习中的作用 | 理论分析(如生成模型评估)。 | 直接作为损失函数(如分类问题)。 |
对称性 | 非对称(\(p \parallel q \neq q \parallel p\))。 | 非对称(由 \(p\) 和 \(q\) 的角色决定)。 |
四、实例:二分类问题中的交叉熵损失¶
以二分类为例,真实分布 \(p\) 用one-hot向量表示(标签 \(y \in \{0, 1\}\)),预测分布 \(q\) 用概率 \(\hat{y} = \sigma(\mathbf{w}^T\mathbf{x})\)(\(\sigma\) 为sigmoid函数)。
- 单个样本的交叉熵损失为:
\[
\text{Loss} = - \left[ y \log \hat{y} + (1-y) \log (1-\hat{y}) \right]
\]
- 等价于最小化 \(p\)(真实分布)与 \(q\)(预测分布)的KL散度,因为此时 \(H(p)\) 为常数(仅与标签分布有关)。
五、总结¶
- 核心联系:
KL散度是交叉熵与信息熵的差,当真实分布固定时,最小化交叉熵等价于最小化KL散度。 - 应用差异:
- 交叉熵更直接用于机器学习损失函数,因其无需显式计算真实分布的熵。
- KL散度更适合理论分析(如分布差异度量、生成模型评估)。
- 本质理解:
两者均刻画分布差异,交叉熵是KL散度的“实用简化版”,尤其在监督学习中通过优化预测分布拟合真实分布时表现突出。
通过理解这种关系,可以更清晰地认识为什么交叉熵在分类问题中有效,以及KL散度在理论分析中的核心作用。