d2l_第四章学习_Classification/Softmax Regression

news/2024/10/31 5:27:49/

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.ppmy.cn/news/359586.html

相关文章

【Rust日报】2023-06-11 Rust 中的 Telegram Bot 框架

MOBOT 的第一个版本&#xff0c;这是一个 Rust 中的 Telegram Bot 框架 这是我一直在研究的 Rust 中的 Telegram Bot 框架。我尝试了其他 Rust 库&#xff0c;但我发现它们对于我正在构建的机器人类型来说过于原始或过于具体。 它带有 Telegram Bot API 的完全原生实现&#xf…

【企业业务架构】LEANIX : 业务能力

业务能力是组织执行核心功能所需的能力、材料和专业知识的表达或发声。企业架构师使用业务能力来说明业务的总体需求&#xff0c;以便更好地制定满足这些业务需求的 IT 解决方案。 目录 介绍业务能力建模您可以通过业务能力映射实现什么&#xff1f;并购管理IT风险管理创新管理…

还原卡

使用还原卡&#xff0c;可以将计算机的系统分区或其他需要保护的分区保护起来&#xff0c;可以将还原卡设定为下次启动或过一定的时间后对系统进行自动还原&#xff0c;这样&#xff0c;在此期间内对系统所作的修改将不复存在&#xff0c;免去了系统每使用一段时间后就由于种种…

小哨兵硬件还原卡安装方法

&#xff11;安装前的准备工作确认您的计算机在安装还原卡前系统运作正常并符合系统需求。如果硬盘上已经安装了旧版本或是其它公司的恢复产品&#xff0c;请先将其移除&#xff0c;并最好移除其提供的VxD驱动程建议安装前请先扫瞄计算机确认计算机没有病毒&#xff0c;然后关闭…

Redis主从模式的搭建,哨兵模式搭建以及集群的搭建,及Redis缓存可能出现的问题及解决方案

目录 一、引言 二、Redis介绍 四、Redis常用命令【重点】 五、Java连接Redis【重点】 六、Redis其他配置及集群【重点】 七、Redis常见问题【重点】 一、引言 为啥需要redis?没有reids有啥问题?↓ 1.1 数据库压力过大 由于用户量增大&#xff0c;请求数量也随之增大&am…

Redis深入理解五 :Redis主从架构、哨兵架构、高可用集群模式

redis主从架构 redis主从架构搭建&#xff0c;配置从节点步骤: 复制一份redis.conf文件将相关配置修改为如下值: port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" dir /usr/local/redis‐5.0.3/data/6380 # 指定…

机房维护 网拷_利用网络还原系统(远志)快速维护机房

利用网络还原系统(远志)快速维护机房 摘 要 本文介绍一款集网络克隆和网络还原为一体网络还原系统 ―― 远志 网络还精灵,来安装一个只有网络环境但没有硬件还原卡机房 关键词 网络拷贝;克隆;远志;还原 保护卡的全名为 “ 硬盘保护还原卡 ” , 是用来保护的操作系统一种设…

机器狗病毒样本(穿透冰和点还原卡)

目前网上流传一种叫做机器狗的病毒&#xff0c;此病毒采用hook系统的磁盘设备栈来达到穿透目的的&#xff0c;危害极大&#xff0c;可穿透目前技术条件下的任何软件硬件还原&#xff01;基本无法靠还原抵挡。目前已知的所有还原产品&#xff0c;都无法防止这种病毒的穿透感染和…