news 2026/7/13 19:58:16

熵和交叉熵和KL散度

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
熵和交叉熵和KL散度

理解熵和交叉熵的关键在于区分“事物本身的不确定性”和“我们对事物的预测与真实情况的差异”。下面我们通过一个天气预报的比喻来直观理解。

🔍 理解熵:不确定性的度量

衡量的是一个概率分布本身的不确定性或混乱程度。分布越均匀、越难猜中结果,熵就越高。

想象你要预报A城市明天的天气,历史数据如下:

  • ☀️ 晴天概率:80%

  • ☁️ 多云概率:15%

  • 🌧️ 下雨概率:5%

这个天气分布的熵计算如下:

H(A) = - [0.8*log₂(0.8) + 0.15*log₂(0.15) + 0.05*log₂(0.05)] ≈ 0.884 比特

这个值(约0.884比特)可以理解为“准确预报天气所需的最小平均信息量”。如果天气更极端,比如几乎总是晴天,熵会降低(不确定性减小);如果三种天气概率相等,熵会升高(不确定性增大)。

📊 理解交叉熵与KL散度:预测与真实的差距

现在,假设你作为预报员,对A城市天气的预测分布为:

  • ☀️ 晴:40%

  • ☁️ 云:30%

  • 🌧️ 雨:30%

真实分布(上文熵中的分布)是:

  • ☀️ 晴:80%

  • ☁️ 云:15%

  • 🌧️ 雨:5%

交叉熵衡量的是,当你用预测分布(Q)​ 去描述真实分布(P)​ 时,所付出的平均信息量。其计算公式为:

H(P, Q) = - Σ P(x) * log(Q(x))

代入我们的例子:

H(真实, 预测) = - [0.8*log₂(0.4) + 0.15*log₂(0.3) + 0.05*log₂(0.3)] ≈ 1.405 比特

这个值(1.405比特)大于真实的熵(0.884比特)。之所以更大,是因为你的预测分布(Q)与真实分布(P)有差异,导致编码效率降低。这个多出来的“信息损耗”或“差异程度”,就是KL散度(Kullback-Leibler Divergence)。

它们三者的核心关系是:

KL散度 = 交叉熵 - 熵

Dₖₗ(P||Q) = H(P, Q) - H(P)

代入计算:

Dₖₗ(真实||预测) = 1.405 - 0.884 = 0.521 比特

下表总结了这些概念的关键点:

概念

衡量对象

核心意义

在天气预报例子中的含义

熵 (H(P))

单个概率分布 (P)

系统内在的不确定性或平均信息量

准确预报A城市天气所需的最小平均信息量(0.884比特)

交叉熵 (H(P, Q))

两个概率分布 (P 和 Q)

预测分布 (Q)​ 去表示真实分布 (P)​ 所需的平均信息量

用你错误的预测模型来预报天气,所需的平均信息量(1.405比特)

KL散度 (Dₖₗ(P||Q))

两个概率分布 (P 和 Q)

预测分布 (Q)​ 与真实分布 (P)​ 之间的差异程度

你的预测模型真实情况差距(0.521比特)

它们的关系可以用下图清晰地展示:

flowchart TD A[("预测分布 Q<br>与真实分布 P 的差异")] --> B[KL散度 Dₖₗ(P||Q)<br>衡量两个分布的差异] C[("预测的代价")] --> D[交叉熵 H(P,Q)<br>使用分布Q表示分布P的平均信息量] E[("固有的不确定性")] --> F[熵 H(P)<br>分布P本身的不确定性] B --> D F --> D style A stroke-dasharray: 5 5 style C stroke-dasharray: 5 5 style E stroke-dasharray: 5 5

从图和公式都能直观看出:交叉熵是由系统本身的不确定性(熵)和由于预测不准带来的额外成本(KL散度)共同构成的

💡 核心要点与机器学习中的应用

总结一下关键要点:

  • 熵是“底价”:是描述真实分布所需信息量的理论最小值。

  • 交叉熵是“实付”:是你使用有误差的预测分布时,实际付出的信息量成本。

  • KL散度是“溢价”:是由于预测不精准而产生的额外成本。

  • 最小化交叉熵等价于最小化KL散度:因为在机器学习中,训练数据的真实分布(P)是固定的,其熵(H(P))也就固定了。因此,通过优化算法降低交叉熵损失(H(P, Q)),本质上就是在减少预测分布(Q)与真实分布(P)之间的KL散度,让模型的预测越来越接近真实情况。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/30 13:47:54

金融事件抽取实战秘籍:从零构建智能投资分析系统的完整指南

金融事件抽取实战秘籍&#xff1a;从零构建智能投资分析系统的完整指南 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型&#xff0c;以规模较小、可私有化部署、训练成本较低的模型为主&#xff0c;包括底座模型&#xff0c;垂直领域微调及应用&#xff0c;数据…

作者头像 李华
网站建设 2026/7/5 23:40:09

3D图形渲染终极指南:从入门到精通

3D图形渲染终极指南&#xff1a;从入门到精通 【免费下载链接】3D-Graphics-Rendering-Cookbook 3D Graphics Rendering Cookbook, published by Packt. 项目地址: https://gitcode.com/gh_mirrors/3d/3D-Graphics-Rendering-Cookbook 在现代3D图形渲染领域&#xff0c;…

作者头像 李华
网站建设 2026/7/1 8:26:32

ERNIE 4.5黑科技:2比特量化让300B大模型单卡运行

ERNIE 4.5黑科技&#xff1a;2比特量化让300B大模型单卡运行 【免费下载链接】ERNIE-4.5-300B-A47B-2Bits-Paddle 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-300B-A47B-2Bits-Paddle 导语&#xff1a;百度ERNIE 4.5推出突破性2比特量化技术&#x…

作者头像 李华
网站建设 2026/7/1 15:08:03

DeepSeek-Coder-V2:如何用开源AI提升编程效率?

DeepSeek-Coder-V2&#xff1a;如何用开源AI提升编程效率&#xff1f; 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2&#xff0c;性能比肩GPT4-Turbo&#xff0c;全面支持338种编程语言&#xff0c;128K超长上下文&#xff0c;助您…

作者头像 李华
网站建设 2026/7/1 16:04:00

1.5B小模型大突破!DeepSeek-R1推理能力跃升

1.5B小模型大突破&#xff01;DeepSeek-R1推理能力跃升 【免费下载链接】DeepSeek-R1-Distill-Qwen-1.5B DeepSeek-R1-Distill-Qwen-1.5B&#xff1a;基于大规模强化学习与预训练的深度模型&#xff0c;具备卓越推理能力&#xff0c;支持数学、编程等领域任务。经蒸馏后模型体积…

作者头像 李华
网站建设 2026/7/5 7:41:39

open-eBackup 终极使用指南:从零开始掌握企业级数据备份

open-eBackup 终极使用指南&#xff1a;从零开始掌握企业级数据备份 【免费下载链接】open-eBackup open-eBackup是一款开源备份软件&#xff0c;采用集群高扩展架构&#xff0c;通过应用备份通用框架、并行备份等技术&#xff0c;为主流数据库、虚拟化、文件系统、大数据等应用…

作者头像 李华