思考我们的猫咪分类器。一个理想的分类器(如:人为分类)会在这个任务中有着完美的表现。 假设你的算法表现如下: • 训练集上的误差 = 1% • 开发集上的误差 = 11% 这里存在什么问题呢?根据前面章节的定义我们估计它的偏差为1%,方差为10%(=11%-1%)。因此,它的方差很大,分类器在训练集上的错误率很低,但是它不能很好的泛化到开发集上,这被称为过拟合(overfitting)。 现在我们思考下面这个情况: • 训练集上的误差 = 15% • 开发集上的误差 = 16% 我们估计偏差为15%,方差为1%。这个分类器适用于训练集,虽然存在15%的误差,但是它在开发集上的误差比在训练集上的误差要高。这个分类器存在着高偏差,低方差,我们认为这个算法是欠拟合(underfitting)。 现在我们再思考这种情况: • 训练集上的误差 = 15% • 开发集上的误差 = 30% 我们估计偏差为15%,方差也为15%。这个分类器同时具有高偏差和高方差:它在训练集上的效果不是很好,因此产生了高偏差,然后它在开发集上的效果表现的更差,因此出现高方差,所以这个分类器是同时过拟合/欠拟合的,难以用术语表示。 最后思考这种情况: • 训练集上的误差 = 0.5% • 开发集上的误差 = 1% 这个分类器的效果就很好,它的偏差和方差都很低。如果是这种情况,祝贺你!