吴恩达deeplearning.ai:模型选择&交叉验证测试集的训练方法

本文介绍了如何使用测试集评估模型性能,提出通过交叉验证避免模型选择中的乐观估计,以三个子集(训练集、交叉验证集和测试集)确保模型的泛化能力,以手写识别为例演示了这一过程。
摘要由CSDN通过智能技术生成

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏
在上一节中,我们了解了如何利用测试集来评估模型性能。今天我们来进一步完善这个想法,让你使用该技术自动选择一个更好的模型。


模型选择

上一节我们了解到,当你的模型很好地拟合训练集的时候,训练集的代价函数就不能很好地表示模型准确度(因为其代价函数基本为0),这将远远低于泛化误差(在新数据上的误差)。在此时,测试集的代价函数就比训练集的代价函数能够更好地反映模型的准确程度了。那么我们该如何利用测试集来选择更好的模型嘞。
在这里插入图片描述
以上是十个不同特征数量的模型,我们如何从中选择一个合适的模型呢?我们可以依次用这十个模型对数据进行拟合并计算出 J t e s t J_{test} Jtest,通过J的大小来判断谁的效果更好。
例如你在测试完这十个模型后,发现 d = 5 d=5 d=5时, J ( w [ 5 ] , b [ 5 ] ) J(w^{[5]},b^{[5]}) J(w[5],b[5])的值为最小,那么你可能会认为模型5的效果是最好的。
但是事实上,我们所测得的J可能是一种乐观的估计,它可能比真实的J要小些,原因是我们忽略了另一个变参数,就是d的大小。有可能就是恰好这个测试集的数据分布离d=5的函数比较近一些,无法排除偶然性。这个我觉得其实乍一看挺难理解的。可以做一个类比,测试集上的d就类似于训练集上的w和b,它们都是通过各自的数据集所选出来的,所以不能在各自的数据集上进行验证。因此在选择模型的时候,并不能采用这种方法。

交叉验证 Cross Validation

以上问题的解决方法是,将数据分为三个不同的子集,分别是训练集,交叉验证集(也可叫做验证集、开发集 dev set),以及测试集。
在这里插入图片描述
如上图,我们将数据集的60%设置为训练集,20%设置为交叉验证集,剩下20%为测试集。
我们使用以下三个数学公式分别计算其代价函数:
训练集误差:
J t r a i n ( w , b ) = 1 2 m t r a i n [ ∑ ( f − y ) 2 ] J_{train}(w,b)=\frac{1}{2m_{train}}[\sum (f-y)^2] Jtrain(w,b)=2mtrain1[(fy)2]
交叉验证集误差:
J c v ( w , b ) = 1 2 m c v [ ∑ ( f − y ) 2 ] J_{cv}(w,b)=\frac{1}{2m_{cv}}[\sum (f-y)^2] Jcv(w,b)=2mcv1[(fy)2]
测试集误差:
J t e s t ( w , b ) = 1 2 m t e s t [ ∑ ( f − y ) 2 ] J_{test}(w,b)=\frac{1}{2m_{test}}[\sum (f-y)^2] Jtest(w,b)=2mtest1[(fy)2]
如此,在上面那个例子中,模型选择的方法是这样的:首先在训练集训练从而找到合适的w,b;然后在交叉验证集上测试不同的d谁的价值函数最小,最后,在测试集上测试代价最小的d的模型的泛化能力。

交叉验证例子之手写识别

交叉验证集同样也可以用于别的模型,例如我们之前了解的手写识别。
在这里插入图片描述
例如你有三个神经网络模型架构,你想从中选择效果最好的模型。那么步骤仍然和以前一样,先在训练集上得出参数w,b,然后在交叉验证集上获得代价函数最小的架构,再在测试集上证明其泛化能力。这样的步骤可以确保好的效果不是因为数据所造成的偶然结果。
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江安的猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值