凡事架不住亲自跑一把—— underfitting & overfitting

凡事架不住亲自跑一把—— underfitting & overfitting_第1张图片
按二次曲线加上随机扰动生成 10 个点

我们先拿出 5 个点来作为训练集,按直线、二次曲线、四次曲线分别做拟合:

凡事架不住亲自跑一把—— underfitting & overfitting_第2张图片
拟合曲线

目前看来,二次和四次都差不多嘛。这时候,教科书告诉我们:四次曲线过拟合了。可为什么?!!!拟合得好,有!错!吗!

呃~~让我们把剩下 5 个点画出来:

凡事架不住亲自跑一把—— underfitting & overfitting_第3张图片
原来如此

可以看到:二次曲线拟合得非常好,而直线(欠拟合)和四次曲线(过拟合)对训练集之外的点都偏离得厉害。

我们可以算算三条曲线的偏差平方和:

曲线 前 5 个点的偏差平方和 后 5 个点的偏差平方和
直线 9.63 5510.6
二次曲线 0.04 55.6
四次曲线 5.7×10^(-28) 73688.

看,不是拟合得好有问题,问题是对新数据不适应。

从上面这个例子我们可以看到,误差分为两部分:一部分来自对现有训练集的匹配误差,另一部分是对数据总体中其他数据(还未纳入训练的数据)的匹配误差。前者是对「现在」的评估(bias),后者是对「未来」的预估(variance)。所谓的最佳拟合就是在这两者之间取舍。

你可能感兴趣的:(凡事架不住亲自跑一把—— underfitting & overfitting)