李沐_动手学深度学习第三章深度学习基础_笔记

目录

    • 1.多层感知机
    • 2.模型选择、过拟合和欠拟合
    • 3.权重衰减
    • 4.丢弃法
    • 5.正向传播、反向传播和计算图
    • 6.数值稳定性和模型初始化
    • 7.实战kaggle比赛:房价预测

1.多层感知机

多层感知机就是含有至少一个隐藏层的由全连接组成的神经网络,且每个隐藏层的输出通过激活函数进行变换。多层感知机的层数和各隐藏层单元 个数都是超参数。
李沐_动手学深度学习第三章深度学习基础_笔记_第1张图片

多层感知机在输出层和输入层之间增加一个或多个全连接隐藏层,并通过激活函数转换隐藏层的输出。
常用的激活函数包括ReLU函数、sigmoid函数和tanh函数。

2.模型选择、过拟合和欠拟合

· 欠拟合是指模型无法继续减少训练误差。过拟合是指训练误差远小于验证误差。
· 由于不能基于训练误差来估计泛化误差,因此简单地最小化训练误差并不一定意味着泛化误差的减小。机器学习模型需要注意防止过拟合,即防止泛化误差过大。
· 验证集可以用于模型选择,但不能过于随意地使用它。
· 我们应该选择一个复杂度适当的模型,避免使用数量不足的训练样本。

3.权重衰减

应对过拟合问题。
李沐_动手学深度学习第三章深度学习基础_笔记_第2张图片
李沐_动手学深度学习第三章深度学习基础_笔记_第3张图片

· 正则化是处理过拟合的常用方法:在训练集的损失函数中加入惩罚项,以降低学习到的模型的复杂度。
· 保持模型简单的一个特别的选择是使用惩罚的权重衰减。这会导致学习算法更新步骤中的权重衰减。
· 权重衰减功能在深度学习框架的优化器中提供。
· 在同一训练代码实现中,不同的参数集可以有不同的更新行为。

4.丢弃法

李沐_动手学深度学习第三章深度学习基础_笔记_第4张图片
· 暂退法在前向传播过程中,计算每一内部层的同时丢弃一些神经元。
· 暂退法可以避免过拟合,它通常与控制权重向量的维数和大小结合使用的。
· 暂退法将活性值h替换为具有期望值h的随机变量。
· 暂退法仅在训练期间使用。

5.正向传播、反向传播和计算图

前向传播(forward propagation或forward pass) 指的是:按顺序(从输入层到输出层)计算和存储神经网络中每层的结果。
正向传播是指对神经网络沿着从输入层到输出层的顺序,依次计算并存储模型的中间变量(包括输出)。
李沐_动手学深度学习第三章深度学习基础_笔记_第5张图片
其中正方形表示变量,圆圈表示操作符。 左下角表示输入,右上角表示输出。 注意显示数据流的箭头方向主要是向右和向上的。

反向传播(backward propagation或backpropagation)指的是计算神经网络参数梯度的方法。 简言之,该方法根据微积分中的链式规则,按相反的顺序从输出层到输入层遍历网络。 该算法存储了计算某些参数梯度时所需的任何中间变量(偏导数)。

训练神经网络时,前向传播和反向传播相互依赖。 对于前向传播,我们沿着依赖的方向遍历计算图并计算其路径上的所有变量。 然后将这些用于反向传播,其中计算顺序与计算图的相反。
一方面,正向传播的计算可能依赖于模型参数的当前值,而这些模型参数是在反向传播的梯度计算后通过优化算法迭代的。
另一方面,反向传播的梯度计算可能依赖于各变量的当前值,而这些变量的当前值是通过正向传播计算得到的。因此,我们交替地进行正向传播和反向传播,并根据反向传播计算的梯度迭代模型参数。

· 前向传播在神经网络定义的计算图中按顺序计算和存储中间变量,它的顺序是从输入层到输出层。
· 反向传播按相反的顺序(从输出层到输入层)计算和存储神经网络的中间变量和参数的梯度。
· 在训练深度学习模型时,前向传播和反向传播是相互依赖的。
· 训练比预测需要更多的内存。

6.数值稳定性和模型初始化

深度模型有关数值稳定性的典型问题是衰减和爆炸。

· 梯度消失和梯度爆炸是深度网络中常见的问题。在参数初始化时需要非常小心,以确保梯度和参数可以得到很好的控制。
· 需要用启发式的初始化方法来确保初始梯度既不太大也不太小。
· ReLU激活函数缓解了梯度消失问题,这样可以加速收敛。
· 随机初始化是保证在进行优化前打破对称性的关键。
· Xavier初始化表明,对于每一层,输出的方差不受输入数量的影响,任何梯度的方差不受输出数量的影响。

7.实战kaggle比赛:房价预测

· 真实数据通常混合了不同的数据类型,需要进行预处理。
· 常用的预处理方法:将实值数据重新缩放为零均值和单位方法;用均值替换缺失值。
· 将类别特征转化为指标特征,可以使我们把这个特征当作一个独热向量来对待。
· 我们可以使用折交叉验证来选择模型并调整超参数。
· 对数对于相对误差很有用。

你可能感兴趣的:(机器学习,深度学习,深度学习,机器学习,人工智能)