交叉熵损失函数的使用目的(很肤浅的理解)

第一种使用方法

复制代码
import torch
from torch import nn  # Example of target with class indices
loss = nn.CrossEntropyLoss()
input = torch.randn(3, 5, requires_grad=True)
target = torch.empty(3, dtype=torch.long).random_(5)
output = loss(input, target)
output.backward()

第二种使用方法

复制代码
# Example of target with class probabilities
input = torch.randn(3, 5, requires_grad=True)
target = torch.randn(3, 5).softmax(dim=1)
output = loss(input, target)
output.backward()

自己的理解:

传进去的是(3,5)维度的数据,其中3可以代表有3个图片(数据),5代表有5中类别(0,1,2,3,4这几类)。

复制代码
[ 0.1087, -0.4276,  0.9313, -1.0140,  2.1229]表示预测的是

····第一个图是第一类的概率是 0.1087

·····第一个图是第一类的概率是 -0.4276(负数无所谓,举的例子是随机的嘛)

。。。

target的形状就是[3],代表有三个目标真实值。其中[3,4,2]代表对应上面那个input的

----第一行的第3个值

----第二行的第4个值

----第3行的第2个值

这三个值就是真实值,表示是这些真实值的概率

交叉熵目的:

是预测值的概率更加接近真实值,让那些真实值对于的概率的类别更加大

就是让这些红色的值变大。具体是怎么变的可以查阅相关的资料

相关推荐
王上上1 分钟前
【论文阅读103】pinn-review-科学机器学习中的物理信息神经网络:现状与展望
论文阅读·神经网络·机器学习
Zero6 分钟前
机器学习线性代数--(7)逆矩阵、列空间、秩、零空间与非方阵
线性代数·机器学习·矩阵
TG_yunshuguoji14 分钟前
阿里云渠道商:百炼模型调优实战 5 步完成高效训练
人工智能·机器学习·阿里云·云计算
Zero14 分钟前
机器学习线性代数--(12)抽象向量空间:超越箭头的世界
线性代数·机器学习
Benjamin Liang15 分钟前
无数据/零样本量化2——GDFQ:Generative low-bitwidth data free quantization
深度学习
Zero15 分钟前
机器学习线性代数--(9)叉积
人工智能·线性代数·机器学习
Zero16 分钟前
机器学习线性代数--(8)点积与对偶性
人工智能·线性代数·机器学习
Mr.Winter`19 分钟前
深度强化学习 | 基于Double DQN算法的移动机器人路径规划(附Pytorch实现)
人工智能·pytorch·深度学习·神经网络·机器人·自动驾驶·具身智能
Zero20 分钟前
机器学习线性代数--(11)特征向量与特征值:变换的“主轴”
线性代数·机器学习
忙什么果26 分钟前
class_weight=‘balanced‘缓解类别不平衡问题
算法·机器学习·支持向量机