深度学习-Softmax 回归 + 损失函数 + 图片分类数据集
Softmax 回归 + 损失函数 + 图片分类数据集
- 1 softmax
- 2 损失函数
- 1均方
- L1Loss
- Huber Loss
- 3 图像分类数据集
- 4 softmax回归的从零开始实现
1 softmax
Softmax是一个常用于机器学习和深度学习中的激活函数。它通常用于多分类问题,将一个实数向量转换为概率分布。Softmax函数常用于多类别分类问题,其中模型需要为每个类别分配一个概率,以便选择最有可能的类别。在深度学习的神经网络中,Softmax通常作为输出层的激活函数。oftmax函数在多分类问题中常用于神经网络的输出层,其主要作用是将神经元的输出转化为概率分布,使得每个类别的输出值都在0到1之间,并且所有类别的输出值之和为1。这种转换有助于我们理解和解释模型的预测结果,知道每个类别的预测概率。
然而,softmax函数通常并不与其他常见的激活函数(如sigmoid、ReLU等)一起用在同一个网络层。这是因为softmax函数本身就是一种特殊的激活函数,专门用于处理多分类问题的输出。它已经在输出层完成了将输出值转换为概率分布的任务,因此不需要再与其他激活函数一起使用。
在神经网络的其他层,我们可能会使用其他的激活函数,如ReLU、sigmoid等,来增加网络的非线性特性,提高网络的表达能力。但在输出层,当我们需要得到每个类别的预测概率时,就会使用softmax函数。
所以,softmax函数并不经常和其他激活函数一起用在同一个网络层,而是在特定的输出层中使用,用于将输出转换为概率分布。







叉熵损失函数(Cross-Entropy Loss)是在分类问题中常用的损失函数,特别是在深度学习任务中。它用于衡量模型的输出概率分布与实际标签之间的差异。
在深度学习中,通常使用梯度下降等优化算法来最小化交叉熵损失,从而使模型的预测逼近实际标签。交叉熵损失对于分类问题而言,是一种常见且有效的选择,尤其与softmax激活函数结合使用,因为它可以自然地惩罚模型对正确类别的不确定性。

2 损失函数
函数(Loss Function)是在机器学习中用来衡量模型预测与实际目标之间差异的函数。它是优化算法的核心组成部分,帮助模型学习从输入到输出的映射,并调整模型参数以最小化预测错误。
选择合适的损失函数取决于任务的性质,例如回归、分类、多类别分类等。正确选择损失函数有助于模型更好地学习数据的特征,提高其性能。
在训练过程中,模型的目标是最小化损失函数的值。损失函数通常是一个标量,表示模型对于给定样本或一批样本的性能表现。常见的损失函数包括:
1均方

L1Loss

Huber Loss

其他:

3 图像分类数据集
MNIST数据集是图像分类中广泛使用的数据集之一,但作为基准数据集过于简单。我们将使用类似但更复杂的Fashion-MNIST数据集
MNIST(Modified National Institute of Standards and Technology)是一个常用的手写数字识别数据集,被广泛用于测试和验证机器学习模型的性能。该数据集包含了大量的手写数字图像,涵盖了数字 0 到 9。
图像大小: 所有的图像都是28x28像素的灰度图像。
样本类别: 数据集包含 10 个类别,分别对应数字 0 到 9。
训练集和测试集: MNIST数据集通常被分为训练集和测试集,以便在模型训练和评估时使用。通常,60,000张图像用于训练,10,000张图像用于测试。
标签: 每个图像都有相应的标签,表示图像中的数字。
应用场景: MNIST数据集通常用于学术研究、演示和教学,尤其是对于深度学习初学者。它被认为是计算机视觉领域中的 “Hello World”,因为它是一个相对简单但足够复杂的问题,可以用于验证和比较不同模型的性能。
挑战性: 尽管MNIST数据集相对较小,但由于其广泛使用,它已经成为测试新模型和算法性能的标准基准之一。
在使用MNIST数据集时,研究人员和开发者通常尝试构建模型,以准确地识别手写数字。这种任务是一个经典的图像分类问题,可以使用各种深度学习模型,如卷积神经网络(CNN),来解决。




数据读取速度要比模型训练速度块。


4 softmax回归的从零开始实现
相关文章:
深度学习-Softmax 回归 + 损失函数 + 图片分类数据集
Softmax 回归 损失函数 图片分类数据集 1 softmax2 损失函数1均方L1LossHuber Loss 3 图像分类数据集4 softmax回归的从零开始实现 1 softmax Softmax是一个常用于机器学习和深度学习中的激活函数。它通常用于多分类问题,将一个实数向量转换为概率分布。Softmax函…...
分布式锁从0到1落地实现01(mysql/redis/zk)
1 准备数据库表 CREATE TABLE user ( id bigint(20) NOT NULL COMMENT 主键ID, name varchar(30) DEFAULT NULL COMMENT 姓名, age int(11) DEFAULT NULL COMMENT 年龄, email varchar(50) DEFAULT NULL COMMENT 邮箱, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8;I…...
安全运营方案的基本框架和关键要素
一、前言 阐述安全运营方案的目的和重要性。强调安全运营与组织整体战略目标的关联。 二、安全运营原则 确立安全运营的基本原则,如保密性、完整性和可用性。明确安全责任划分,确保各部门和人员履行安全职责。 三、安全风险评估与管理 进行全面的安…...
用C语言执行SQLite3的gcc编译细节
错误信息: /tmp/cc3joSwp.o: In function main: execSqlite.c:(.text0x100): undefined reference to sqlite3_open execSqlite.c:(.text0x16c): undefined reference to sqlite3_exec execSqlite.c:(.text0x174): undefined reference to sqlite3_close execSqlit…...
matlab双目相机标定-需要什么参数、怎么获得
相机标定目的:获得相机内参、外参、畸变系数,摄像头的内参(f,1/dx,1/dy,cx,cy)、畸变参数(k1,k2,k3,p1,p1)和外参(R,t),用于接下来的双目校正和深度图生成从而实现二维到三维的转换。 相机标定方法:opencv 双目相机标定以及立体…...
大型语言模型的智能助手:检索增强生成(RAG)
背景 在人工智能的浪潮中,大型语言模型(LLMs)如GPT系列和LLama系列在自然语言处理(NLP)领域取得了显著成就。它们能够完成复杂的语言任务,如文本摘要、机器翻译、甚至创作诗歌。然而,这些模型在…...
Ubuntu 安装谷歌拼音输入法
一、Fcitx 安装 在Ubuntu 下,谷歌拼音输入法是基于Fcitx输入法的。所以,首先需要安装Fcitx。一般来说,Ubuntu最新版中都默认安装了Fcitx,但是为了确保一下,我们可以在系统终端中运行如下命令: sudo apt ins…...
修改MonkeyDev默认配置适配Xcode15
上一篇文章介绍了升级Xcode15后,适配MonkeyDev的一些操作,具体操作可以查看:Xcode 15 适配 MonkeyDev。 但是每次新建项目都要去修改那些配置,浪费时间和精力,这篇文章主要介绍如何修改MonkeyDev的默认配置࿰…...
deepinlinux打包deb文件完善
最近学习了一篇qt入门文章,做了一个小应用,要给另一台电脑用时发现还需考虑另一台没有qt,要把相关库带过去,后来就学了打包成deb安装包,看起来更专业。 win下搜索qt依赖库的程序是windeployqt,先将应用输出…...
Android studioSDK集成:com.yechaoa.yutilskt
文章目录 1、工具介绍2、集成 1、工具介绍 com.yechaoa.yutilskt是一个Android开发工具库,提供了一些常用的工具类和方法,方便开发者进行Android应用程序的开发。该库包含了以下功能: 网络请求工具类:提供了简化的网络请求方法&…...
openssl3.2 - exp - PEM <==> DER
文章目录 openssl3.2 - exp - PEM <> DER概述笔记加密用的私钥(带口令保护) - PEM > DER加密用的私钥(不带口令保护) - DER > PEM将不带口令的PEM转成带口令的PEM支持口令的算法备注END openssl3.2 - exp - PEM <> DER 概述 想将客户端私钥 服务端公钥 数…...
云计算的部署方式(公有云、私有云、混合云、社区云)
云计算的部署方式(公有云、私有云、混合云、社区云) 目录 零、00时光宝盒 一、云计算的部署方式 1.1、公有云(Public Cloud) 1.2、私有云(Private Cloud) 1.3、混合云(Hybrid Cloud) 1.4、社区云&am…...
umi4 项目使用 keepalive 缓存页面(umi-plugin-keep-alive、react-activation)
umi4使用keepalive 配置文件config\config.ts export default defineConfig({plugins: [umi-plugin-keep-alive], });安装add umi-plugin-keep-alive yarn add umi-plugin-keep-alive页面 A import { KeepAlive, history, useAliveController } from umijs/max; const Page…...
new;getline();重载<<和>>
面向对象程序设计的优点: 易维护易扩展模块化:通过设置访问级别,限制别人对自己的访问,保护了数据安全 int main(){ return 0;} 返回值0在windows下编程一般没用,但是在linux中编程,返回值有时有用 汇编与…...
python报错
Missing optional dependency ‘xlrd’. Install xlrd > 1.0.0 for Excel support Use pip or conda to install xlrd 安装xlrd库...
Android14 Handle机制
Handle是进程内部, 线程之间的通信机制. handle主要接受子线程发送的数据, 并用此数据配合主线程更新UI handle可以分发Message对象和Runnable对象到主线程中, 每个handle实例, 都会绑定到创建他的线程中, 它有两个作用,: (1) 安排消息在某个主线程中某个地方执行 (2) 安排…...
spark 总结
1.spark 配置文件 spark-default.conf spark.yarn.historyServer.address xiemeng-01:18080 spark.history.port18080 hive-site.xml <configuration><property><name>javax.jdo.option.ConnectionURL</name> </property><property>&…...
Gitlab修改仓库权限为public、Internal、Private
Public(公开):所有人都可以访问该仓库; Internal(内部):同一个GitLab群组或实例内的所有用户都可以访问该仓库; Private(私人):仅包括指定成员的用…...
Python语言例题集(008)
#!/usr/bin/python3 #建立链表类和遍历此链表 class Node(): def init(self,dataNone): self.datadata self.nextNone class LinkedList(): def init(self): self.headNone def printList(self):ptrself.headwhile ptr:print(ptr.data)ptrptr.nextlinkLinkedList() link.he…...
【Java核心能力】京东并行框架asyncTool如何针对高并发场景进行优化?
欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
消息队列系统设计与实践全解析
文章目录 🚀 消息队列系统设计与实践全解析🔍 一、消息队列选型1.1 业务场景匹配矩阵1.2 吞吐量/延迟/可靠性权衡💡 权衡决策框架 1.3 运维复杂度评估🔧 运维成本降低策略 🏗️ 二、典型架构设计2.1 分布式事务最终一致…...
Java后端检查空条件查询
通过抛出运行异常:throw new RuntimeException("请输入查询条件!");BranchWarehouseServiceImpl.java // 查询试剂交易(入库/出库)记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...
