一、过拟合和欠拟合
训练误差:指模型在训练数据集上表现出的误差。
泛化误差:指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。(ML应关注此项)
如何计算训练误差或者泛化误差,可以用损失函数。【损失函数:均方误差(线性回归)、交叉熵损失函数(softmax回归)】
验证集的作用:进行模型选择。
K折交叉验证:由于验证数据集不参与模型训练,当训练数据不够用时,预留大量的验证数据显得太奢侈。一种改善的方法是K折交叉验证(K-fold cross-validation)。在K折交叉验证中,我们把原始训练数据集分割成K个不重合的子数据集,然后我们做K次模型训练和验证。每一次,我们使用一个子数据集验证模型,并使用其他K-1个子数据集来训练模型。在这K次训练和验证中,每次用来验证模型的子数据集都不同。最后,我们对这K次训练误差和验证误差分别求平均。
过拟合:模型的训练误差远小于它在测试数据集上的误差。(解决方法:权重衰减、丢弃法)
欠拟合:模型无法得到较低的训练误差。
造成这两种拟合问题的因素有很多,其中两种分别是:模型复杂度和训练数据集大小。