机器学习19:多类别神经网络-Multi-Class Neural Networks

news2025/1/11 13:03:58

在【机器学习12:分类 Classification】一文中,笔者介绍了二元分类模型,它可以在两个可能的选择之一之间进行选择,例如:

  • 电子邮件是垃圾邮件还是非垃圾邮件。
  • 肿瘤是恶性的或良性的。

在本文中,我们将研究多类分类,它可以从多种可能性中进行选择。例如:

  • 这只狗是比格犬、巴吉度猎犬还是寻血猎犬?
  • 这朵花是西伯利亚鸢尾、荷兰鸢尾、蓝旗鸢尾还是矮须鸢尾?
  • 该飞机是波音 747、空客 320、波音 777 还是巴西航空工业公司 190?
  • 这是苹果、熊、糖果、狗还是鸡蛋的图像?

在现实世界中,多分类问题需要从数百万个单独的类中进行选择。例如一个可以识别几乎任何东西的图像的多类分类模型。

目录

1.一对多

2.多类神经网络:Softmax

2.1 Softmax 选项

2.2 一个标签 vs 许多标签

3.参考文献


1.一对多

一对一提供了一种利用二元分类的方法。给定一个具有 N 个可能解决方案的分类问题,一对多解决方案由 N 个独立的二元分类器组成 - 每个可能的结果都有一个二元分类器。在训练过程中,模型运行一系列二元分类器,训练每个分类器回答一个单独的分类问题。例如,给定一张狗的图片,可能会训练五个不同的识别器,其中四个将图像视为反例(不是狗),一个将图像视为正例(狗)。那是:

  1. 这张图片是苹果吗?不。
  2. 这张图片是一只熊吗?不。
  3. 这张图是糖果吗?不。
  4. 这张图片是狗吗?是的。
  5. 这张图片是鸡蛋吗?不。

当类总数较小时,这种方法相当合理,但随着类数量的增加,效率会越来越低。我们可以使用深度神经网络创建一个效率明显更高的一对多模型,其中每个输出节点代表不同的类。下图建议了这种方法:

图 1. 一对多神经网络

2.多类神经网络:Softmax

回想一下,逻辑回归生成 0 到 1.0 之间的小数。例如,电子邮件分类器的逻辑回归输出为 0.8,表明电子邮件有 80% 的可能性是垃圾邮件,20% 的可能性不是垃圾邮件。显然,电子邮件是垃圾邮件或非垃圾邮件的概率之和为 1.0。

Softmax 将这一想法扩展到了多类别世界。也就是说,Softmax 为多类问题中的每个类分配小数概率。这些小数概率之和必须为 1.0。这个额外的约束有助于训练比其他情况更快地收敛。例如,回到我们在图 1 中看到的图像分析,Softmax 可能会生成属于特定类别的图像的以下可能性:

班级可能性
苹果0.001
0.04
糖果0.008
0.95
0.001

Softmax 是通过输出层之前的神经网络层实现的。Softmax 层必须具有与输出层相同的节点数。

图 2. 神经网络中的 Softmax 层

2.1 Softmax 选项

考虑 Softmax 的以下变体:

  • Full Softmax:就是我们一直讨论的 Softmax;也就是说,Softmax 计算每个可能类别的概率。

  • Candidate sampling:意味着 Softmax 计算所有正标签的概率,但仅计算负标签的随机样本。例如,如果我们有兴趣确定输入图像是小猎犬还是猎犬,则不必为每个非狗示例提供概率。

当类别数量较少时,Full Softmax 相当便宜,但当类别数量增加时,Full Softmax 会变得非常昂贵。候选采样可以提高具有大量类别的问题的效率。

2.2 一个标签 vs 许多标签

Softmax 假设每个示例都是一个类的成员。然而,某些示例可以同时是多个类的成员。对于这样的例子:

  • 不可以使用 Softmax。
  • 必须依赖多重逻辑回归。

例如,假设您的示例是仅包含一个项目(一块水果)的图像。Softmax 可以确定该物品是梨、橙子、苹果等的可能性。如果您的示例是包含各种事物的图像(不同种类水果的碗),那么您将不得不使用多重逻辑回归。

3.参考文献

链接-https://developers.google.cn/machine-learning/crash-course/multi-class-neural-networks/video-lecture

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

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

相关文章

将ChatGPT变成Midjourney提示生成器

已经有人总结过可以让ChatGPT作为Midjourney图像生成的模板。在本文中,我们将展示如何根据个人用例创建这些提示,这可以让ChatGPT生成的提示可控性更高。 选择提示模板 Midjourney的模板结构性很强,所以我们这里使用一下的结构: …

rsync远程同步(可爱可抵漫长岁月)

文章目录 一、简介二、部署rsync主客服务器1.关闭防火墙(真的老生常谈了 一生之敌!)2.建立/etc/rsyncd.conf 配置文件3.客户端配置4.发起端配置 rsyncinotify 三、拓展使用rsync来实现快速删除大量文件。 一、简介 什么是rsync? …

【Linux】Linux项目自动化构建工具-make/makefile

Linux项目自动化构建工具-make/makefile 什么是make/makefile?make/makefile的使用依赖关系依赖方法makefile是如何工作的?为什么要使用makefile呢?makefile是怎么做到的呢?make和make clean.PHONY:伪目标 特殊符号&am…

Vue 之 mixins 和 provide/inject

一、mixins 1、简介 ​ mixins 又称 混入,是指将一些可复用的代码(JS、生命周期钩子函数等等)抽离出来,定义成mixins模块,然后混入到多个组件中,从而实现组件间的逻辑代码共享,减少重复代码。…

Nginx正向代理、反向代理,动静分离

目录 正向代理 反向代理 动静分离 正向代理 正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。 反向代理 客户端给服…

C#(四十六)之基于流的文件操作(FileStream)

FileStream类属性和方法 属性 CanRead 指示当前文件流是否支持读取 CanWrite 指示当前文件流是否支持写入 CanSeek 指示当前文件流是否支持查找 IsAsync FileStream是同步打开还是异步打开 Length 流的长度(字节数) CanTimeOut 当前文件流是否可以…

【C++进阶】哈希表

文章目录 前言哈希概念哈希冲突哈希函数哈希冲突解决一.闭散列解决哈希冲突1. 线性探测2.二次探测 二、闭散列的实现1.准备2.闭散列插入3.闭散列查找4.闭散列删除 三、闭散列完整源码四、开散列解决哈希冲突1.开散列概念2.哈希桶的结构3.哈希桶的插入4.哈希桶的查找5.哈希桶的删…

学习多线程

1、学习线程池 1.1jdk中的线程池 推荐使用ThreadPoolExecutor 1.1.1先了解参数的意义 首先看下ThreadPoolExecutor的构造函数 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit unit,BlockingQueue<Runnable> workQueu…

对话e签宝,解读 SaaS圈“头部玩家”的增长故事

可以肯定的是&#xff0c;未来3年&#xff0c;整个中国SaaS市场会逐步确认船票分配。穿越周期&#xff0c;告别不确定的三年&#xff0c;给幸存下来的企业上了淋漓生动的一课。在新的起点上&#xff0c;SaaS也需要一种新的打开方式。谁扎得牢、想得透、做的好、跑得快&#xff…

Docker数据卷和数据卷容器应用

学习目的 掌握Docker数据卷和数据卷容器使用方法。 学习准备 要求实验主机能够连接外网&#xff0c;已经正确安装Docker&#xff0c;并关闭防火墙和selinux。 学习步骤 步骤1&#xff1a;创建数据卷 &#xff08;1&#xff09;创建容器&#xff0c;为容器添加一个数据卷&…

基于树莓派4B与STM32的智能门禁系统项目(代码开源)

前言&#xff1a;本文为手把手教学嵌入式经典项目——智能门禁项目&#xff0c;本次项目采用 树莓派4B 与 STM32F103C8T6 进行联合开发。项目充分发挥各自 CPU 的优势与长处&#xff0c;将人脸识别的大计算量任务给树莓派4B&#xff0c;将门禁系统的控制部分交给 STM32 进行处理…

外包干了2个月,技术退步明显...

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

举个栗子!Quick BI 技巧(1):创建趋势折线图

自 2016 年以来&#xff0c;优阅达《举个栗子》内容专栏已陪伴众多企业用户高效工作&#xff0c;解决真实业务场景中的用数问题。 2023 年&#xff0c;全新系列《举个栗子&#xff01;Quick BI 技巧》出炉啦~ 优阅达期待能够持续分享经验&#xff0c;帮助用户发现更多 Quick …

剑指 Offer. 二叉树中和为某一值的路径

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&…

ATA3000系列功率放大器——水声信号中的典型应用

ATA3000系列功率放大器——水声信号中的典型应用 水声领域介绍&#xff1a; 主动声纳是通过声纳本身发射声波&#xff0c;根据声信号反射回波来发现目标&#xff0c;并测定目标的位置和运动参数。水声信号发射机在主动声纳设备中是非常重要的组成部分&#xff0c;其产生特定形式…

YoloV5/YoloV7改进---注意力机制:引入瓶颈注意力模块BAM,对标CBAM

目录 1.BAM介绍 2.BAM引入到yolov5 2.1 加入common.py中&#xff1a; 2.2 加入yolo.py中&#xff1a; 2.3 yolov5s_BAM.yaml 1.BAM介绍 论文&#xff1a;https://arxiv.org/pdf/1807.06514.pdf 摘要&#xff1a;提出了一种简单有效的注意力模块&#xff0c;称为瓶颈注意力模块…

【数据仓库】Apache Doris介绍

Apache Doris介绍 Apache Doris应用场景 Apache Doris核心特性 Apache Doris架构 Doris数据模型三种 Aggregate模型介绍 Uniq模型介绍 在某些多维分析场景下,用户更关注的是如何保证Key的唯一性Key 唯一性约束。因此&#xff0c;我们引入了 Unig 的数据模型。该模型本质上是聚…

微信如何创建自己的小程序?

微信如何创建自己的小程序&#xff1f;微信小程序成为了很多商家、企业甚至是个人在互联网中的营销工具&#xff0c;微信小程序基本上可以说是属于必备工具。那么微信如何创建自己的小程序呢&#xff1f;下面一起来给大家说说。 一、注册小程序账号 微信如何创建自己的小程序…

12.JavaWeb-Node.js

1.Node.js的概念 传统的Web服务器中&#xff0c;每个请求都会创建一个线程&#xff0c;这会导致线程数的增加&#xff0c;从而影响服务器的性能和扩展性&#xff0c;Ryan Dahl借助Chrome的V8引擎提供的能力实现了Node.js——可以在服务端运行的JavaScript&#xff08;可以把Nod…

win下实现Linux的tab自动补全

声明 &#xff1a;如果不是确定的话 注册表这个东西不建议更改 如果更改的话建议先备份系统 以防意外 1.找到注册表编辑器 2. 展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 3.找到Completion Char 双击 把橙色的数值改成9 4.重新打开cmd 就可以了 参考文章…