初读:2021年1月4日
啃书进度会在目录中标出来。本次目标是完成第三章 3.3节泛化能力(P30-P31)
这一节内容非常简短,说明也非常浅显,但实际上点名的方法有好几个,特别是提高泛化能力的具体方法部分,如果每个都展开都会是长篇大论。话说饭主现在能力是不够滴,所以暂且Mar,k混个眼熟,待功力加深后再读时讨论。
在过拟合与欠拟合部分(2.4节),介绍了泛化能力的概念,即机器学习算法对新样本的适应能力。神经网络具有大量的参数和很强的非线性变换能力,因而也很容易导致在训练集上过拟合。过拟合是指模型在训练集上准确率很高,损失很低,但在测试数据上效果很差,也就是缺乏泛化能力,不能适应新样本。从另一个角度来讲,模型在训练集上的准确度高,可能仅仅是记住了一些样本的实际标签,而没有学习到数据本身的特性,这种记忆学习在未见过的测试样本上是行不通的。
泛化能力不足的原因通常有以下几点:
-
数据有噪声
-
训练数据不足
-
训练模型(参数)过度导致模型非常复杂。
提高模型的泛化能力的一些解决方法如:
-
通过降低模型深度、宽度来减小模型复杂度
-
对数据集进行增强(Data Augmentation),如将图像旋转、平移、缩放等
-
添加有规则的噪声,例如高斯噪声
-
加入正则化项(Regularizer)控制参数复杂度
-
训练过程中使用早停法(Early Stopping)
泛化能力感觉说的就是日常中的“举一反三”,袁腾飞老师说的”学习迁移能力“。泛化能力强说的是学霸,不但书上的题全能做对,卷子上的题也全能做对。要是只会做书上的题,见了卷就麻爪,就是泛化能力不够了。不够的原因就是上面说的那几个,一个是训练不足,题做得少,经验不足。一个是有噪声,卷子题里有太多跟答案无关的条件。再有点是解题的方法单一,只能对付书上的题,就好比我在2.1节里想用最小二乘法推导一个特征的线性回归问题是可以的,但是求多个属性的线性回归问题太复杂了,改用矩阵求导的几个公式很快就解决了。这也在一定程度上说明”天下没有免费的午餐“——针对不同的数据(问题),需要不同的模型。
3.4节将介绍提高深度神经网络泛化能力的具体训练方法。
转自文章链接:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=99538
感谢作者的努力与分享,侵权立删!