趋近智
你已经训练了一个神经网络 (neural network),它在你用于训练的数据上取得了令人满意的准确度,可能甚至达到了99%。这很不错,但这只是故事的一半。衡量模型成功与否的最终标准不是它记住训练数据的能力;而是在它之前未遇到过的新的、未见过的数据上表现如何。这种在新输入上表现良好的能力被称为泛化。
想象一下构建一个垃圾邮件过滤器。如果它只学习识别训练中使用的确切垃圾邮件,那么它将无法应对垃圾邮件制造者不断制造的新变体。类似地,预测房价的模型需要对不在其原始数据集中的房屋有效,而医疗诊断系统必须对新患者准确。大多数机器学习 (machine learning)应用(特别是深度学习 (deep learning))的主要目标是构建能够有效泛化的模型。
我们可以认为我们关注的数据(例如,所有可能的猫狗图像,所有潜在的垃圾邮件)来自某个底层、未知的数据分布。我们的训练数据集只是从这个分布中抽取的一个有限样本。我们的目标是训练一个模型,它能学习这个分布的真实底层模式,而不仅仅是我们有限训练样本中存在的特定怪癖或噪声。
模型训练期间,模型在训练数据本身上的表现通常会被监测。损失函数 (loss function)(如交叉熵或均方误差)是常用的衡量工具,它量化 (quantization)了模型预测与训练集中真实标签之间的距离。训练集上的平均损失被称为训练误差,。
但最小化 并非我们的主要目标。我们真正想要最小化的是泛化误差(也称为测试误差),,它是模型在从同一底层数据分布中抽取的新数据点上的预期误差。
在实践中,我们无法直接衡量真实的泛化误差,因为我们无法获得完整的数据分布。相反,我们通过在一个单独的数据集上评估训练好的模型来估计它,这个数据集被称为测试集(或有时是验证集)。这个数据集包含模型在训练期间从未见过的例子。模型在这个保留集上的表现为我们提供了其泛化能力的近似值。
理想情况下,模型在测试集上的表现应与其在训练集上的表现接近。然而,特别是对于拥有大量参数 (parameter)的复杂深度学习 (deep learning)模型,通常会看到明显的差异。模型可能在训练误差上表现非常低,但在测试集上表现差很多。训练误差和测试误差之间的这种差异有时被称为泛化差距。
训练期间的常见模式。训练损失持续下降,而验证损失最初下降,随后开始上升,这表明模型开始对训练数据过拟合 (overfitting),其泛化性能正在下降。
理解这个差距为何出现以及如何减小它,对于构建有效的深度学习模型非常重要。当模型未能很好地泛化时,它通常属于两种情况之一:欠拟合 (underfitting)或过拟合。这些情况,以及诊断和解决它们的方法,构成了本课程的核心内容。我们将讲授的技术,即正则化 (regularization)和优化方法,专门旨在提升模型从训练数据泛化到未见过样本的能力。
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•