自学内容网 自学内容网

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

第一种使用方法

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个值

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

交叉熵目的:

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

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


原文地址:https://blog.csdn.net/m0_53291740/article/details/140319651

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!