达叔的正交化(第三课3.2)

搭建机器学习系统的挑战之一就是可以尝试和改变的东西太多太多了,如有那么多的参数可以调整。达叔注意到那些效率很高的机器学习专家有个特点,他们思路清晰对于调整什么来达到某个效果,他们非常清楚,这个步骤就称之为正交化。(就像一台老式电视的很多按钮一样,通过调整某一个旋钮来达到自己想要的某种效果)

要搭建一个监督学习系统,通常需要调整旋钮来确保四件事情。首先,应该确保系统在训练集上得到的结果不错,所以训练集上的表现必须通过某种评估达到接受的程度(对于某种评估甚至达到人类水平的表现);然后再训练集上表现不错时,就希望系统在验证集有好的表现;然后,也希望在测试集上有好的表现;最后,希望系统在现实的实际使用中表现令人满意。

第一种,如果不能很好的拟合训练集,调试的办法有:

  1. 训练更大的网络;
  2. 或者是切换到更好的优化算法,如Adam优化算法等
  3. 达叔说在本周及下周一讲(等我get到后补上)

第二种,如果发现算法对验证集的拟合效果很差,调试的办法有:

  1. 可以尝试正则化以使系统满足第二个条件;
  2. 可以增大训练集,这也是一种调整方法,可以使学习算法更好的归纳开发集的规律;

补充1:

达叔在可避免偏差(Avoidable bias)这一节中再次提到了前两种情况发生时的解决办法:

如果说模型的training error和bayes error相差相差较大,表明模型的效果不好,解决办法有:先聚焦在减小training error上,如用更大的网络结构,跑久一点梯度下降

如果说模型的training error与bayes error(或者可以近似为人类误差human error)相差很小,但是training error和val error相差很大,表明方差很大,可以考虑减小方差,具体的方法有:正则化、更大的网络结构、更多的训练数据;

可避免偏差:把bayes error和training error之间的差距称为可避免偏差(Avoidable bias);

补充2:

达叔在第12节改善模型表现这一节中,提出了一个提高算法性能的指导方针,首先提出之前先做两个基本假设:①在正常情况下,模型能够在训练集上表现很好,即可避免偏差很小;②训练表现很好的模型,在验证集和测试集上也可以取得很好的效果,即方差很小。

第一,可避免偏差(bayes error和training error之间的差距)。可以尝试的办法有:训练更大的model、训练更久、用更好的优化算法(如:momentum、RMSprop、Adam等)、寻找更好的新的神经网络结构、更好的超参数(包括改变激活激活函数、改变层数、隐藏层单元数、)

第二,方差(training error和val error之间的差距)。可以尝试的方法有:收集更多的数据(可以更好地推广到系统看不到的验证集数据)、正则化(如l2、Dropout、data augmentation)、超参数搜索等。


第三种,如果在测试集上的效果不好,调试的方法有:

  1. 需要更大的验证集,因为在验证集上效果不错,但是在测试集上不好,可能是对验证集过拟合了,所以需要退回一步用更大的验证集 

第四种,如果在测试集上做的很好,但是在现实使用中效果却一般,解决的办法有:

  1. 返回去改变验证集或者cost function,因为如果根据某个成本函数,系统在测试集上做的很好,但无法反映算法在现实中的表现,意味着验证集分布设置不正确或者是成本函数测量的指标不对。 

具体的细节,达叔会在后面的几节课里面进行详细的介绍。

补充:达叔提到,他一般不会使用earlystopping,以为这会同时改变在训练集和验证集上的效果,也就是earlystopping没有那么好的正交化效果。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值