Datawhale X 李宏毅苹果书 AI夏令营(入门Task03)

针对模型训练的相关问题进行分析:

当模型训练数据的损失值较大时,是因为模型训练本身的问题,那究竟是因为模型偏差,还是优化问题呢?

首先,我们需要考虑一个问题,就是模型的设计问题,模型设计过于简单,却用来处理复杂问题,导致模型的效果不佳,则这是模型的偏差导致的;如果模型设计较为复杂,但是模型的测试集结果不如简单模型的效果,我们需要对两个模型的训练集加以分析,如果复杂模型的训练集效果比简单模型的训练集效果差,那原因只有一个,就是复杂模型的优化做的不好。理由如下:如果复杂模型的前面神经网络层设置与普通模型一致,其后面层仅仅只是映射,那么效果至少与简单模型一致,甚至更好,不会出现训练集效果不好的情况。

当模型训练数据集的损失值较小时,需要考虑什么?

这种情况,我们需要先看测试集损失值,如果测试集损失值很小,那么我们的模型训练很成功,如果测试集训练的结果不好,其损失值比较大,我们需要考虑是过拟合 或者 测试集与训练集不匹配的问题。不匹配很容易看出来,训练集和测试集的数据类型是否一致,即可以判断;过拟合是因为欸模型的灵活性太大导致的,可以增加限制或者增加训练集。

过拟合如何解决?

1.给模型比较少的参数

2.提供较少的特征

3.早停

4.正则化

5.丢弃法

6.增加训练集(数据增强)

为什么用交叉验证?

在训练集上训练出来的模型会使用验证集来衡量它们的分数,根据验证集上面的分数去 挑选结果,再把这个结果上传到 Kaggle 上面得到的公开分数。在挑分数的时候,是用验证集 来挑模型,所以公开测试集分数就可以反映私人测试集的分数。但假设这个循环做太多次,根 据公开测试集上的结果调整模型太多次,就又有可能在公开测试集上面过拟合,在私人测试 集上面得到差的结果。

k 折交叉验证就是先把训练集切成 k 等份。在这个例子, 训练集被切成 3 等份,切完以后,拿其中一份当作验证集,另外两份当训练集,这件事情要 重复 3 次。即第一份第 2 份当训练,第 3 份当验证;第一份第 3 份当训练,第 2 份当验证; 第一份当验证,第 2 份第 3 份当训练。

什么是不匹配?

不匹配是 指训练集跟测试集的分布不同。假设数据在分训练集跟测 试集的时候,使用 2020 年的数据作为训练集,使用 2021 年的数据作为测试集,不匹配的问 题可能就很严重。图 2.14 是图像分类中的不匹配问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值