对于猫咪分类器来说,理想的分类器能达到近乎完美的效果(比如人来分类)。
假设你的算法性能如下:
- 在训练样本集上的错误率为1%
- 在开发样本集上的错误率为11%
那模型的问题出现在哪儿呢?根据上一章的结论,我们算出偏差为1%,方差为10%(11% - 1%)。方差较大,因此它的问题是高方差。模型在训练样本集上的错误率很低,但是无法泛化到开发样本集上。这种问题也称作过拟合。
再考虑下下面这类问题:
- 在训练样本集上的错误率为15%
- 在开发样本集上的错误率为16%
我们算出此时的偏差为15%,方差为1%。模型在训练样本集上表现得很差,错误率达到了15%,但是模型在开发样本集上的错误率只比在训练样本集上的错误率高一点点。这时分类器的问题是高偏差,但是低方差。此时,我们称算法发生了欠拟合。
再考虑一种情况:
- 模型在训练样本集上的错误率为15%
- 模型在开发样本集上的错误率为30%
我们算出此时的偏差为15%,方差也为15%(30% - 15%)。这时分类器既是高偏差又是高方差。模型在训练样本集上表现很差,因此它有高偏差的问题,同时模型在开发样本集上表现的更差,因此它还有高方差的问题。这时我们无法称模型是过拟合还是欠拟合,因为它既有高偏差的问题,又有高方差的问题。
最后,再考虑一种情况:
- 模型在训练样本集上的错误率为0.5%
- 模型在开发样本集上的错误率为1%
这时模型表现就很棒了,它既是低偏差又是低方差。如果模型达到这种水平,那么就恭喜你了,获得了非常好得分类器。