深度学习八股

一、优化器

1.SGD是什么?

  • 批梯度下降:遍历全部数据集算一次损失函数,计算量开销大,计算速度慢,不适合在线学习。
  • 随机梯度下降(SGD):每次随机选择一个数据计算损失函数,求梯度并更新参数,计算速度快,但收敛性可能不太好。
  • 批量随机梯度下降(Mini-batch SGD):用小批量样本来近似全部,将样本分为m个mini-batch,每个mini-batch包含n个样本。
  • 使用动量(Momentum)的随机梯度下降法(SGD):在随机梯度算法中,每一步的步幅是固定的,而在动量学习算法中,每一步走多远不仅依赖于本次的梯度大小还取决于过去的速度。速度是累计各轮训练参数的梯度。动量主要解决SGD的两个问题:一是随机梯度引入的噪声;二是hessian矩阵病态问题,可以理解为SGD在收敛过程中和正确梯度相比来回摆动比较大的问题。

2.简单介绍下Adam算法

RMSprop将学习率分解成一个平方梯度的指数衰减的平均。Adam中动量直接并入梯度的一阶矩估计。其次,相比缺少修正因子导致二阶矩估计可能在训练初期具有很高偏置的RMSprop,Adam还包括偏置修正,修正从原点初始化的一阶矩估计和二阶矩估计。本质上是带有动量的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要是经过偏置校正后,每一次迭代学习率都有一个确定范围,使得参数比较平稳。

3.Adam和SGD的区别?

  • SGD缺点是更新方向完全依赖于当前batch计算出的梯度,因此十分不稳定。
  • Adam的优点在于:1.考虑历史步中的梯度更新信息,能够降低梯度更新噪声.2.此外经过偏差和校正后,每一次迭代学习率都有个确定单位,使得参数比较平稳。
  • 但Adam可能对前期出现的特征过拟合,后期才出现的特征很难纠正前期的拟合效果。且SGD和Adam没法很好的避免局部最优问题。

二、过拟合

1.过拟合指什么?造成的原因是什么?解决方法有哪些?

  • 定义:模型在训练集上表现很好,但在测试集合新数据上表现很差
  • 出现的原因:1.模型的复杂度过高、参数过多 2.训练数据比较小 3.训练集合测试集的分布不一致 4.样本里的噪声数据过大,导致模型过分记住了
  • 解决方法:降低模型复杂度;数据增强;正则化(L1,L2,dropout);早停

2.过拟合和欠拟合的比较

过拟合:模型在训练集上表现的很好,但是在测试集合新的数据上表现的很差。输出结果高方差,模型很好的适配训练样本,但在测试集上表现的很糟糕,有一个很大的方差。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值