news 2026/4/23 19:15:50

熵和交叉熵和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/4/23 11:38:49

基于ms-swift的身份认证与访问控制优化

基于ms-swift的身份认证与访问控制优化 在企业级AI系统日益复杂的今天&#xff0c;大模型的部署早已不再是“训练完就上线”那么简单。越来越多的企业面临一个共同难题&#xff1a;如何在共享高性能基座模型的同时&#xff0c;确保不同用户只能访问其被授权的模型能力&#xff…

作者头像 李华
网站建设 2026/4/23 11:34:45

终极提升!Consistency Decoder让AI绘图画质惊艳升级

终极提升&#xff01;Consistency Decoder让AI绘图画质惊艳升级 【免费下载链接】consistency-decoder 项目地址: https://ai.gitcode.com/hf_mirrors/openai/consistency-decoder OpenAI推出的全新Consistency Decoder解码器&#xff0c;为Stable Diffusion等主流AI绘…

作者头像 李华
网站建设 2026/4/23 14:27:59

ms-swift插件机制详解:自定义奖励函数与环境接口开发

ms-swift插件机制详解&#xff1a;自定义奖励函数与环境接口开发 在大模型从“能说”走向“会做”的演进过程中&#xff0c;一个核心挑战浮出水面&#xff1a;如何让模型不仅生成流畅文本&#xff0c;还能在复杂环境中做出合理决策&#xff1f;传统的微调范式依赖静态数据集和固…

作者头像 李华
网站建设 2026/4/23 12:50:52

worker-timers:突破浏览器焦点限制的高精度定时器解决方案

worker-timers&#xff1a;突破浏览器焦点限制的高精度定时器解决方案 【免费下载链接】worker-timers A replacement for setInterval() and setTimeout() which works in unfocused windows. 项目地址: https://gitcode.com/gh_mirrors/wo/worker-timers 在现代Web应用…

作者头像 李华
网站建设 2026/4/23 10:49:46

UI-TARS 72B:AI自动玩转GUI的终极突破

UI-TARS 72B&#xff1a;AI自动玩转GUI的终极突破 【免费下载链接】UI-TARS-72B-DPO 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/UI-TARS-72B-DPO 导语 字节跳动最新发布的UI-TARS-72B-DPO模型&#xff0c;通过创新的端到端视觉语言架构&#xff0c…

作者头像 李华
网站建设 2026/4/23 10:49:53

DeepSeek-V2-Lite:16B轻量MoE模型高效部署新选择

DeepSeek-V2-Lite&#xff1a;16B轻量MoE模型高效部署新选择 【免费下载链接】DeepSeek-V2-Lite DeepSeek-V2-Lite&#xff1a;轻量级混合专家语言模型&#xff0c;16B总参数&#xff0c;2.4B激活参数&#xff0c;基于创新的多头潜在注意力机制&#xff08;MLA&#xff09;和De…

作者头像 李华