Datawhale X 李宏毅苹果书 AI夏令营(机器学习框架&实践攻略)

一.实践方法论

        在应用机器学习算法时,实践方法论能够帮助我们更好地训练模型。如果在 Kaggle 上的结果不太好,虽然 Kaggle 上呈现的是测试数据的结果,但要先检查训练数据的损失。看看模型在训练数据上面,有没有学起来,再去看测试的结果,如果训练数据的损失很大,显然它在训练集上面也没有训练好。接下来再分析一下在训练集上面没有学好的原因。

一:模型偏差

        模型偏差可能会影响模型训练。这个时候重新设计一个模型,给模型更大的灵活性。

二:优化问题

一般我们只会用到梯度下降进行优化,这种优化的方法很多的问题。比如可能会卡在局部最小值的地方,无法找到一个真的可以让损失很低的参数。

如何判断模型到底够不够大呢?

建议是可以先训练一些比较浅的模型,或者是一些比较简单的模型,先知道这些简单的模型,到底可以得到什么样的损失。接下来建议训练一个深的模型,如果深的模型跟浅的模型比起来,深的模型明明灵活性比较大,但损失却没有办法比浅的模型压得更低代表说优化有问题,梯度下降不给力,因此要有一些其它的方法来更好地进行优化。但是如果是训练损失小,测试损失大,这个有可能是过拟合。

三:过拟合

如何解决过拟合问题呢?

        第一个方向是往往是最有效的方向,即增加训练集。数据增强就是根据问题的理解创造出新的数据。但是数据增强不能够随便乱做。在图像识别里面,很少看到有人把图像上下颠倒当作增强。所以数据增强,要根据对数据的特性以及要处理的问题的理解,来选择合适的数据增强的方式。

        另外一个解法是给模型一些限制,让模型不要有过大的灵活性。解决过拟合的问题,要给模型一些限制,最好模型正好跟背后产生数据的过程,过程是一样的就有机会得到好的结果。

如何给模型制造限制呢?

        1.给模型比较少的参数。如果是深度学习的话,就给它比较少的神经元的数量,本来每层一千个神经元,改成一百个神经元之类的,或者让模型共用参数,可以让一些参数有一样的数值。

        2.用比较少的特征,本来给 3 天的数据,改成用给两天的数据,其实结果就好了一些。

        3.别的方法,比如早停(early stopping)、正则化(regularization)和丢弃法(dropoutmethod)。

四.交叉验证

比较合理选择模型的方法是把训练的数据分成两半,一部分称为训练集(training set),一部分是验证集(validation set)。如果随机分验证集,可能会分得不好,分到很奇怪的验证集,会导致结果很差,如果有这个担心的话,可以用 k 折交叉验证。

五.不匹配

        不匹配跟过拟合不同,一般的过拟合可以用搜集更多的数据来克服,但是不匹配是指训练集跟测试集的分布不同,训练集再增加其实也没有帮助了。所以我们要对训练集和测试集的产生方式有一些理解,才能判断它是不是遇到了不匹配的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值