Datawhale X 李宏毅苹果书 AI夏令营:实践方法论

在应用机器学习算法时,实践方法论可以帮助更好地训练模型。如果在 Kaggle 上的测试结果不佳,应首先检查训练数据的损失情况。如果模型在训练数据上的损失很大,说明它在训练集上没有学好。此时,应分析模型在训练集上未能学好的原因,再进一步优化。

模型偏差

模型偏差可能会影响模型训练,如果模型过于简单,无法表示降低损失的函数。在这种情况下,即使找到最优参数 θ∗,损失也可能较高,因为模型的函数集合不够大。这时可以通过重新设计模型、增加输入特征或使用深度学习来提高模型的灵活性,例如,预测未来观看人数时,可以使用更多天的数据作为输入。增加特征和模型复杂度是应对模型偏差的一种方法,但训练时损失大并不总是由模型偏差引起,也可能是由于优化不足。

优化问题

在优化机器学习模型时,常用的方法是梯度下降,但它有时会陷入局部最小值,无法找到损失最低的参数。虽然模型中可能存在低损失的函数,但梯度下降可能无法找到它们。如果训练数据的损失很大,需要判断是模型偏差还是优化问题。通过比较不同深度的模型,可以帮助判断当前模型是否足够大。例如,在一个实验中,20层的网络比56层的网络表现更好,表明56层网络的优化没做好,而不是过拟合。建议在解决新问题时,先使用简单模型,如浅层网络或非深度学习方法,以确定基本的损失水平。如果简单模型的损失低于复杂模型,说明可能是优化问题,而不是模型偏差。总之,当训练损失大时,需先确认是否是优化不足,如果是偏差问题,则应增大模型;如果优化正常且训练损失小,但测试损失大,可能是过拟合。

过拟合

过拟合的情况通常发生在模型对训练数据拟合得太好,但无法在测试数据上泛化的情况下。例如,一个极端的例子是,模型对训练集的每个输入都能完全正确输出相应的标签,但对训练集中未出现的输入则输出随机值,这样模型在训练集上的损失为零,但在测试集上的损失可能很大。过拟合问题可以通过增加训练数据或进行数据增强来缓解,数据增强需要根据问题特性来合理选择。此外,还可以通过限制模型的灵活性来防止过拟合,例如减少模型参数数量、使用更简单的模型结构、早停、正则化等方法。然而,过度限制模型也会导致模型偏差,影响测试结果。在选择模型时,需找到一个平衡点,即模型复杂度既不能太高导致过拟合,也不能太低导致模型偏差。如果模型太复杂,测试损失会先下降后上升,反映出过拟合的发生。因此,选择一个在测试数据上表现最佳的模型非常重要,且应避免仅依赖于公开测试集上的表现来选择模型。这样才能确保模型在私人测试集上的表现不会因为过度依赖公开测试集的表现而出现偏差。

交叉验证

合理选择模型的方法是将数据集分为训练集和验证集,通常用90%的数据作为训练集,10%的数据作为验证集。在训练集上训练模型后,通过验证集来评估模型的性能,并根据验证集上的分数选择最好的模型进行提交,这样可以更好地反映模型在实际测试集上的表现。不过,如果根据公开测试集的结果调整模型过多次,仍然有可能在公开测试集上出现过拟合,从而导致在私人测试集上表现较差。因此,建议选择验证损失最小的模型,而不应过多依赖公开测试集的结果。

为了避免因验证集的随机分割导致的结果偏差,可以使用k折交叉验证方法。k折交叉验证将训练集分成k等份,每次取其中一份作为验证集,其余份作为训练集,重复k次后,将所有结果平均以得到更稳定的模型选择标准。

不匹配

这种情况会导致模型在训练数据上表现良好,但在测试数据上表现不佳,因为测试数据的特征或模式与训练数据不一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值