MATLAB算法实战应用案例精讲-【数模应用】交叉熵损失函数(Cross-entropy loss function)

本文深入探讨了交叉熵损失函数在MATLAB中的应用,主要涉及分类问题。文章详细讲解了信息熵、相对熵(KL散度)和交叉熵的概念,以及它们在机器学习中的作用。通过实例,阐述了交叉熵在二分类和多分类任务中的算法原理和求导过程。同时,文章介绍了PyTorch中实现交叉熵损失的不同形式,并分析了交叉熵损失函数的优缺点及其在图像分类任务中的应用。

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

目录

前言

几个相关概念

信息量

信息熵

相对熵(KL散度)

交叉熵

知识储备

熵(Entropy)

1.1 混乱程度,不确定性,还是信息量?

1.2 计算编码长度

1.3 直接计算熵

1.4 熵的直观解释

算法原理

交叉熵损失函数

1 二分类任务下的交叉熵损失函数

2 多分类任务下的交叉熵损失函数 

 算法思想

函数性质

学习过程

二分类情况

 多分类情况

数学模型

 交叉熵损失函数的直观理解

 交叉熵损失函数变种

交叉熵损失函数求导

1.二分类交叉熵损失函数求导

2 多分类交叉熵损失函数求导

 Pytorch中CrossEntropy的形式

1. torch.nn.functional.cross_entropy

2. torch.nn.functional.binary_cross_entropy

3. torch.nn.functional.binary_cross_entropy_with_logits

 交叉熵损失(Cross Entropy Loss)计算过程

优缺点

优点

缺点

应用案例

交叉熵在单分类问题中的应用

总结:

图像分类任务

1.1 Classification Error(分类错误率) 

1.2 Mean Squared Error (均方误差)

1.3 Cross Entropy Loss Function(交叉熵损失函数)

1.3.1 表达式


前言

在处理分类问题的神经网络模型中,很多都使用交叉熵 (cross entropy) 做损失函数。交叉熵和KL散度在机器学习中非常有用,随处可见。 例如,我们可能希望预测的概率分布接近我们观察到的数据的分布,也就是说,我们希望一种分布(可以是概率向量)与另一种分布接近, 而交叉熵和KL散度为我们提供了一种自然的方法测量两个分布之间的差距,这个差距就可以被当作损失函数。

交叉熵主要是用来判定实际的输出与期望的输出的接近程度,为什么这么说呢,举个例子:在做分类的训练的时候,如果一个样本属于第K类,那么这个类别所对应的的输出节点的输出值应该为1,而其他节点的输出都为0,即[0,0,1,0,….0,0],这个数组也就是样本的Label,是神经网络最期望的输出结果。也就是说用它来衡量网络的输出与标签的差异,利用这种差异经过反向传播去更新网络参数。

几个相关概念

信息量

  • 信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的东西”,也就是说衡量信息量的大小就是看这个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林聪木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值