【动手学深度学习_李沐】笔记:(二)线性神经网络
【二、线性神经网络】笔记
1. 线性回归:
-
目标函数:寻找模型的权重 w 和偏置 b:
-
损失函数:一般选择非负数,数值越小表⽰损失越小,回归问题最常⽤平方误差函数
-
解析解:预测问题是最小化 ||y − Xw||^2
-
梯度下降:通过不断在降低损失⽅向上更新参数来降低误差。
-
小批量随机梯度下降:⾸先随机抽样⼀个小批量 B,它是由固定数量的训练样本组成的。然后,计算小批量的平均损失关于模型参数的导数(也可以称为梯度)。最后,将梯度乘以⼀个预先确定的正数 η,并从当前参数的值中减掉。
-
算法的步骤如下:
(1)初始化模型参数的值,如随机初始化;
(2)从数据中迭代抽取随机的小批量样本。然后在负梯度的⽅向上更新参数。对于平⽅损失和仿射变换,可以明确地写成如下形式:
-
(3) |B| 表⽰每个小批量中的样本数(批量⼤小batch size),η 表⽰学习率(learning rate)。批量⼤小和学习率的值是⼿动预先指定,而不是通过模型训练得到的。这些可以调整但不在训练过程中更新的参数称为超参数(hyperparameter)。调参(hyperparameter tuning)是选择超参数的过程。超参数通常是我们根据训练迭代结果来调整的,而训练迭代结果是在独⽴的验证数据集(validation dataset)上评估得到的。
-
泛化(generalization):找到⼀组参数,这组参数能够在其他数据上实现低的损失。
2. 均方误差损失函数:
-
均方误差损失函数(简称均⽅损失)可⽤于线性回归的原因是:假设观测中包含噪声,其中,噪声服从正态分布。噪声正态分布如下式:
-
通过给定的 x 观测到特定 y 的可能性(likelihood):
-
根据最⼤似然估计法,参数 w 和 b 的最优值是使整个数据集的可能性最⼤的值。通过最⼤化似然对数简化,优化通常是说最小化,可改为最小化负对数似然 -log P(y | X):
-
假设 σ 是某个固定常数就可以忽略第⼀项,因为第⼀项不依赖于 w 和 b。第⼆项除了常数 σ 外,其余部分和前⾯的平⽅误差损失⼀样。上⾯式⼦的解并不依赖于 σ,在⾼斯噪声的假设下,最小化均⽅误差等价于对线性模型的最⼤似然估计。
3. 机器学习模型
- 关键要素是训练数据,损失函数,优化算法,还有模型本⾝。
4. 线性回归模型:
- 由单个⼈⼯神经元组成的神经⽹络,或称为单层神经网络。每个输⼊都与每个输出相连,这种变换称为全连接层 fully-connected layer(或稠密层 dense layer)。
5. softmax回归:
-
单层神经网络,输出层也是全连接层。对于有 d 个输⼊和 q 个输出的全连接层,参数开销为O(dq),将 d 个输⼊转换为 q 个输出的成本可以通过超参数 n 减少到 O(dq/n)。适⽤于分类问题,使⽤了 softmax 运算中输出类别的概率分布。
-
要将输出视为概率,必须保证在任何数据上的输出都是非负的且总和为 1。在分类器输出 0.5 的所有样本中,希望这些样本有⼀半实际属于预测的类,即校准。归一化有时也称为配分函数(其对数称为对数-配分函数),名称起源于统计物理学中模拟粒⼦群分布的⽅程。
-
softmax 是非线性函数,但 softmax 回归的输出由输⼊特征的仿射变换决定。因此,softmax 回归是⼀个线性模型。
-
损失函数(最⼤似然估计):对数似然,根据最⼤似然估计,最⼤化 P(Y | X),相当于最小化负对数似然:
-
交叉熵是衡量两个概率分布之间差异的很好的度量,测量给定模型编码数据所需的⽐特数。对于任何标签 y 和模型预测 ˆy,损失函数(交叉熵损失)为:
-
考虑相对于任何未归⼀化的预测 oj 的导数,即模型分配的概率(由softmax得到)与实际发⽣的情况(由独热标签向量表⽰)之间的差异:
-
准确率:正确预测数与预测的总数之间的⽐率。
6. 图像分类数据集:
- ⼴泛使⽤的图像分类数据集之⼀是 MNIST 数据集 [LeCun et al., 1998]。但如今简单模型也能达到 95% 以上的分类准确率,因此不适合区分强模型和弱模型。本章节讨论2017年布的性质相似但相对复杂的Fashion-MNIST 数据集 [Xiao et al., 2017]。
- Fashion-MNIST:
由 10 个类别图像组成,每个类别由训练数据集中的 6000 张图像和测试数据集中的 1000 张图像组成。分别为t-shirt(T恤)、trouser(裤⼦)、pullover(套衫)、dress(连⾐裙)、coat(外套)、sandal(凉鞋)、shirt(衬衫)、sneaker(运动鞋)、bag(包)和ankle boot(短靴)。测试数据集(test dataset)不⽤于训练,只⽤于评估模型性能。训练集和测试集分别包含 60000 和 10000 张图像。每个输⼊图像的⾼度和宽度均为 28 像素。数据集由灰度图像组成,其通道数为1。 - 数据迭代器是获得更⾼性能的关键组件。依靠实现良好的数据迭代器,利⽤⾼性能计算来避免减慢训练过程。
7. Softmax函数的稳定性问题:
- oj 是未归⼀化的预测 o 的第 j 个元素,如果 ok 中的⼀些数值⾮常⼤,那么 exp(ok) 可能⼤于数据类型容许的最⼤数字,即上溢 overflow,使分⺟或分⼦变为 inf,在减法和归⼀化步骤之后,可能有些 oj 具有较⼤负值,由于精度受限,exp(oj) 将有接近零的值,即下溢 underflow,可能四舍五⼊为零,使 yˆj 为零,并且使得 log(yˆj ) 的值为 -inf,反向传播⼏步后出现** nan 结果。通过将 softmax 和交叉熵结合在⼀起,可以避免反向传播过程中的数值稳定性问题**:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律