当前位置: 首页 > news >正文

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

第一种使用方法

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

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

交叉熵目的:

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

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

http://www.lryc.cn/news/397915.html

相关文章:

  • MySQL:TABLE_SCHEMA及其应用
  • 【MySQL】4.MySQL 的数据类型
  • STM32中断(NVIC和EXIT)
  • 哈弗架构和冯诺伊曼架构
  • Python实现动态迷宫生成:自动生成迷宫的动画
  • 大学生暑假“三下乡”社会实践工作新闻投稿指南请查收!
  • MySQL InnoDB存储引擎
  • 无头单向非循环链表实现 and leetcode刷题
  • Ubuntu系统上安装Apache和WordPress
  • Doze和AppStandby白名单配置方法和说明
  • 坑2.Date类型的请求参数
  • javaweb ajax maven mybatis spring springmvc 在项目中有什么用, 举例说明
  • Python编程学习笔记(4)--- 字典
  • 会员运营体系设计及SOP梳理
  • SQL 自定义函数
  • C# 下sendmessage和postmessage的区别详解与示例
  • Transformer重要论文与书籍 - Transformer教程
  • android13 rom 开发总纲说明
  • 2.线性回归
  • 一文了解java中Optional
  • 提示词工程(Prompt Engineering)是什么?
  • vue对axios进行请求响应封装
  • 快速测试electron环境是否安装成功
  • 数电设计提问求帮助,出租车计费器。
  • xcode项目添加README.md文件并进行编辑
  • 基于 cookiecutter 的 python 项目模板
  • 如何玩转澳大利亚Facebook直播?
  • C# IOC容器、依赖注入和控制反转
  • 论文学习_An Empirical Study of Deep Learning Models for Vulnerability Detection
  • ctfshow-web入门-文件上传(web166、web167)(web168-web170)免杀绕过