今日开始,按章节切分文件,不再单纯按照日期来了,否则文件数量增加太快。
规定一下目录等级:

  1. 章节在最前面,用一级标题
  2. 日期也是一级标题
  3. 其他小章节,直接按所在的目录等级标配。 这样,就是章节没有子目录了,也没必要有,因为文件名称就是章节,这里给写上,完全时方便看目录

第八章 性能评估

2026年3月31日

第109~109页 占用了后一天的日期,所以这里时3.31

引言中,作者说神经网络可以完美适配训练数据,但是对于新的测试数据,就不一定能够适配的上,原因有

  1. 任务本身的不确定性
  2. 训练数据的量
  3. 模型的选择不同

今日思考

学习是一个过程,需要有自己的思考,以后这种学习,都安装先理解,在摘要的过程去记录,不能单纯的追求数量

2026年04月01日 第二十二天

第109~112页

8.1 训练一个简单的模型

讲解的是一个训练过程,在一个训练集上,进行的训练,在训练集获得了比较好的结果,但是在测试集上,有40%的误差率,虽然比90%的误差率低很多,但是在实际的应用中,依然不可接受。

作者画了几个图,来表示这个训练的过程,从图里面可以看到训练的过程中,损失函数在一定范围内下降之后,旧没有再次下降了。

作者还提到了 softmox 函数可能的问题。

8.2 错误的来源

举出的一个后续表示错误来源的例子。一个近似正弦函数的随机采样,通过封闭形式进行拟合训练,保障找到损失函数的最小值。

8.2.1 噪声、偏差与方差

解释了三种概念

  1. 噪声,就是在训练数据生成的时候的数据记录随机性,由于引入了高斯分布的随机值,就不可能完全的匹配会原始的函数;
    1. 数据生成的随机
    2. 实际数据的噪声,数据标记错误
    3. 等等原因
  2. 偏差,模型不够灵活,不能够完全的匹配原始函数;
  3. 方差,仅有的训练样本,不足以区分系统性的变化和随机噪声。在拟合函数上的额外变异性,称为方差。同时,随机学习算法本身也具有的随机性,导致不可能每次都收敛到同一个解。

2026年04月02日 第二十三天

第113~116页

8.2.2 测试误差的数学公式

作者通过一系列的计算公式,证明了系统中存在的上述的三个期望损失内容

  1. 方差是由于特定训练数据集样本导致的拟合模型的不确定性;
  2. 偏差是模型与我们试图建模的函数均值之间的系统性偏离;
  3. 噪声是输入到输出的真实映射中固有的不确定性。

8.3 降低误差

噪声不可避免,是模型性能的基本极限

8.3.1 减少方差

方差是由训练数据集的有限性导致的,所以可以增加训练集来减少方差。

8.3.2 减少偏差

偏差是由于模型无法很好的模拟真实函数,所以可以通过增加系统容量达到减少偏差的目的。对于神经网络而言,就是增加隐藏层或者单元数。

简化模型可以看出,增加之后,确实由明显的效果

2026年04月02日 第二十四天

第116~126页

8.3.3 偏差-方差权衡

增加模型容量并不一定能够降低测试误差,这就是所谓的偏差-方差权衡

随着模型容量的增加,偏差会减少,但是方差会增长。存在一个最佳容量,偏差不过分同时方差尽可能的相对较小。

8.4 双下降现象

神奇了,相对于前面的训练模型,本节介绍的是一种偏差与方差同时下降的现象,描述了训练系统中存在的不确定性,居然可以降低到几乎是0点,后续有对于这一现象的解释。

8.4.1 解释

  1. 当模型刚好记住训练集时,损失会暂时恶化
  2. 当模型容量继续增加时,测试性能会进一步提升。

作者还提到了在高维空间里面,训练数据集是极其稀缺的,高容量模型,可能在训练点之间构造出平滑函数,这样就能够更好的匹配到测试数据集。

但是为什么会出现这种平滑呢?

8.5 超参数的选择

现代的模型阶段,预判增加多少容量能够将损失降到最低,是困难的。

深度神经网络,模型容量取决于

  1. 隐藏单元的数目
  2. 每层的单元数量
  3. 未提及的架构等
  4. 选择的学习算法

超参数的选择,是一个尝试的过程,从不同的组合中,选择一个最优的情况。

基础数据集,分为三种

  1. 训练集,就是用来训练的数据集
  2. 验证集,就是用来验证模型取得最佳性能的集合
  3. 测试集,用来评估模型的性能 三板斧下来,就能够选取到最佳模型。但是我感觉吧,这也是不完备的,因为验证集上并不能完整的所有模型都取验证,就有可能错过实际的最佳模型,这就无解了, 因为不可能验证完所有的模型。