实践方法论#AI夏令营 #Datawhale #夏令营

在机器学习领域中,实践方法论可以很好的协助我们去训练优化模型,但有时候我们的模型甚至有可能没有从训练集中很好的学习,其可能的原因与数据集有关

1.模型偏差

有时候我们的模型可能存在偏差,所提供的假设模型过于简单,无法满足我们的需要,其范围内可能并不包括使损失进一步降低的函数,此时我们的模型灵活性不足,那么我们可以设一个更大的模型,用深度学习来增加模型的灵活性。

2.优化不到位

我们优化时通常会用梯度下降的办法,但这种方法可能只能找到局部最小值,所得到的结果不能满足我们的预期,即梯度下降这一个算法无法找出损失低的函数,存在优化不到位的问题。

那么,我们该怎么判断问题究竟是出自模型过于简单还是优化不到位呢?通常,我们可以通过比较不同的模型来判断模型现在到底够不够大。这边给大家的建议是看到一个从来没有做过的问题,可以先跑一些比较小的、比较浅的网络,或甚至用一些非深度学习的方法,比如线性模型、支持向量机(SVM),一般的如果是模型偏差,就把模型变大,但如果训练数据上面的损失小,测试数据上的损失大,就可能是过拟合,下面来讨论过拟合。

3.过拟合

首先解释一下为什么会出现过拟合的情况,例如数据不足,训练不充分,或者是特征选择不恰当,选取的特征无关导致影响了训练过程,也可能因为数据复杂度太高,导致模型过于敏感,都可能会导致过拟合现象的产生。

其一,我们可以增加训练集对模型做数据增强,即根据问题的理解创造新的训练集,这样既没有引入新的数据,也解决了问题。但是数据增强不能够随便乱做。在图像识别里面,很少看到有人把图像上下颠倒当作增强。因为这些图片都是合理的图片,左右翻转图片,并不会影响到里面的内容。但把图像上下颠倒,可能不是一个训练集或真实世界里面会出现的图像。

另一个方法是我们可以给模型追加一些限制,降低其灵活性,因为能选择的函数有限,可能就会正好选到跟真正的分布比较接近的函数,在测试集上得到比较好的结果。具体的方法有:给模型比较少的参数,给模型比较少的特征或者是,早停(early stopping)、正则化(regularization)和丢弃法(dropoutmethod)。

4.交叉验证

常见的选择模型的方法是交叉验证,即把训练数据分成两部分,一部分作训练集,一部分做验证集。举个例子,我们可以取 90% 的数据作为训练集,余下10% 的数据作为验证集。但是这边会有一个问题,如果随机分验证集,可能会分得不好,分到很奇怪的验证集,会导致结果很差,如果有这个担心的话,可以用 k 折交叉验证(k-foldcross validation)。k 折交叉验证就是先把训练集切成 k 等份。比如,训练集被切成 3 等份,切完以后,拿其中一份当作验证集,另外两份当训练集,这件事情要重复 3 次。即第一份第 2 份当训练,第 3 份当验证;第一份第 3 份当训练,第 2 份当验证;第一份当验证,第 2 份第 3 份当训练。接下来有 3 个模型,不知道哪一个是好的。把这 3 个模型,在这 3 个设置下,在这 3 个训练跟验证的数据集上面,通通跑过一次,把这 3 个模型,在这 3 种情况的结果都平均起来,看看谁的结果最好。

5.不匹配

不匹配与过拟合不同,过拟合可以通过搜集更多的数据来克服,而不匹配是指训练集与测试集分布不同,此时训练集再怎么增加也无济于事。此时,究竟匹不匹配要看我们对数据的理解,需要我们对训练集和测试集的产生方式有一定的了解,才能判断是否为不匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值