今日开始,按章节切分文件,不再单纯按照日期来了,否则文件数量增加太快。
规定一下目录等级:
- 章节在最前面,用一级标题
- 日期也是一级标题
- 其他小章节,直接按所在的目录等级标配。 这样,就是章节没有子目录了,也没必要有,因为文件名称就是章节,这里给写上,完全时方便看目录
第八章 性能评估
2026年3月31日
第109~109页 占用了后一天的日期,所以这里时3.31
引言中,作者说神经网络可以完美适配训练数据,但是对于新的测试数据,就不一定能够适配的上,原因有
- 任务本身的不确定性
- 训练数据的量
- 模型的选择不同
今日思考
学习是一个过程,需要有自己的思考,以后这种学习,都安装先理解,在摘要的过程去记录,不能单纯的追求数量
2026年04月01日 第二十二天
第109~112页
8.1 训练一个简单的模型
讲解的是一个训练过程,在一个训练集上,进行的训练,在训练集获得了比较好的结果,但是在测试集上,有40%的误差率,虽然比90%的误差率低很多,但是在实际的应用中,依然不可接受。
作者画了几个图,来表示这个训练的过程,从图里面可以看到训练的过程中,损失函数在一定范围内下降之后,旧没有再次下降了。
作者还提到了 softmox 函数可能的问题。
8.2 错误的来源
举出的一个后续表示错误来源的例子。一个近似正弦函数的随机采样,通过封闭形式进行拟合训练,保障找到损失函数的最小值。
8.2.1 噪声、偏差与方差
解释了三种概念
- 噪声,就是在训练数据生成的时候的数据记录随机性,由于引入了高斯分布的随机值,就不可能完全的匹配会原始的函数;
- 数据生成的随机
- 实际数据的噪声,数据标记错误
- 等等原因
- 偏差,模型不够灵活,不能够完全的匹配原始函数;
- 方差,仅有的训练样本,不足以区分系统性的变化和随机噪声。在拟合函数上的额外变异性,称为方差。同时,随机学习算法本身也具有的随机性,导致不可能每次都收敛到同一个解。
2026年04月02日 第二十三天
第113~116页
8.2.2 测试误差的数学公式
作者通过一系列的计算公式,证明了系统中存在的上述的三个期望损失内容
- 方差是由于特定训练数据集样本导致的拟合模型的不确定性;
- 偏差是模型与我们试图建模的函数均值之间的系统性偏离;
- 噪声是输入到输出的真实映射中固有的不确定性。
8.3 降低误差
噪声不可避免,是模型性能的基本极限
8.3.1 减少方差
方差是由训练数据集的有限性导致的,所以可以增加训练集来减少方差。
8.3.2 减少偏差
偏差是由于模型无法很好的模拟真实函数,所以可以通过增加系统容量达到减少偏差的目的。对于神经网络而言,就是增加隐藏层或者单元数。
简化模型可以看出,增加之后,确实由明显的效果
2026年04月02日 第二十四天
第116~126页
8.3.3 偏差-方差权衡
增加模型容量并不一定能够降低测试误差,这就是所谓的偏差-方差权衡
随着模型容量的增加,偏差会减少,但是方差会增长。存在一个最佳容量,偏差不过分同时方差尽可能的相对较小。
8.4 双下降现象
神奇了,相对于前面的训练模型,本节介绍的是一种偏差与方差同时下降的现象,描述了训练系统中存在的不确定性,居然可以降低到几乎是0点,后续有对于这一现象的解释。
8.4.1 解释
- 当模型刚好记住训练集时,损失会暂时恶化
- 当模型容量继续增加时,测试性能会进一步提升。
作者还提到了在高维空间里面,训练数据集是极其稀缺的,高容量模型,可能在训练点之间构造出平滑函数,这样就能够更好的匹配到测试数据集。
但是为什么会出现这种平滑呢?
8.5 超参数的选择
现代的模型阶段,预判增加多少容量能够将损失降到最低,是困难的。
深度神经网络,模型容量取决于
- 隐藏单元的数目
- 每层的单元数量
- 未提及的架构等
- 选择的学习算法
超参数的选择,是一个尝试的过程,从不同的组合中,选择一个最优的情况。
基础数据集,分为三种
- 训练集,就是用来训练的数据集
- 验证集,就是用来验证模型取得最佳性能的集合
- 测试集,用来评估模型的性能 三板斧下来,就能够选取到最佳模型。但是我感觉吧,这也是不完备的,因为验证集上并不能完整的所有模型都取验证,就有可能错过实际的最佳模型,这就无解了, 因为不可能验证完所有的模型。