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

李沐Softmax回归从零开始实现代码中的关于y和y_hat

原视频:李沐Softmax回归从零开始实现

其中,这段代码令人迷惑。

y = torch.tensor([0, 2])
y_hat = torch.tensor([[0.1, 0.3, 0.6], [0.3, 0.2, 0.5]])y_hat[[0, 1], y]

视频文字上的注释是:

创建一个数据 y_hat,其中包含2个样本在3个类别上的预测概率,使用 y 作为 y_hat 中概率的索引。

为什么介绍这段代码?因为为了介绍交叉熵。

在之前的课程中提到,对真实 y 进行独热编码。

比如,共有 3 类,则真实输出 y = [ 0 , 0 , 1 ] \bold y = [0, 0, 1] y=[0,0,1],即表示:真实的类别是第3类。

最后发现,交叉熵损失等于 − l o g ( y y ^ ) -log(\hat{y_y}) log(yy^),就是 i = y 真实类别的预测概率 y ^ \hat{y} y^

但是,这里的 y 不表示这个含义。这里的 y 表示 2 个样本的真实类别分别是 0 和 2(类别有 [0, 1, 2])

而之前的独热编码 y 表示为 1 个样本的真实类别:[0, 0, 1]。第 2 个是1,则表示第 2 个为真实类别。所以独热编码的y要写成上述代码的y,可以写成:y = [2]

当把 y 写成独热编码,是为了方便解释:交叉熵损失的预测概率只需要真实类别的预测概率,并对其求-log。

那么,既然如此,代码中的 y 就表示 index,就告诉你哪一个是真实类别的预测概率,那么要计算交叉熵损失就直接根据 index 在 y_hat 里面取就行。


http://www.mrgr.cn/news/66350.html

相关文章:

  • 简易CPU设计入门:译码模块(一)
  • 四款主流的3D创作和游戏开发软件的核心特点和关系
  • shodan6-7---清风
  • Windows版 nginx安装,启动,目录解析,常用命令
  • 西门子编程软件报错“Step 7 basic”找不到许可证问题
  • 【大数据学习 | kafka】producer之拦截器,序列化器与分区器
  • 牛客网剑指Offer-树篇-JZ36 二叉搜索树与双向链表
  • web——[ACTF2020 新生赛]Exec1——命令注入
  • Spring cloud
  • 探索Java与C++中的类成员访问修饰符:从默认设置到封装实践
  • K8S简单部署,以及UI界面配置
  • 2024年Q3企业邮箱安全性研究报告:钓鱼邮件攻击同比上涨102.3%
  • 揭秘rust中默认参数类型不为人知的秘密,你确定不来了解下吗?
  • 华为 HarmonyOS NEXT 原生应用开发: 动画的基础使用(属性、显示、专场)动画
  • 从零开始的LeetCode刷题日记:746. 使用最小花费爬楼梯
  • 十月末
  • Nginx配置文件编写示例
  • Java中查找与排序算法探究
  • 阿里云服务器 篇十(加更):自动定时备份CSDN博客内容:优化内存和解决图片展示等问题
  • 5分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
  • 【ESP32+MicroPython】热点模式及网页控制
  • 产品增长之付费推广
  • 光伏设计软件如何快速上手?
  • 【万字详文介绍】:迭代扩张卷积神经网络(IDCNN)
  • 模拟实现C库函数~
  • 【OJ题解】在字符串中查找第一个不重复字符的索引