d2l_第四章学习_Classification/Softmax Regression

news2024/11/20 8:23:07

x.1 Classification 分类问题理论

x.1.1 Classification和Regression的区别

注意,广义上来讲,Classification/Softmax Regression 和 Linear Regression 都属于线性模型。但人们口语上更习惯用Classification表示Softmax Regression,而用Regression表示Linear Regression。

例如预测房屋出售价格就是一个典型的Linear Regression线性回归问题,而有时我们比起how much更关心category,例如给一些特征判断患者是否患有癌症,由此产生的便是Classification分类问题。

x.1.2 One-hot Encoding

Classification问题的输出往往并不与类别之间的自然顺序有关,因此有时候并不能将问题转化为Regression问题,为此统计学家发明了一种用于表示分类数据的简单方法:one-hot encoding独热编码。one-hot encoding是一个向量,它的长度对应类别总数,类别对应的分量的位置设置为1,其余位置设置为0,例如 y ∈ { ( 1 , 0 , 0 ) , ( 0 , 1 , 0 ) , ( 0 , 0 , 1 ) } y \in \{(1, 0, 0), (0, 1, 0), (0, 0, 1)\} y{(1,0,0),(0,1,0),(0,0,1)}

x.1.3 Model Architecture

Classification和Regression 模型的区别在于Classification是多输出,因此我们也需要和输出具有同样数量的bias偏置。例如我们具有4个输入,3个输出,则需要12个weight scalars权重标量,和3个bias scalars偏置标量,共计15个可学习参数,如下:

请添加图片描述

请添加图片描述

为了简化模型,我们通过矩阵形式来表达运算,其中W是一个3x4的矩阵,而b是一个长度为3的向量。

请添加图片描述

可见,由层数为2,全连接层产生的网络模型,它的参数量一直都是 O ( d p ) , d = 输入 , p = 输出 O(dp), d=输入, p=输出 O(dp),d=输入,p=输出

x.1.4 Softmax

存在问题:

  1. 输出数值总和不一定为1
  2. 输出可能为负数甚至大于1

上面这些都不符合概率论基本公理,为了解决问题引入Softmax,

请添加图片描述

softmax具备的好处,

  1. 将预测变换为非负数且总和为1。
  2. 让模型保持可导的性质,即导数易求。
  3. softmax不会改变未规范化的预测间的次序,所以下式仍然成立,

请添加图片描述

最终,我们的引入softmax的网络模型如下:

请添加图片描述

x.1.5 Mini-batch Gradient Descent

batch size = 1, stochastic gradient descent (SGD)

batch size = n, 1 < n < 256, stochastic gradient descent (MBSGD)

batch size = 256, mini-batch gradient descent (MBGD/BGD) , 因为使用了全部数据集

在这里使用了mini-batch SGD小批量随机梯度下降(后称MBSGD)算法,因为相较于一次处理一个样本,MBSGD加快了XW的矩阵-向量乘法。

例如我们读取了一个批量的样本X,其中输入的特征维度为d,批量大小为n,输出类别数为q。则立即推小样本的特征为 X ∈ R n × d , 权重为 W ∈ R d × q , 偏置为 b ∈ R 1 × q X \in R^{n\times d}, 权重为W \in R^{d \times q}, 偏置为 b \in R^{1 \times q} XRn×d,权重为WRd×q,偏置为bR1×q,如下,

请添加图片描述

batch_size也不一定越大越好,考虑到BN层的存在,一般需要大于8,batch_size大小要和learning rate匹配。所以可学习参数的数量和batch_size无关

关于梯度下降算法这里有一篇很不错的文章:深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)https://www.cnblogs.com/guoyaohua/p/8542554.html

建议使用Adam优化器,且超参数设置为 β1 = 0.9,β2 = 0.999,ϵ = 10e−8

x.1.5 Cross-entropy Loss

由于MLE极大似然估计我们得到损失函数为cross-entropy loss交叉熵损失。假设我们有q个类别,最终我们得到的target - y和predict - y_hat的损失函数为,

请添加图片描述

请注意,式中的yi是一个one-hot encoding形式。我们将式(4, 1, 8)中引入softmax激活函数,使的output_j也变成一个概率分布的形式,

请添加图片描述

对上面loss针对某一特定输出 o j o_j oj求偏导,得到loss对于某一特定输出的o_j的偏导就是softmax该o_j再减去y_j的one-hot encoding,所以引入softmax激活层的网络模型的导数是方便求解的

请添加图片描述

x.2 Classification 分类问题实践

将图片数据展平成一维的再传入全连接层训练。

F.cross_entropy()nn.CrossEntropyLoss()没有太大区别,但是要注意nn.DropoutF.dropout()具有很大区别,虽然dropout无可学习参数,但是model.train()和model.eval()无法控制F.dropout只可以控制nn.Dropout

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

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

相关文章

13. ReentrantLock、ReentrantReadWriteLock、StampedLock讲解

13.1 关于锁的面试题 ● 你知道Java里面有那些锁 ● 你说说你用过的锁&#xff0c;锁饥饿问题是什么&#xff1f; ● 有没有比读写锁更快的锁 ● StampedLock知道吗&#xff1f;&#xff08;邮戳锁/票据锁&#xff09; ● ReentrantReadWriteLock有锁降级机制&#xff0c;你知道…

linux实验四 vi编辑器及用户管理

1、vi编辑器的详细使用 &#xff08;1&#xff09;在用户主目录下建一个名为vi的目录。 &#xff08;2&#xff09;进入vi目录。 &#xff08;3&#xff09;将文件/etc/man_db.conf复制到当前目录下&#xff0c;并用命令sudo修改man_db.conf的属性为所有用户可以读写。 &am…

华为OD机试真题 JavaScript 实现【贪心的商人】【2023Q1 100分】

一、题目描述 商人经营一家店铺&#xff0c;有number种商品&#xff0c;由于仓库限制每件商品的最大持有数量是item[index]&#xff0c;每种商品的价格在每天是item_price[item_index][day]&#xff0c;通过对商品的买进和卖出获取利润&#xff0c;请给出商人在days天内能获取…

SQL高级之order by优化

简介 MySQL支持两种方式的排序&#xff0c;FileSort和Index&#xff0c;其中Index的效率较高他是指MySQL扫描索引本身完成排序。FileSort方式效率较低 使用Index 一般情况下ORDER BY满足两种情况会使用索引排序 ORDER BY语句使用索引最左前列使用where子句与order by 子句条…

复习之linux虚拟化的介绍

一、虚拟化客户端及工具的安装 1.在虚拟机westos中列出&#xff1a; ps:虚拟机中安装虚拟机无意义&#xff0c;这里指是做实验看清楚虚拟机的创建&#xff01; # dnf group list --hidden irtualization Client &#xff1a;虚拟化客户端 Virtualization Tools &…

稳定性治理二,稳定性分析

目录 重新认识系统稳定性&#xff08;SLA与系分&#xff09;稳定性分析&#xff08;单点&#xff0c;容量和性能&#xff0c;依赖&#xff0c;数据保护&#xff0c;安全&#xff0c;资损&#xff0c;弹性能力&#xff0c;业务连续性&#xff0c;变更控制&#xff09;压测方案&a…

面向对象3构造器

类的成员之三&#xff1a;构造器(Constructor) 我们 new 完对象时&#xff0c;所有成员变量都是默认值&#xff0c;如果我们需要赋别的值&#xff0c;需要 挨个为它们再赋值&#xff0c;太麻烦了。我们能不能在 new 对象时&#xff0c;直接为当前对象的 某个或所有成员变量直接…

美团买菜基于 Flink 的实时数仓建设

摘要&#xff1a;本文整理自美团买菜实时数仓技术负责人严书&#xff0c;在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分&#xff1a; 1. 背景介绍 2. 技术愿景和架构设计 3. 典型场景、挑战与应对 4. 未来规划 Tips&#xff1a;点击「阅读原文」免…

ReentrantLock实现原理-条件锁

在前两篇文章中&#xff0c;我们了解了ReentrantLock内部公平锁和非公平锁的实现原理&#xff0c;可以知道其底层基于AQS&#xff0c;使用双向链表实现&#xff0c;同时在线程间通信方式(2)中我们了解到ReentrantLock也是支持条件锁的&#xff0c;接下来我们来看下&#xff0c;…

ISO21434 网络安全支持终止与退役(十一)

目录 一、概述 二、目标 三、网络安全支持终止 3.1 输入 3.2 要求和建议 3.3 输出 四、退役 4.1 输入 4.1.1 先决条件 4.1.2 进一步支持信息 4.2 要求和建议 4.3 输出 一、概述 退役不同于结束网络安全支持。一个组织可以结束对一个项目或组件的网络安全支持&#…

【Linux】常用命令总结

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 1.登录操作 2.操作系统 a.os是什么&#xff1f; b.好的操作系统的衡量指标&#xff1f;为什么要有操作系统&#xff1f; 3.Linux下的基本指令 a.ls指令 b.pwd指令 c.cd指令 d…

SB领导的特征

越是SB领导&#xff0c;往往越有这9大特征&#xff0c;难怪员工不服气。 孔子曾说过&#xff1a;“视其所以&#xff0c;观其所由、察其所安、人焉善哉&#xff1f;” 领导也是如此&#xff0c;想要判断领导是不是SB&#xff0c;关键就看他的所作所为。 越是“SB”的领导&#…

在CRM系统中如何获取联系人的信息?

CRM客户管理系统可以有效应对企业对联系人管理的需求&#xff0c;帮助销售人员随时随地查阅、记录、修改联系人&#xff0c;为业务开展做好铺垫。CRM中联系人是什么&#xff1f;如何获取联系人信息&#xff1f; 1.CRM中联系人是什么&#xff1f; CRM系统联系人指的是沟通对象…

薅羊毛!阿里云免费GPU云主机畅玩AI绘画,免费领取阿里云v100显卡搭建AI绘画利器Stable Diffusion

❝ AI绘画利器Stable Diffusion,因为对电脑显卡&#xff0c;磁盘&#xff0c;内存等都有一些限制&#xff0c;导致大部分人望而止步&#xff0c;所以小编今天教大家免费领取阿里云的免费显卡服务器&#xff0c;免费试用3个月&#xff0c;以方便各位快速学习与使用。 ❞ 领取免费…

MapReduce编程

Hadoop的MapReduce计算框架 概述 MapReduce计算框架是一种计算框架&#xff0c;用于计算处理大规模的数据集&#xff0c;他将数据分成小块&#xff0c;然后在集群中的多个节点上并行处理这些块MapReduce框架是由两个组件组成&#xff1a;Map和Reduce Map任务将输入数据分解成…

团队管理之性能实施团队日志12

这几天算是多事之秋。本来就有几个严重的问题天天在折腾。 还是出现了各种差错。 其实对于做项目来说&#xff0c;就是这样&#xff0c;总会有紧要的事情突然冒出来。 我倒是习惯了这种状态。 只是时间不等人。 这两天在写各系统的最终报告。结果写到某个系统的时候发现&#…

零基础学Python,最受推荐的10本Python书籍

目录 适合初学者的最佳Python书籍1、《Python编程&#xff1a;从入门到实践》2、《Head-First Python (2nd edition)》3、《“笨方法”学Python》4、《Python程序设计&#xff08;第3版&#xff09;》 最适合初学者的免费Python书籍5、《像计算机科学家一样思考Python (第2版)》…

学习【菜鸟教程】【C++ 继承】(未完)

链接 1. 教程原文 面向对象程序设计中最重要的一个概念是继承。继承允许我们依据另一个类来定义一个类&#xff0c;这使得创建和维护一个应用程序变得更容易。这样做&#xff0c;也达到了重用代码功能和提高执行效率的效果。 当创建一个类时&#xff0c;您不需要重新编写新的…

0基础学习VR全景平台篇第41篇:编辑器底部菜单-素材管理

大家好&#xff0c;欢迎观看蛙色VR官方系列——后台使用课程&#xff01; 本期为大家带来蛙色VR平台&#xff0c;底部菜单—素材管理功能操作。 功能位置示意 一、本功能将用在哪里&#xff1f; 素材管理&#xff0c;主要是对场景列表相关的基础操作做一个详细的讲解&#xf…

自研API 网关 - 媲美美团这套Shepherd网关架构!

作者&#xff1a;小傅哥 博客&#xff1a;https://bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 我说&#xff1a;“很多互联网大厂&#xff0c;很少基于 SpringMVC 模块对外提供 WEB 服务的 HTTP 接口&#xff01;” 一下炸窝…