李宏毅ML 学习笔记(2)

课程链接:(强推)李宏毅2021/2022春机器学习课程

目录

如何调整模型

1.model bias

2.optimization issue 优化问题

model bias vs optimization issue

3.overfitting

4.cross Validation 交叉验证

N-fold cross Validation

5.Mismatch

一、局部最小值和鞍点

二、批次(batch)与动量(momentum)

为什么training时要使用batch来计算loss?

梯度下降法结合Momentum?

三、自动调整学习率(Adaptive Learning Rate)

不同情况下所需的lr大小?

如何求解?

如何调整?

梯度下降法的优化策略?

四、独热编码

如何输出独热编码?


如何调整模型

1.model bias

通常是模型过于简单

  • 对model增加features
  • 对model增加layers

2.optimization issue 优化问题

未知参数会止步于local minnima,最后的loss会不够小

model bias vs optimization issue

比较不同layer层数的model,如果layer大的model反而在训练集和测试集上效果差,则可能为optimization issue

3.overfitting

overfitting通常在训练集上效果好,在测试集上效果差

可能发生在model的flexible过大,或者说layer过多的情况

解决方法:

  • 增加训练数据
  • 数据增强(data augmentation)
  • 增加model限制
    • 较少的参数或共享参数(如不使用全连接神经网络,使用卷积神经网络)
    • 较少的特征输入
    • Early Stopping
    • Regularization
    • Dropout

   

Tip: test loss大不代表一定是overfitting,建议先检查training loss

4.cross Validation 交叉验证

将数据集划分为训练集和验证集,通过model在验证集上的loss来判断一个模型的好坏

N-fold cross Validation

n种验证集情况下的loss进行平均后再比较

5.Mismatch

训练集与测试集的分布不同

一、局部最小值和鞍点

在local minima与saddle point处梯度都为零,统称为critical point(驻点)

如果模型参数优化止步于鞍点,则还可以继续优化

二、批次(batch)与动量(momentum)

shuffle:每一个epoch之前会重新随机划分batch,使得每一轮中的batch中内容不同

为什么training时要使用batch来计算loss?

  • 在GPU并行计算场景下,1~1000的batch size下计算一次loss并求梯度的时间几乎一致;而bs越小,一个epoch中的update次数越多,则计算时间很大,故选择较大的bs,可以缩短训练时间。

  • bs越大,update次数少,容易让loss止步于驻点而暂停更新此时training acc小;bs越小,update次数多,loss止步于驻点后可以在下一次batch中更新,此时training acc大。
  • bs越大,testing acc越高;bs越小,testing acc越低。

梯度下降法结合Momentum?

每一步参数移动的方向为 该点梯度反方向与前一步方向的叠加 来调整参数,从而避免local minima的影响。

三、自动调整学习率(Adaptive Learning Rate)

当training stuck时,不一定是走到了驻点,大多数情况下是由于learning rate的大小

  • learinging rate太大,则步伐太大,会越过最低点
  • learinging rate太小,则步伐太小,难以收敛到最低点

不同情况下所需的lr大小?

  • 梯度大的情况下需要小的学习率
  • 梯度小的情况小需要大的学习率

Tip:\Theta _{i}指第i个参数,\Theta ^{_{i}^{t}}指对第i个参数的第t次update

如何求解\sigma

  • 均方根(Root Mean Square)

  • RMSProp

调整每个梯度的影响度,从而使每step对梯度影响的反应较合理

  • Adam:RMSProp+Momentum

如何调整\eta

  • Learing Rate Decay

  • Warm Up

梯度下降法的优化策略?

  • 考虑梯度方向:步伐考虑动量
  • 考虑梯度大小:自适应性学习率

四、独热编码

独热编码表示输出结果可将classification issue转化为regression issue

如何输出独热编码?
  • 使用多组权重和均值得到向量的不同元素

  • 使用softmax函数对输出归一化,并让向量每个元素值之间的差距更大

  • 使用cross-entroy来表示预测值y与真实值\widehat{y}之间的差异

cross-entroy比MSE计算差异更适用于分类问题

  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值