评估方法提高深度学习模型泛化能力

三种经典的评估方法提高模型泛化能力

①留出验证:评估模型时,将数据划分为训练集、验证集、测试集。(比较适合大数据集)

在训练数据上训练模型,在验证数据上评估模型,最后在测试数据上测试最佳参数的模型。

划分为三个集合而非两个集合:训练集和测试集,是因为在模型设计时一般需要调节模型超参数,比如隐藏层数、每层神经元数等等,在这个调节学习的过程中会以验证集的性能作为反馈;

每次通过验证集调节模型的超参数,模型都会学习到验证集的信息,久而久之模型在验证集上的性能会非常好,但我们需要的是模型对全新未知数据上的性能,此时测试集就是我们所需要的。

②k折验证:将训练数据划分为大小相同的k个分区。(适合小数据集)

对于每个分区i,在其余的k-1个分区上训练模型,然后在分区i上评估模型,最终分数等于k个分区分数的平均值。

③带有打乱节奏的重复k折验证。(可用数据集很少)

执行p次k折验证,每次进行k折验证前将数据打乱,最终分数取p次k折验证的平均值。

需要注意的是,这种方法需要训练和评估p✖k次模型,计算量很大,只适合可用数据较少的情况。

防止过拟合:

①最简单的方法就是减小模型规格,即减小模型学习的参数个数(由层数与每层神经元数决定)。在验证集上评估,找到最佳的模型规格。

②添加权重正则化,即让模型权重只取较小的值,从而限制模型的复杂度。常见的有L1正则化、L2正则化。

③添加dropout正则化,对某一层使用dropout即在训练过程中随机将该层的一些输出特征舍弃(置0),dropout比率是被设为0的特征所占比例,通常在0.2~0.5之间。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值