Datawhale X 李宏毅苹果书 AI夏令营(第五期) Task 3 学习笔记

2.1 模型偏差
如果模型的灵活性不够大,a.增加更多特征;b.设一个更大的模型c.深度学习。但损失大也可能是优化做得不好。

2.2 优化问题
一个建议判断的方法,通过比较不同的模型来判断模型现在到底够不够大。

建议:“看到一个从来没有做过的问题,可以先跑一些比较小的、比较浅的网络,或甚至用一些非深度学习的方法,比如线性模型、支持向量机(Support Vector Machine,SVM),SVM 可能是比较容易做优化的,它们比较不会有优化失败的问题。也就是这些模型它会竭尽全力的,在它们的能力范围之内,找出一组最好的参数,它们比较不会有失败的问题。因此可以先训练一些比较浅的模型,或者是一些比较简单的模型,先知道这些简单的模型,到底可以得到什么样的损失。

接下来还缺一个深的模型,如果深的模型跟浅的模型比起来,深的模型明明灵活性比较大,但损失却没有办法比浅的模型压得更低代表说优化有问题,梯度下降不给力,因此要有一些其它的方法来更好地进行优化。”
先确定优化没有问题,模型够大了。接下来才看看是不是测试的问题,如果是训练损失小,测试损失大,这个有可能是过拟合。
2.3 过拟合
训练集可以想像成从这条曲线上面,随机采样出来的几个点。模型的能力非常强,灵活性很大,只给它这 3 个点。在这 3 个点上面,要让损失低,所以模型的这个曲线会通过这 3 个点,但是其它没有训练集作为限制的地方,因为它的灵活性很大,所以模型可以变成各式各样的函数,没有给它数据作为训练,可以产生各式各样奇怪的结果。

如果模型自由度很大,它可以产生非常奇怪的曲线,导致训练集上的结果好,但是测试集上的损失很大。       --过拟合的类因

解决过拟合的两个可能的方向
a.增加数据集 or做数据增强
(data augmentation)::数据增强就是根据问题的理解创造出新的数据。
e.g.对图片进行左右翻转,数据就变成两倍;或者是把它其中一块截出来放大等等。但不应把图像上下颠倒->结果可能会奇怪

b.给模型一些限制,让模型不要有过大的灵活性。
所以当训练集有限的时候,来来去去只能够选几个函数(当模型是 2 次曲线时)。虽然说只给了 3 个点,但是因为能选择的函数有限,可能会正好选到跟真正的分布比较接近的函数,在测试集上得到比较好的结果。

b1.给模型比较少的参数:给它比较少的神经元的数量/让模型共用参数,让一些参数有一样的数值
#全连接网络(fully-connected network)其实是一个比较有灵活性的架构,而卷积神经网络(Convolutional Neural Network,CNN)是一个比较有限制的架构。CNN 是一种比较没有灵活性的模型,其是针对图像的特性来限制模型的灵活性。所以全连接神经网络,可以找出来的函数所形成的集合其实是比较大的,CNN 所找出来的函数,它形成的集合其实是比较小的,其实包含在全连接网络里面的,但是就是因为CNN 给了,比较大的限制,所以 CNN 在图像上,反而会做得比较好

b2.用比较少的特征

b3.其他:比如早停(early stopping), 正则化(regularization), 和丢弃法(dropoutmethod)
2.4 交叉验证
比较合理选择模型的方法是把训练的数据分成两半,一部分称为训练集(training set),一部分是验证集(validation set)。
理想上就用验证集挑就好,有过比较好的基线(baseline)算法以后,就不要再去动它了,就可以避免在测试集上面过拟合。

如果随机分验证集,可能会分得不好,分到很奇怪的验证集,会导致结果很差,如果有这个担心的话,可以用 k 折交叉验证(k-foldcross validation)
2.5 不匹配
"不匹配跟过拟合其实不同,一般过拟合可以用搜集更多数据来克服,但不匹配是指测试集跟训练集的分布不同。

这种问题要怎么解决,匹不匹配要看对数据本身的理解了,我们可能要对训练集跟测试集的产生方式有一些理解,才能判断它是不是遇到了不匹配的情况。"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值