这一节你将懂得过度拟合的一般原因和解决定计划略。
诺贝尔奖获得者,物理学家恩⾥科·费⽶有⼀次被问到他对⼀些同僚提出的⼀个数学模型的意⻅,这个数学模型测验测验解决⼀个重要的未解决的物理难题。模型和实验⾮布匹配,然则费⽶却对其产⽣了困惑。他问模型中须要设置的⾃由参数有若干个。谜底是“4”。费⽶答复道 6 :“我记得我的同伙约翰·冯·诺伊曼页堪玻说,有四个参数,我可以模仿⼀头⼤象,⽽有五个参数,我还能让他卷鼻⼦。”
这⾥,其实是说拥有大年夜量的⾃由参数的模许可以或许描述特别神奇的现象。即使如许的模许可以或许很好的拟合已有的数据,但并不表⽰是⼀个好模型。因为这可能只是因为模型中⾜够的⾃由度使得它可以描述⼏乎所有给定⼤⼩的数据集,⽽不须要真正洞察现象的本质。所以发⽣这种情况时,模型对已有的数据会表示的很好,然则对新的数据很难泛化,对⼀个模型真正的测验就是它对没有⻅过的场景的猜测能⼒。
费没赝冯·诺伊曼对有四个参数的模型就开端困惑了,我们⽤来对 MNIST 数字分类的 30 个隐蔽神经元神经⽹络拥有将近 24,000 个参数!当然很多,我们有 100 个隐蔽元的⽹络拥有将近80,000 个参数,⽽⽬前最先辈的深度神经⽹络包含百万级或者⼗亿级的参数。我们应当信烂魅这些结不雅么?
让我们经由过程构造⼀个收集泛华能⼒很差的例⼦使这个问题更清楚。我们的⽹络有 30 个隐蔽神经元,共 23,860 个参数,然则我们不会使⽤所有 50,000 幅 MNIST 练习图像,相反,我们只使⽤前 1,000 幅图像。使⽤这个受限的集合,会让泛化的问题突显。我们按照之前同样的⽅式,使⽤交叉熵价值函数,进修速度设置为 η = 0.5 ⽽⼩批量数据⼤⼩设置为 10,不过这⾥我们要练习 400 个迭代期,⽐前⾯的要多⼀些,因为我们只⽤了少量的练习样本。
使⽤膳绫擎的结不雅,我们可以画出当⽹络进修市价值变更的情况:
练习集上的价值函数持续降低,和前⾯无规范化的情况⼀样的规律:
这看起来令人振奋,因为价值函数有⼀个滑腻的降低,跟我们预期⼀致。留意,我只是展⽰了 200 到 399 迭代期的情况。
让我们看看分类精确率在测试集上的表示:
这里我照样聚焦到了后⾯的过程。在前 200 迭代期(图中没有显⽰)中精确率晋升到了 82%。然后进修逐渐变缓,最终,在 280 迭代期阁下分类精确率就停⽌了增⻓,后⾯的迭代期,仅仅看到了在 280 迭代期精确率四周随机的⼩波动,将这幅图和前⾯的图进⾏对⽐,前⾯的图中和练习数据相干的价值持续腻滑降低,如不雅我们只看那个价值,会发明我们模型的表示变得“更好”,然则测试精确率展⽰了晋升只是⼀种假象,就像费⽶不⼤爱好的那个模型⼀样,我们的⽹络在 280 迭代期后就不在可以或许推⼴到测试数据上,所以这不是有⽤的进修,我们说⽹络在 280迭代期后就过度拟合(overfitting)或者过度练习(overtraining)了。
所以我们的收集实际上在进修练习数据集的特例,⽽不是可以或许⼀般地进⾏辨认,我们的⽹络⼏乎是在纯真记忆练习集合,⽽没有对数字本质进⾏懂得可以或许泛化到测试数据集上。
过度拟合是神经收集的⼀个重要问题。这在现代⽹络中特别正常,因为⽹络权重和偏置数量巨⼤,为了⾼效地练习,我们须要⼀种检测过度拟合是不是发⽣的技巧,如许我们不会过度练习,并且我们也想要找到⼀些技巧来降低过度拟合的影响。
检测过度拟合的明显办法是使⽤上⾯的⽅法 —— 跟踪测试数据集合上的精确率随练习变更情况,如不雅我们看到测试数据上的精确率不再晋升,那么我们就停⽌练习。当然,严格地说,这其实并⾮是过度拟合的⼀个须要现象,因为测试及谕练习集上的精确率可能会同时停⽌晋升,当然,采⽤如许的策略是可以阻⽌过度拟合的。
我们已经研究了只使⽤ 1,000 幅练习图像时的过度拟合问题。那么如不雅我们使⽤所有的50,000 幅图像的练习数据会发⽣什么?我们会保存所有其它的参数都⼀样(30 个隐蔽元,进修速度 0.5,小批量数据范围为 10),然则迭代期为 30 次,下图展⽰了分类精确率在练习和测试集上的变更情况。
如你所⻅,测试及谕练习集上的精确率相⽐我们使⽤ 1,000 个练习数据时相差更小。特别地,在练习数据上的最佳的分类精确率 97.86% 只⽐测试集上的 95.33% 精确率⾼了 1.53%。⽽之前的例⼦中,这个差距是 17.73%!过度拟合仍然发⽣了,然则已经减轻了不少,我们的⽹络大年夜练习数据上更好地泛化到了测试数据上,⼀般来说,最好的降低过度拟合的⽅式之⼀就是增长练习样本的量,有了⾜够的练习数据,就算是⼀个范围⾮常⼤的⽹络也不⼤轻易过度拟合,不幸的是,练习数据其实是很难或者很昂贵的资本,所以这不是⼀种太切实际的选择。
推荐阅读
就像你看到的,这个函数返回一个 promises,将会赋值给 val,猜一下生成器和异步函数示例做了什么!无论你在这个函数返回了什么,你其实是暗地里返回一个 promise 解析到那个值。如不雅你>>>详细阅读
本文标题:理解深度学习的钥匙–参数篇
地址:http://www.17bianji.com/lsqh/34849.html
1/2 1