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

Softmax 回归 + 损失函数 + 图片分类数据集【动手学深度学习v2】李沐动手学深度学习课程笔记

目录

Softmax回归

损失函数

图片分类数据集

Softmax回归从零开始实现

Softmax回归简洁实现


Softmax回归

回归和分类的区别

回归问题举例上节课的预测房价问题,分类问题就是对样本进行分类

回归和分类的具体区别

假设真实的类别为第i个类别(值为1),其他类别都是假的(值为0),选择i最大化置信度

置信度的规则

选择i使得置信度远大于其他的类别的置信度

置信度相当于概率

y hat是一个长为n的向量 下面那个公式的操作是使得和为1,也就是说yi hat可以作为概率,两个Y的区别就可以作为损失

softmax的损失函数

softmax回归总结

损失函数

均方损失

蓝色:Y=0时,变化预测值Y’的函数(二次函数)

绿色:似然函数(高斯分布)

橙色:损失函数的梯度(穿过原点的一次函数),决定了如何更新参数

梯度和预测值的相对关系决定了参数更新的变化程度

L1损失函数

蓝色:预测值、绿色:似然函数、橙色:导数

好处:稳定

不好:零点处不可导

综合以上两种损失函数,自己造的完美损失函数

梯度和实际值的相对关系


图片分类数据集

Fashion-MNIST数据集

下载数据集到内存

transforms.totensor() 将图像数据转化为浮点数格式

train=true 下载训练数据集 download=true默认在网上下载

第一张图片的形状 1表示Channel 28x28

打标签、输出图像函数

输出

画两行,每行有九张图片

读取数据

shuffle 决定是否要打乱数据集的顺序

timer用来测试速度(读取数据的速度通常要比模型速度快很多)

下载数据集

resize可以选择把图片变得更大


Softmax回归从零开始实现

softmax是所有深度学习的基础

iter 训练集和测试集的迭代器

拉成向量(会损失信息,可以用卷积神经网络恢复)

矩阵求和

keepdim=true 表示还是二维矩阵 X是一个矩阵

实现softmax

一个实例

实现softmax回归模型

-1表示自动计算(实际表示批量大小)

举个例子

y_hat是预测值

y_hat [ [0,1], y] 拿出对真实标号那个类的预测值

实现交叉熵损失函数

预测类别与真实元素进行比较

评估任意模型的准确率

Accumulator

softmax回归训练

可视化

训练函数

优化损失函数

训练模型

对图片进行分类预测

Softmax回归简洁实现

相关文章:

  • Go的安装
  • 干货 | MSC细胞培养 “秘籍”
  • SSR-NET:用于高光谱和多光谱图像融合的空间-光谱重建网络
  • Web核心
  • IDEA 配置文件乱码,项目编码设置
  • VBA_MF系列技术资料1-395
  • 从0开始的ios自动化测试
  • Linux学习之线程
  • 视频生成模型Sora的全面解析:从AI绘画、ViT到ViViT、DiT、VDT、NaViT、VideoPoet
  • 程序猿怎么选赛道|规划
  • C++从零开始的打怪升级之路(day45)
  • 蓝桥集训之火柴排队
  • 【粉丝福利】探秘内部审计数字化之道:精准解析转型方法与成功路径
  • c++ 11 新特性 不同数据类型之间转换函数之const_cast
  • iOS——【自动引用计数】ARC规则及实现
  • 77. Combinations
  • emacs初体验
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Hibernate【inverse和cascade属性】知识要点
  • HTML中设置input等文本框为不可操作
  • HTTP请求重发
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python_网络编程
  • Python中eval与exec的使用及区别
  • Sass Day-01
  • SSH 免密登录
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 测试开发系类之接口自动化测试
  • 第十八天-企业应用架构模式-基本模式
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 前端攻城师
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信小程序设置上一页数据
  • 温故知新之javascript面向对象
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  •  一套莫尔斯电报听写、翻译系统
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • ​ubuntu下安装kvm虚拟机
  • ​渐进式Web应用PWA的未来
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #if #elif #endif
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (1)(1.9) MSP (version 4.2)
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (九)信息融合方式简介
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (一)python发送HTTP 请求的两种方式(get和post )
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .Net IE10 _doPostBack 未定义
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .net6使用Sejil可视化日志
  • .net解析传过来的xml_DOM4J解析XML文件