机器学习任务攻略

本节介绍在训练网络时的一些技巧。

如果训练好的模型表现不尽人意,第一步是检查损失函数在训练集上的表现,如果Loss太大,说明在训练资料上没学好。接下来对于多种可能的原因,给出了应对思路。

(1)Model Bias

        当模型过于简单时,可能找不到很好的函数去预测。

        解决思路:重新设计model,给它更大的弹性,如使用更多的特征、更深的网络

(2)Optimization的问题

        可能是在优化过程中陷入局部最小值。

        如何确定是model bias还是优化的问题呢?可以对比层数更少的网络或非深度学习方法(SVM)在训练数据上的误差,如果随着训练轮次的进行,层数更少的网络能够实现更小的误差,那就说明是优化存在问题。

在解决了训练Loss大的问题之后,检查在测试集上的表现,如果测试的Loss很小,说明找到了性能好的模型;但如果在测试集上的Loss很大,这就有可能是Overfitting(过拟合)的问题了。

为了解决Overfitting,最有效的方法就是增加训练数据,或data augmentation,还有一种解决思路是限制模型不要有那么大的弹性,如减少模型参数。常见的解决过拟合思路如下图所示。

下面这张图很好地解释了Validation set(验证集)的作用,对于一些公开数据集的刷榜,怎样挑选模型能够在未公开数据上也取得好的效果呢?就是训练的时候留一部分数据作为验证集,把重点放在选择验证集的Loss最小的模型。

N-fold Cross Validation方法可以帮助选择最佳的模型超参数。通过在不同的折上评估模型的性能,可以选择那些在交叉验证中表现最好的超参数组合,从而提高最终模型的性能。

N-fold Cross Validation的步骤

  1. 数据分割:将数据集分成N个大小相近的折(子集)。
  2. 训练和验证:对每一个折,使用剩余的N-1个折进行训练,使用当前折进行验证。这样,模型会进行N次训练和验证,每个折都作为一次验证集。
  3. 评估性能:计算N次验证的平均性能指标(如准确率、F1分数等),作为模型的最终性能评估结果。
  4. 选择模型:根据交叉验证的结果选择最佳的模型或超参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值