小编给大家分享一下大数据开发中欠拟合、过拟合的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
这里先介绍一个名词,模型容量:通俗的讲,模型的容量或表达能力,是指模型拟合复杂函数的能力。当模型的容量越大时,函数的假设空间就越大,就越有可能找到一个函数更逼近真实分布的函数模型。
注:在卷积神经网络中,模型容量通常由网络层数、待优化参数的量来衡量。
(1)当模型的容量过大时,网络模型除了学习到训练集数据的模态之外,还把额外的观测误差也学习进来,导致学习的模型在训练集上面表现较好,但是在未见的样本上表现不佳,也就是泛化能力偏弱,我们把这种现象叫做过拟合(Overfitting)。
(2)当模型的容量过小时,模型不能够很好的学习到训练集数据的模态,导致训练集上表现不佳,同时在未见的样本上表现也不佳,我们把这种现象叫做欠拟合(Underfitting)。
那么在深度学习过程中,如何去选择合适的模型的容量呢?
统计学习理论很难给出神经网络所需要的最小容量,但是我们却可以根据奥卡姆剃刀原理(Occam’s razor)来指导神经网络的设计(也就是模型容量的选择)。
奥卡姆剃刀原理是由 14 世纪逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam)提出的一个解决问题的法则 。用在神经网络设计过程中,也就是说,如果两层的神经网络结构能够很好的表达真实模型,那么三层的神经网络也能够很好的表达,但是我们应该优先选择使用更简单的两层神经网络,因为它的参数量更少,更容易训练、更容易通过较少的训练样本获得不错的泛化误差。
通过验证集可以判断网络模型是否过拟合或者欠拟合,从而为调整网络模型的容量提供判断依据。
对于神经网络来说,网络的层数和参数量是网络容量很重要的参考指标。
因此,在模型设计过程中,解决过(欠)拟合的一般方法是:
(1)当发现模型过拟合时,需要减小网络的容量。可以通过减少网络的层数,减少每层中网络参数量的规模实现。
(2)当发现模型欠拟合时,需要增大网络的容量。可以通过增加网络的层数,减少每层网络参数来实现。
为了演示网络层数对网络容量的影响,我们做了一个可视化的决策边界的而分类实验,实验效果如下:
实验结论:
如图中所示,可以看到,随着网络层数的加深,学习到的模型决策边界越来越逼近训练样本,出现了过拟合现象。对于此任务,2 层的神经网络即可获得不错的泛化能力,更深层数的网络并没有提升性能,反而过拟合,泛化能力变差,同时计算代价更高。
以上是“大数据开发中欠拟合、过拟合的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。