深度学习 Lecture 5 模型评估、诊断方差偏差、合理选择正则化参数

一、模型评估

训练集和测试集

用训练集去训练模型,用测试集去测试模型效果

假设现在有一个问题需要拟合回归方程,那要拟合几阶是最合适的?有以下两种方法:
1. 分别把一阶、二阶、三阶...拟合完后,计算出它们对应的测试集误差,哪个最小,就说明哪个阶最合适(这种方法不推荐,因为这种算出来的测试集误差一般低于实际误差,所以不用这种)

2.不再把数据集分为测试集和训练集,而是训练集、交叉验证集(the cross-validation set)还有测试集(比如说训练集6成,交叉验证集2成,测试集2成)

交叉验证集是一个额外的数据集,我们将使用它来检查或信任检查不同模型的有效性或准确性.

有的时候也被简称为验证集(the validation set),也叫开发集(the dev set)

这样就能通过三个数据集的代价函数来计算训练误差、交叉验证误差和测试误差

通常这三个代价函数都不包含正则化项,因为都包含在训练对象中。

交叉验证误差的代价函数也交叉验证错误、验证错误或开发错误。

这样的话,在方法2中,我们就是在方法1的基础上,计算出它们对应的交叉验证集误差,而不是直接计算测试集误差来判断,哪个的交叉验证集误差最小,说明哪个最优。如果想展示泛化误差估计这个模型在新的数据上表现会有多好,再计算测试集误差即可。

在神经网络中,也可以通过这种方式去计算哪种神经网络的参数、神经元个数选取最合适。

比如关于神经网络的分类问题,可以计算算法错误分类的交叉验证样本的比例,选择最低的交叉验证误差所在的那个神经网络即可。

注意!做决定只看训练集和交叉验证集,不用测试集

只有在确定选择哪个模型后,再来考虑测试集中设计和评估的所有选项,这样就能避免对泛化误差的过度乐观估计。

二、诊断方差偏差

建立机器学习系统的关键过程,就是如何决定下一步做什么,以及提高它的表现

而在许多运用场景下,观察算法的偏差和方差能够更好指导下一步该怎么做。

1. 如果算法有很高的偏差,或者它欠拟合:
那它的J_train 和J_cv都会很高

2. 如果算法过拟合了:

J_train很高,J_cv远低于J_train

也就是说,高偏差意味着算法在训练集上表现不好,高方差意味着在交叉验证集上表现要比训练集上差得多。

三、如何合理选择正则化参数?

使用交叉验证误差。其实就是把正则化参数的值去慢慢代入去试,去看交叉验证误差的大小。

四、如何判断方差偏差是否过高?

要建立一个基准

常见的方法是衡量人类在这项任务上能做的多好(交叉误差)

再去比较算法在测试集上的训练误差

如果相差无几就说明不是偏差的问题,说明这个准确率是可以的

但如果算法在交叉验证集上的误差远大于测试集上的训练误差,就说明是高方差的问题。

除此之外,还可以比较先前别人已经做过的算法的表现,看看差距。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq030928

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

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

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

打赏作者

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

抵扣说明:

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

余额充值