深度学习之多分类问题

多分类问题:

我们在解决的时候会使用到一种叫做SoftMax的分类器。

前面我们在做糖尿病问题的时候,我们做出一个二分类网络,我们得到的是y=1(即一年后发病)它的概率是多少,即P(y=1)。这时候我们只需要得到一个概率,我们就可以计算出另一个概率。

但是在数据集中也包含其他的数据集,比如说MNIST数据集,是手写数字识别问题,这个时候我们的分类种类就很多了。不能只计算出一个概率就将结果输出。
MNIST数据集是一个历史悠久,且经常被用于测试模型是否有效的数据集。该数据集里面有十种数据标签。

当我们有十个分类:

这个时候我们有十个输出,分别是y=0,y=1....y=9的概率。
显然,真实的情况是只有一个种类的概率是1(表示是这个分类),其他种类的概率都是0(表示不是这个分类)。

显然对于每一个样本的损失计算,我们只需要考虑对于真实值的预测与真实值之间的交叉熵,因为对于非真实值的预测带入交叉熵公式得到的结果一定是0。(真实值所隶属的非真实值的隶属度是0)。

多分类问题中,所有分类的概率值和是1是一个固定条件。所以我们希望输出之间是带有竞争性的,其中一个比较多(概率比较大),那么其他的概率就要比较小,本质上我们输出的是一个分布。

那么前面这些层,我们仍然使用s线性层和igmoid函数(矩阵之间的线性相乘+对得到的结果进行非线性化处理)进行处理,但是如果只有这些,我们很难达到高概率事件抑制低概率事件发生的功能,换句话说,我们很难达到输出的概率之和是1,所以我们最后一层要用一个不同的层:SoftMax Layer。

下面我们来看一下SoftMax函数是如何保证我们的线性层的输出满足我们两个条件:(输出值隶属于某个分类的概率都大于0且小于1,隶属于所有种类的概率值和为1)。

显然,这就保证了我们的结果是1, 如果存在x值比较大的,你们exp{x}也就比较大,分母大的话会抑制其他分类概率值。

注意,在这里我们并不是采用输出等比例映射到0到1之间,而是采用了自然指数的方法,这样我们才能保证我们高概率输出会抑制低概率输出。


这就是SoftMax函数实现机制。

那么当我们明白了SoftMax函数的实现,我们需要怎么计算损失呢?

对于二分类问题来说:我们进行求和的时候使用到两项,

现在,在我们计算多分类问题的时候,如果采用交叉熵的公式,那么我们对各个分类的运算结果只有一个是非零的,其余的都是零,(因为真实值表示对其他分类的概率是0)。

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

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

相关文章

【Linux C | 网络编程】详细介绍 “三次握手(建立连接)、四次挥手(终止连接)、TCP状态”

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Linux命令-apt-key命令(管理Debian Linux系统中的软件包密钥)

补充说明 apt-key命令 用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证 的,apt-key用来管理密钥。 语法 apt-key(参数)参数 操作指令:APT密钥操作指令。 实例 apt-key list # 列出已保存在系统中key。 apt-…

微服务架构的实现:选择最佳方案,构建未来的应用生态

目录 一、概述 1.1 什么是微服务架构? 1.2 微服务架构的优势和劣势 二、微服务架构的设计原则与最佳实践 2.1 单一职责原则 2.2 服务自治与自治团队 2.3. 松耦合与高内聚 2.4 服务边界的划分 2.5 服务间通信方式选择 2.6 高可用与容错设计 2.7 服务监控…

JVM篇:垃圾回收算法

标记清除 通过遍历GC Root后得到不再被引用的对象,对没被引用的对象做一个标记处理,然后对其进行清除。 优点:速度快 缺点:会产生内存碎片,可能会导致空闲的内存足够保存对象,但由于不连续而保存失败。 标…

R语言【taxlist】——print_name():为发表文章准备可用的格式化名称

Package taxlist version 0.2.4 Description 在撰写关于生物多样性的文章时,可以使用名称自动插入到文件中,包括学名不同元素的典型斜体格式。函数print_name既可以应用于 Markdown 文档,也可以应用于图形。在 Rmarkdown 文档中,…

(java)idel中将对与json的相互转

1、目录结构 2、导入包 在模块下面建立lib目录将包导入模块中 包的百度网盘 链接:https://pan.baidu.com/s/1abNF8cOTeNb00rM7tp04iQ?pwd39wc 提取码:39wc 3、建立两个测试类person和dog类 public class Dog {private String name;private int age…

leetcode-top100数组专题

53.最大子数组和 题目链接 53. 最大子数组和 - 力扣(LeetCode) 解题思路 dp[i]:表示以nums[i]结尾的连续子数组的最大和。其中“连续”和“结尾”时关键词。 状态转移方程 根据状态的定义,由于nums[i]一定会被选取&#xff…

【ESP32】Ubuntu2004搭建espressif

文章目录 环境流程概述一、安装依赖二、下载SDK、管理工具1. 管理工具下载2. 下载SDK 三、安装toolchain、更新子库、配置SDK环境1. 替换下载源,安装虚拟环境等等2. 更新子库3. 配置SDK环境 四、复制例程验证环境问题汇总1. CMake 版本低2. 编译cmake源码时提示无g编…

day25 回溯part2

216. 组合总和 III 中等 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 class Solution {List&…

学习JavaEE的日子 Day19 常用类

Day19 1.包装类的使用 理解:8种基本数据类型对应类 出现原因: ​ Java为纯面向对象语言(万物皆对象),8种基本数据类型不能new对象, ​ 就破坏Java为纯面向对应语言的特征,Java又为8种基本数据类型分别 ​ 匹配了对应的…

ubuntu 增加 swap 空间大小

之前装系统的时候,使用了默认的分区方案,结果只有 2GB 的 swap 分区,机器只有这么点内存,平时使用经常出现内存不够用,又没有分配足够的交换空间,市场感觉到拮据,有必要增加一些 swap 空间大小。…

python算法与数据结构---滑动窗口双指针

学习目标 了解滑动窗口的基本原理;学会用使用python语言解答滑动窗口经典题目;了解双指针的基本原理;学会使用python语言解答双指针经典题目; 滑动窗口 209. 长度最小的子数组 https://leetcode.cn/problems/minimum-size-sub…

Unity 中介者模式 (实例详解)

文章目录 简介实例1:玩家与UI交互实例2:战斗模块中的攻击事件协调实例3:游戏场景中的事件广播实例4:模块间通信 - 地图导航与角色移动实例5:UI模块间同步 - 菜单切换与选项状态 简介 在Unity游戏开发中,中…

初识K8S(Kubernetes )

一、概述 Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态,其服务、支持和工具的使用范围相当广泛。(官网) Kuberne…

服务器自启动服务总结

使用实验室的服务器会有一些需要自动启动和挂载的设置 1、磁盘开机自动挂载 挂载方法 2、自动开/关机设置 sudo vim /etc/crontab 添加如下内容,表示每天05:55开始 等待120分钟后关机: 55 05 * * * root /sbin/shutdown -r 120 执行如下指令&…

Go语言基础之接口

接口类型 一个接口类型就是一组方法的集合,它规定了需要实现的所有方法。 接口的定义 每个接口类型由任意个方法签名组成,接口的定义格式如下: type 接口类型名 interface{方法名1( 参数列表1 ) 返回值列表1方法名2( 参数列表2 ) 返回值列…

【开源】基于JAVA+Vue+SpringBoot的智慧家政系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询家政服务4.2 新增单条服务订单4.3 新增留言反馈4.4 小程序登录4.5 小程序数据展示 五、免责说明 一、摘要 1.1 项目介绍 基于微信小程序JAVAVueSpringBootMySQL的智慧家政系统&#xff0…

Qt项目文件以及对象树

"在哪里走散,你都会找到我~" 前篇,我们仅仅对Qt创建了第一个简单的项目。相比于使用其他IDE创建工程项目,Qt会为自动创建诸如:.pro、.h\.cpp、.iu等文件,这些文件到底是什么?我们在使用Qt时 应该…

聊聊Git合并和变基

一、 Git Merge 合并策略 1.1 Fast-Forward Merge&#xff08;快进式合并&#xff09; //在分支1下操作&#xff0c;会将分支1合并到分支2中 git merge <分支2>最简单的合并算法&#xff0c;它是在一条不分叉的两个分支之间进行合并。快进式合并是默认的合并行为&#…

mysql注入联合查询

环境搭建 下载复现漏洞的包 下载小皮面板 将下载好的文件解压在小皮面板的phpstudy_pro\WWW路径下 将这个文件phpstudy_pro\WWW\sqli-labs-php7-master\sql-connections\db-creds.inc 中的密码更改为小皮面板中的密码 选择php版本 在小皮中启动nginx和数据库 使用环回地址访…