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

本文详细介绍了交叉熵损失函数在MATLAB中的应用,从信息熵、相对熵等基本概念出发,深入讲解交叉熵的含义、算法原理及在分类任务中的作用。文中探讨了交叉熵与最大似然估计的关系,并通过实例展示了在Pytorch中如何实现交叉熵损失。此外,文章还对比了交叉熵与均方误差损失函数在梯度下降中的差异,强调了交叉熵在处理分类问题时的优势。

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

目录

前言

几个相关概念

1 信息量

2 信息熵

3 相对熵

4 交叉熵

KL散度

Logistic回归风险函数与交叉熵

知识储备 

最佳编码及编码成本(或代价)

 熵

用交叉熵作为损失函数

 似然函数的定义 

二元分类器的损失函数

 多元分类器的损失函数 

scikit-learn里的log_loss()

 算法原理

什么是Cross Entropy

为什么使用交叉熵

梯度下降的原理,为什么要这样更新参数

 熵的估计

交叉熵 >= 熵

 交叉熵作为损失函数

二分类交叉熵

多分类交叉熵

Cross Entropy Loss

交叉熵损失函数 

① 单标签分类任务的交叉熵损失函数(二分类任务包含在其中)

② 多标签分类任务的交叉熵损失函数

从最大似然看交叉熵

和相对熵等价 

和交叉熵等价

Pytorch常用的交叉熵损失函数CrossEntropyLoss() 

Pytorch中的CrossEntropyLoss()函数 

代码实现

python

torch 代码实现 nn.NLLLoss()

torch 代码实现 nn.CrossEntropyLoss() 


 

前言

交叉熵(Cross Entropy)是Shannon信息论中一个重要概念,主要用于度量两个概率分布间的差异性信息。语言模型的性能通常用交叉熵和复杂度(perplexity)来衡量。交叉熵的意义是用该模型对文本识别的难度,或者从压缩的角度来看,每个词平均要用几个位来编码。复杂度的意义是用该模型表示这一文本平均的分支数,其倒数可视为每个词的平均概率。平滑是指对没观察到的N元组合赋予一个概率值,以保证词序列总能通过语言模型得到一个概率值。通常使用的平滑技术有图灵估计、删除插值平滑、Katz平滑和Kneser-Ney平滑。

  将交叉熵引入计算语言学消岐领域,采用语句的真实语义作为交叉熵的训练集的先验信息,将机器翻译的语义作为测试集后验信息。计算两者的交叉熵,并以交叉熵指导对歧义的辨识和消除。实例表明,该方法简洁有效.易于计算机自适应实现。交叉熵不失为计算语言学消岐的一种较为有效的工具。

  交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

林聪木

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

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

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

打赏作者

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

抵扣说明:

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

余额充值