news 2026/4/28 3:00:29

AI 术语通俗词典:交叉熵

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 术语通俗词典:交叉熵

交叉熵是信息论、统计学、机器学习和人工智能中非常常见的一个术语。它用来描述:当真实结果已经给定时,一个概率模型给出的预测分布到底有多“不贴合”真实分布。 换句话说,交叉熵是在回答:模型给正确答案分配的概率到底够不够高。

如果说分类模型的输出回答的是“各个类别分别有多大可能”,那么交叉熵回答的就是“这种概率分配离理想状态还有多远”。因此,交叉熵常用于分类任务、神经网络训练、概率分布比较和损失函数设计,在人工智能中具有非常重要的基础地位。

一、基本概念:什么是交叉熵

交叉熵(Cross Entropy)最初来自信息论(Information Theory)。在机器学习中,它通常用来衡量:真实分布(true distribution)与预测分布(predicted distribution)之间的差异程度。

若真实分布记为 𝑝,预测分布记为 𝑞,则交叉熵可写为:

其中:

• 𝑝(𝑥) 表示真实分布在结果 𝑥 上的概率

• 𝑞(𝑥) 表示模型预测分布在结果 𝑥 上的概率

• 𝐻(𝑝, 𝑞) 表示分布 𝑝 与分布 𝑞 之间的交叉熵

这个公式的核心意思是:如果真实结果更看重某些事件,而模型恰好也给这些事件较高概率,那么交叉熵就会较小;如果模型没有把概率给到真正重要的位置上,交叉熵就会变大。

从通俗角度看,交叉熵可以理解为:真实答案已经摆在那里了,现在看模型到底有没有把“信心”押对地方。

例如,在一个三分类问题中,真实类别是“猫”。理想情况下,模型应该把很高的概率分配给“猫”,而不是“狗”或“鸟”。如果模型确实把“猫”的概率预测得很高,那么交叉熵就小;如果模型明明预测错了,却还对错误类别特别自信,那么交叉熵就会明显变大。

因此,交叉熵的本质不是单纯看“分对没分对”,而是看:模型给正确答案分配了多少概率。

二、为什么需要交叉熵

交叉熵之所以重要,是因为很多机器学习任务并不只是输出一个“类别编号”,而是输出一组概率。

例如,在一个三分类问题中,模型可能输出:

• 猫:0.80

• 狗:0.15

• 鸟:0.05

也可能输出:

• 猫:0.40

• 狗:0.35

• 鸟:0.25

这两种结果虽然都把“猫”排在第一位,但显然不一样:

• 第一种更自信,也更贴近真实类别

• 第二种虽然也猜对了,但把握明显不足

如果只看“是否分类正确”,这两种情况可能都被算作“答对”;

但如果看交叉熵,第一种损失会更小,第二种会更大。

这说明,交叉熵特别适合用来衡量概率输出是否合理。

从通俗角度看,交叉熵可以理解为:模型不只要选对答案,还要尽量把概率分布得像样。

这也是为什么在分类任务中,尤其是在神经网络分类中,交叉熵会比简单的“对错计数”更适合作为训练目标。

三、交叉熵的直观理解

交叉熵最核心的直觉可以概括为一句话:模型越把高概率分配给真实类别,交叉熵越小;越把高概率分配给错误类别,交叉熵越大。

1、当模型预测得很准时

假设真实类别就是“正类”,而模型给正类的概率是 0.99。

这说明模型不仅预测正确,而且非常自信。此时交叉熵会比较小。

2、当模型预测得不太准时

如果模型给真实类别的概率只有 0.55,那么虽然还可能勉强预测对,但信心并不强。此时交叉熵会更大。

3、当模型非常自信却预测错误时

如果真实类别是“猫”,但模型却把 0.99 的概率给了“狗”,这说明模型不仅错了,而且错得非常自信。这时交叉熵会变得很大。

从通俗角度看,交叉熵就像是在惩罚这种情况:

• 对正确答案不够重视

• 对错误答案却过于自信

因此,交叉熵是一种特别强调“概率质量是否放在正确位置上”的损失函数。

四、二分类中的交叉熵

在机器学习二分类问题中(如判断邮件是“垃圾邮件”还是“非垃圾邮件”),我们常用二分类交叉熵(Binary Cross Entropy)作为损失函数。

先明确几个术语:

• 正类:我们关心的那个类别,通常用 1 表示。例如“垃圾邮件”

• 负类:另一个类别,通常用 0 表示。例如“正常邮件”

• 正样本:真实标签为 1 的样本(真的是垃圾邮件)

• 负样本:真实标签为 0 的样本(真的是正常邮件)

模型会输出一个概率 p̂,表示它预测该样本属于正类(1)的把握。

设真实标签 𝑦 取值为 0 或 1,模型预测正类的概率为 p̂,则二分类交叉熵通常写为:

其中:

• 𝑦 表示真实类别,通常取 0 或 1

• p̂ 表示模型预测为正类的概率

• 𝐿(𝑦, p̂) 表示该样本的交叉熵损失

这个式子可以分两种情况理解。

第一种情况,碰到一个正样本(𝑦 = 1)时,公式会化简为:

如果模型预测 p̂=0.9(很可能是正类),损失小(−log(0.9)≈0.105)。

如果模型预测 p̂=0.1(错判为负类),损失大(−log(0.1)≈2.303)。

也就是说,对正样本,希望模型给正类的概率尽量高。

第二种情况,碰到一个负样本(𝑦 = 0)时,公式会化简为:

如果模型预测 p̂=0.1(认为很可能是负类),则 1−p̂ 损失小。

如果模型预测 p̂=0.9(错误地认为很可能是正类),损失大。

也就是说,对负样本,希望模型给正类的概率尽量低(即给负类的概率 1-p̂ 尽量高)。

从通俗角度看,二分类交叉熵就是:正样本时,希望模型把概率押在“1”上;负样本时,希望模型把概率押在“0”上。即,真实类别对应的那个预测概率越高,损失越小。

五、多分类中的交叉熵

多分类交叉熵也是同样的道理,只不过从“两个类”扩展到了“多个类”。

在多分类问题中,若真实分布采用独热形式(one-hot),交叉熵通常写为:

其中:

• 𝐾 表示类别数

• 𝑦ₖ 表示第 𝑘 类的真实标签值,真实类别对应 1,其余为 0

• p̂ₖ 表示模型对第 𝑘 类给出的预测概率

由于独热标签中只有一个位置是 1,因此这个式子本质上等价于:只取真实类别对应的那个预测概率来计算损失。

例如,若三分类中真实类别是第 2 类,则:

这说明,多分类交叉熵依然在做同一件事:只要真实类别的预测概率足够高,损失就小;否则损失就大。

六、交叉熵的重要性与常见应用场景

1、交叉熵的重要性

交叉熵之所以重要,是因为现代分类模型通常输出的是概率分布,而不是简单的类别编号。

如果训练时只看“分对还是分错”,模型就很难学会如何调整这些概率;而交叉熵恰好提供了一个清晰的概率优化目标。

首先,交叉熵能够精细地区分“错得轻”还是“错得重”。

同样是预测错误,如果模型只是略微偏向错误类别,和模型对错误类别极度自信,后果显然不同。交叉熵会对后者施加更强惩罚。

其次,交叉熵特别适合与概率输出模型结合。

例如逻辑回归(Logistic Regression)、Softmax 分类器、神经网络输出层等,都会自然地产生概率值,而交叉熵正好可以直接衡量这些概率预测是否合理。

再次,交叉熵在优化中通常表现良好。

它不只是概念上合理,而且在实际训练中也非常适合和梯度下降(Gradient Descent)、反向传播(Backpropagation)等方法结合使用,因此成为分类任务中的经典损失函数。

可以概括地说:交叉熵既能衡量“对错”,又能衡量“自信程度是否合理”。

2、常见应用场景

(1)在逻辑回归中,交叉熵是经典损失函数

逻辑回归虽然名字里有“回归”,但常用于分类任务,而它最经典的训练目标之一就是最小化交叉熵。

(2)在神经网络分类中,交叉熵几乎是标准配置

无论是图像分类、文本分类,还是语音分类,交叉熵都非常常见。尤其是 Softmax 输出层与多分类交叉熵的组合,是最经典的搭配之一。

(3)在二分类和多分类任务中,交叉熵都适用

二分类常用二元交叉熵,多分类常用分类交叉熵,它们本质上都在衡量预测分布与真实分布的差异。

(4)在概率校准要求较强的任务中,交叉熵尤其重要

因为它直接作用于预测概率,所以它比单纯的 0-1 正确率更能反映模型输出的概率质量。

七、交叉熵与损失函数、目标函数的关系

交叉熵经常和“损失函数”“目标函数”一起出现,因此有必要区分。

1、交叉熵常作为单样本损失函数

例如在二分类中:

它表示某一个样本的损失。

2、训练时通常优化的是整体目标函数

对全部样本,常把交叉熵取平均,得到整体目标函数:

如果再加入正则项,则可以写成:

因此可以简单理解为:交叉熵常是“每个样本怎么扣分”,目标函数则是“训练整体怎么优化”。

八、交叉熵与准确率的区别

交叉熵和准确率(Accuracy)经常一起出现,但它们关注的内容不同。

1、准确率只看“分没分对”

如果预测类别和真实类别一致,就记为正确;否则记为错误。

2、交叉熵还看“概率分得好不好”

即使两个模型准确率相同,交叉熵也可能不同:一个模型可能对正确类别很有信心,另一个模型可能只是勉强猜对。

这时,交叉熵会认为前者更好。

从通俗角度看:准确率更像“最终答对几题”,交叉熵更像“答题时对正确答案的把握有多充分”。

因此,在训练阶段,交叉熵通常比准确率更适合做优化目标。

九、使用交叉熵时需要注意的问题

1、交叉熵主要适用于分类问题

因为它本质上是在比较概率分布,所以最自然的场景是分类,而不是连续数值回归。

2、交叉熵对“错误但自信”的预测惩罚很重

这是它的重要优点,但同时也意味着:如果模型概率输出很不稳定,交叉熵可能会对少数非常差的预测特别敏感。

3、预测概率不能随意取到 0 或 1

因为交叉熵里含有 log,如果预测概率恰好为 0,就会导致数值问题。

实际实现中通常会做数值裁剪或稳定化处理。

4、交叉熵小,不一定表示所有业务指标都最优

例如在类别极不平衡任务中,交叉熵下降并不自动等于召回率、F1 或 AUC 一定最优,因此训练目标和评估指标仍需要结合来看。

十、Python 示例

下面给出两个简单示例,用来说明交叉熵的基本计算方式,以及它如何衡量概率预测的好坏。

示例 1:手动计算二分类交叉熵

import math # 真实标签y = 1 # 模型预测为正类的概率p_hat = 0.8 # 计算二分类交叉熵loss = - (y * math.log(p_hat) + (1 - y) * math.log(1 - p_hat)) print("真实标签:", y)print("预测概率:", p_hat)print("交叉熵损失:", loss)

这个例子展示了最基本的二分类交叉熵计算。

如果 p̂ 更接近真实类别所要求的概率方向,损失就会更小。

示例 2:使用 scikit-learn 计算对数损失

from sklearn.metrics import log_loss # 真实标签y_true = [0, 1, 1] # 模型预测为正类的概率y_pred = [0.1, 0.8, 0.7] # 计算交叉熵(对数损失)loss = log_loss(y_true, y_pred) print("真实标签:", y_true)print("预测概率:", y_pred)print("交叉熵损失:", loss)

这个例子展示了实际机器学习中常见的做法。

在 scikit-learn 中,log_loss 就是交叉熵损失的一种常见实现形式。

📘 小结

交叉熵是一种用来衡量真实分布与预测分布差异程度的损失函数。在分类任务中,它的核心作用是检查模型是否把足够高的概率分配给真实类别。预测越正确、越自信,交叉熵通常越小;预测越错误、越自信,交叉熵通常越大。在逻辑回归、神经网络和各类分类模型中,交叉熵都非常常见。对初学者而言,可以把它理解为:模型不只要“选对答案”,还要“把概率押对地方”。

“点赞有美意,赞赏是鼓励”

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

免费降AI率实用工具盘点:论文轻松过AIGC检测

现在写论文用AI辅助早已是常态,但不少同学都踩过AI率超标的坑:学校和期刊的检测规则越来越严,一旦AI生成痕迹超标,轻则打回修改,重则直接判定不合格,之前花的精力全白费。人工逐句改写不仅耗时长&#xff0…

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

ARM架构缓存与计数器寄存器深度解析

1. ARM架构缓存层次解析在ARM架构中,缓存层次结构通过CLIDR_EL1(Cache Level ID Register)寄存器进行管理和配置。这个寄存器提供了处理器缓存系统的完整拓扑信息,让系统软件能够了解并有效管理各级缓存。1.1 CLIDR_EL1寄存器结构…

作者头像 李华
网站建设 2026/4/28 2:56:32

DCDC的电感布局

1. 功率回路最小化(最高优先级) 高频功率环路面积必须最小:开关管→功率电感→输出整流管→滤波电容的回路面积要尽量小 大电流回路尽量短:走线太长会产生寄生电感,导致开关时产生尖峰电压,增加开关损耗和E…

作者头像 李华
网站建设 2026/4/28 2:56:29

云里物里亮相亚洲蓝牙大会,携伙伴共启AI物联新机遇

4月23日至24日,备受瞩目的2026蓝牙亚洲大会(Bluetooth Asia 2026)在深圳会展中心盛大举办。本届大会汇聚了全球行业领袖、创新先锋与开发者,共同探讨蓝牙技术在人工智能、汽车及工业物联网等领域的创新应用。作为蓝牙技术生态中的…

作者头像 李华
网站建设 2026/4/28 2:55:42

针对不完整多模态学习的检索增强动态提示调优

论文总结1、有开源代码:https://github.com/Jian-Lang/RAGPT2、现有方法的不足:1)联合学习,使用像素或者空字符作为占位符去填充缺失模态,引入噪声;2)跨模态生成,存在模态鸿沟&#…

作者头像 李华
网站建设 2026/4/28 2:49:21

Cosbench分布式压测集群搭建踩坑实录:多Driver配置与防火墙那些事儿

Cosbench分布式压测集群搭建实战:多Driver配置与防火墙避坑指南 第一次在跨机房环境中部署Cosbench分布式压测集群时,我盯着屏幕上反复出现的"Connection refused"错误整整排查了六个小时。这个看似简单的工具在实际生产环境中部署时会遇到各种…

作者头像 李华