深度学习-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回归的从零开始实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 自动装配的原理!!!

SpringBootApplication SpringBootConfiguration:标识启动类是一个IOC容器的配置类 EnableAutoConfiguration: AutoConfigurationPackage:扫描启动类所在包及子包中所有的组件,生…

C++特殊类设计【特殊类 || 单例对象 || 饿汉模式 || 懒汉模式】

目录 一,特殊类设计 1. 只在堆上创建的类 2. 只允许在栈上创建的类 3. 不能被继承的类 4. 不能被拷贝的类 5. 设计一个类,只能创建一个对象(单例对象) 饿汉模式 懒汉模式 C11静态成员初始化多线程安全问题 二&#xff…

linux安装ngnix完整步骤(支持centos/银河麒麟操作系统)

linux安装ngnix(支持centos/银河麒麟操作系统) 本次操作系统安装ngnix采用离线或在线安装方式,离线就是不联网环境,在线则是联网环境;支持centos7或centos8或国产操作系统(银河麒麟高级服务器操作系统&…

element-ui radio 组件源码分享

今日简单分享 radio 组件的实现原理,主要从以下三个方面来分享: 1、radio 页面结构 2、radio 组件属性 3、radio 组件方法 一、radio 页面结构 1.1 页面结构如下: 二、radio 属性 2.1 value / v-model 属性,类型为 string / …

鲜为人知的闰年判定大坑

【题目描述】 输入年份,判断是否为闰年。如果是,则输出yes,否则输出no。 提示:简单地判断除以4的余数是不够的。 【题目来源】 刘汝佳《算法竞赛入门经典 第2版》习题1-7 年份(year) 【解析】 一、闰…

Decontam去污染:一个尝试

为了程序运行的便利性,不想将Decontam放到windows的Rstudio里面运行,需要直接在Ubuntu中运行,并且为了在Decontam时进行其他操作,使用python去运行R 首先你需要有一个conda环境,安装了R,Decontam&#xff0…

云计算的部署方式(公有云、私有云、混合云、社区云)

云计算的部署方式(公有云、私有云、混合云、社区云) 目录 零、00时光宝盒 一、云计算的部署方式 1.1、公有云(Public Cloud) 1.2、私有云(Private Cloud)  1.3、混合云(Hybrid Cloud) 1.4、社区云&am…

【C++】list模拟实现list迭代器失效问题

list模拟实现&list迭代器失效问题 一,list模拟实现1. list的主要框架接口模拟2. list构造&拷贝构造&析构3. list迭代器3.1 普通迭代器3.2 const迭代器 4. 增删查改 二,迭代器失效问题1. list的迭代器失效原因2. 解决办法 一,list…

Java 汇编源码查看环境搭建

目录 一、简介 二、在IDEA开发环境中搭建汇编环境 2.1 在IDEA中搭建字节码查看环境 2.1.1 搭建步骤 2.1.1.1 第一步 2.1.1.2 第二步 2.1.1.3 第三步 2.1.1.4 第四步 2.1.2 验证 2.2 在IDEA开发环境中搭建汇编代码查看环境 2.2.2 配置HSDIS插件 2.2.3 验证HSDIS插件是…

[虚拟机保护逆向] [HGAME 2023 week4]vm

[虚拟机保护逆向] [HGAME 2023 week4]vm 虚拟机逆向的注意点:具体每个函数的功能,和其对应的硬件编码的*长度* 和 *含义*,都分析出来后就可以编写脚本将题目的opcode转化位vm实际执行的指令 :分析完成函数功能后就可以编写脚本输出…

深度学习在硬件和计算平台上的优化:实现更快、更高效的突破

引言 深度学习,作为机器学习领域的一个子集,通过模拟人脑神经元的连接方式,构建复杂的网络结构来处理和分析数据。然而,随着深度学习模型规模的不断扩大和复杂度的提高,其对计算资源的需求也呈指数级增长。因此&#…

【MySQL】表的增删改查——MySQL基本查询、数据库表的创建、表的读取、表的更新、表的删除

文章目录 MySQL表的增删查改1. Create(创建)1.1 单行插入1.2 多行插入1.3 替换 2. Retrieve(读取)2.1 select查看2.2 where条件2.3 结果排序2.4 筛选分页结果 3. Update(更新)3.1 更新单个数据3.2 更新多个…

如何保证消息的可靠传输

数据的丢失问题,可能出现在生产者、MQ、消费者中 生产者丢失: 生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。此时可以选择用 RabbitMQ 提供的事务功能,就是生…

Unmanaged PowerShell

简介 在渗透测试当中经常会使用到PowerShell来执行脚本, 但是直接使用PowerShell.exe是一个非常敏感的行为, EDR等产品对PowerShell.exe进程的创建监控的很密切, 并且随着PowerShell的渗透测试工具的普及, 越来越多的EDR会利用微软提供的AMSI接口对PS脚本进行扫描, 但是对于低…

vue实现购物车功能

实现功能 CSS部分 <style>.tr {display: flex;}.th {margin: 10px;width: 20%;height: 50%;}.td {display: flex;margin: 10px;width: 20%;height: 100px;align-items: center;}.app-container .banner-box {border-radius: 20px;overflow: hidden;margin-bottom: 10px;}…

input中文输入法导致的高频事件

这是基本结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>中文输入法的高频事件</title&…

通信-CAN-01 总线拓扑

本文主要介绍CAN总线拓扑&#xff0c;并结合实际用到CAN设备做些说明。 1 总线拓扑 拓扑结构中分为CPU&#xff0c;CAN 控制器&#xff0c;收发器&#xff0c;双绞线。CAN控制器根据两根线上的电位差来判断总线电平。发送方通过使总线发生变化&#xff0c;将消息发送给接收方…

BPSK调制解调

BPSK数字调制是相移键控PSK的一种&#xff0c;通过数字信号&#xff0c;调制载波的相位&#xff0c;利用载波的相位变化来反映数字信号&#xff0c;载波的振幅和频率均不变化。PSK应用很广泛&#xff0c;抗噪声性能比ASK和FSK要好&#xff0c;频带利用率较高。BPSK中&#xff0…

前端文件流、切片下载和上传

前端文件流、切片下载和上传技术在提升文件传输效率和优化用户体验方面发挥着关键作用。这些技术不仅可以帮助解决大文件传输过程中可能遇到的问题&#xff0c;如网络超时、内存溢出等&#xff0c;还能通过并行传输和断点续传等功能&#xff0c;提高传输速度和稳定性。 一、前端…

每日学习笔记:C++ 11的Tuple

#include <tuple> Tuple介绍(不定数的值组--可理解为pair的升级版) 定义 创建 取值 初始化 获取tuple元素个数、获取tuple某元素类型、将2个tuple类型串接为1个新tuple类型