CoderXL's Blog

Back

模型容量#

一种衡量方式是 VC 维。称模型的输入维度所在空间为“假设空间” H\mathcal{H},那么称最大的 nn 为模型的 VC 维,使得存在 H\mathcal{H}nn 个点,对于对这 nn 个点进行的任意一种(共 2n2^n 种)二分类标号方式,模型都能够训练到完美将它们分类(又称“打散”)。 请注意这里的存在和任意。我们总是能构造一种点集,其点数小于等于 n+1n+1,却能使具有 nn 个输入的线性分类器无法将其打散。具体来说,构造这些点(本身位于 nn 维空间)在同一个 n1n-1 维超平面里面即可。

过拟合#

过拟合可以细分为两种。
一种是随着模型容量提升,模型越来越有能力并倾向于“记住”训练集,不加分辨地拟合样本中的噪声,导致在训练集上 loss 很低,但是在验证/测试集上 loss 反而比容量更小的模型要高;
另一种是同一个模型(超参数相同),随着训练轮数增加,模型对训练集的拟合也越发精确,从而将噪声错误地当成了细节,表现为随着 epoch 模型在训练集上的 loss 递减,而在验证集上的 loss 先降后升。

防止过拟合有多种方式,见 [[权重衰退]] [[丢弃法|暂退法 Dropout]]

沐神在【13 丢弃法 - QA】中(问题 26)提到的理解方式:模型容量就像是模型的智商,模型过拟合的倾向就像是模型的性格。我们首先要模型的智商高,然后通过手段调教其“性格”。存在性格和智商双强的模型,但比较少。MLP 属于智商能够很高但性格不那么好的模型。

李宏毅老师提到的更加直觉的理解:模型是有弹性的,就像是橡皮泥。弹性越高的模型,越容易过拟合,因为它不懂抓大放小,只会死扣细节,就像特别稀的橡皮泥放进模具,容易出现各种开模缝小孔这些噪声;弹性适度的模型不容易过拟合,能够保持大方向正确而容忍噪声;弹性过小的模型难以拟合,就是欠拟合。 模型的可变量(参数)越多,弹性越大。这也就是为什么 CNN 将全连接的 MLP 化简、稀疏化之后,效率和效果都更加好的原因。

模型容量、过拟合和欠拟合
https://blog.leosrealms.top/blog/2025-11-17-model-capacity-overfitting-and-underfitting
Author CoderXL
Published at 2025年11月17日
Comment seems to stuck. Try to refresh?✨