损失函数——交叉熵损失函数

本文介绍了机器学习中常用的交叉熵损失函数,包括其定义、计算公式及应用场景,并对比了其与KL散度的区别,适用于分类任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、定义

机器学习中所有的算法都需要最大化或最小化一个函数,这个函数被称为“目标函数”。其中,我们一般把最小化的一类函数,称为“损失函数”。它能根据预测结果,衡量出模型预测能力的好坏。

损失函数大致可分为两类分类问题的损失函数回归问题的损失函数

二、交叉熵损失函数:

知识准备:

:表示一个系统的不确定程度,或者说一个系统的混乱程度

1、信息熵:将熵引入到信息论中,命名为“信息熵”

在这里插入图片描述

公式运用
此处的信息熵克表示混乱程度亦或是不确定性
在这里插入图片描述
在这里插入图片描述

2、 KL散度(相对熵):

KL散度:是两个概率分布间差异的非对称性度量。
通俗说法是用来衡量同一个随机变量的两个不同分布之间的距离
在这里插入图片描述

在这里插入图片描述

公式运用:
在这里插入图片描述
公式变形:

在这里插入图片描述

交叉熵:

交叉熵主要用于度量同一个随便变量X的预测分布Q与真实分布P之间的差距
在这里插入图片描述
这里求得的交叉熵意味与真实标签的差距大小,越小越好
在这里插入图片描述

结论:

在这里插入图片描述
由图可知,如果不是真实标签,它的标签P(X)=0所以算的结果与之无关

1、预测越准确,交叉熵越小
2、交叉熵只跟真实标签的预测概率值有关
所以可以把交叉熵公式化简:
在这里插入图片描述


二分类交叉熵公式:
在这里插入图片描述


为什么要用交叉熵而不是用KL散度?
在这里插入图片描述


Softmax公式

1、将数字转化成概率
2、进行数据归一化的利器
在这里插入图片描述
在这里插入图片描述


Sigmoid

1、Sigmoid函数也叫Logistic函数
2、取值范围是(0,1)
3、神经网路常用函数
4、常被用作二分类
在这里插入图片描述


常见的交叉熵损失函数类型

在这里插入图片描述

交叉熵损失函数:

在这里插入图片描述
具体过程:
在这里插入图片描述

### 关于交叉熵函数 #### 定义 交叉熵是一种衡量两个概率分布之间差异的损失函数,在机器学习和深度学习领域广泛应用于分类问题。具体来说,交叉熵用来量化真实标签的概率分布与模型预测的概率分布之间的差距[^1]。 对于二元分类问题,假设 \( y \) 表示真实的类别(0 或 1),\( p(y|x) \) 则表示给定输入特征 x 下属于该类别的条件概率,则二元交叉熵可以定义如下: \[ H(p, q) = -\sum_{i}p(x_i)\log(q(x_i)) \] 其中 \( p(x_i) \) 和 \( q(x_i) \) 分别代表目标的真实分布和预测分布[^3]。 #### 使用场景 在监督式学习框架下,当面对多分类任务时,交叉熵被选作常用的损失函数之一。这是因为相比于其他类型的损失函数,比如均方误差(MSE),它能更好地捕捉到不同类别间的区别,并且更有利于神经网络参数更新过程中的梯度下降算法工作[^2]。 此外,由于 Softmax 函数能够将线性变换后的得分转换成有效的离散型概率分布形式,因此两者经常一起搭配使用来解决多分类问题。Softmax 的输出具备良好的可导性质,这使得整个系统的反向传播机制得以顺利实施,从而提高了训练速度以及最终得到更好性能的结果[^4]。 #### Python 实现代码 下面给出一段简单的 PyTorch 版本实现交叉熵损失函数的例子: ```python import torch.nn as nn # 假设我们有一个批次大小为 N 的数据集, # 每个样本有 C 类的可能性分数作为输入 logits, # 并已知对应的 ground truth labels. criterion = nn.CrossEntropyLoss() output = model(input_data) # output shape: [N,C], 即 batch_size * num_classes loss = criterion(output, target_labels) print(f'Loss value is {loss.item()}') ``` 此段代码展示了如何利用 PyTorch 库内置的功能快速构建并应用交叉熵损失函数来进行模型训练。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值