一种常见的现实情况是大多数样本都与模型判定结果的分布一致,但是有少数样本“特立独行”,不遵循模型的分布规律。如图 6-19a 所示,两个空间中各有一个点“跑”到了对方一侧的空间中,这样我们就没有办法用简单的、线性的分类器把所有样本都完美划分开了。
如果要将所有数据都划分清楚,如图 6-19b 所示是一种可能的划分方式。现在请读者思考一个问题:图 6-19a 采用简单的线性划分方式,但在训练集中有 2 个错误的样本,相比之下,图 6-19b 的图形更复杂,采用非线性的划分方式,但是在训练集中可以达到 100% 的正确率。那么,左右两边哪种模型的性能更好?
仅对训练集里的数据来说,毫无疑问右边模型的性能好,因为这个语境中的性能就是指正确率,都达到 100% 了肯定是最好的。但是,现实中我们通常应该选择左边的模型,它的性能更好的可能性更大。度量机器学习性能的最主要指标就是在测试集或新输入数据上得出的模型输出值与实际值的差距,这里必须特别强调,度量的对象应该是“测试集或新输入数据”而不是“训练集”。模型对训练集拟合得再好,但对新样本适应效果不佳,那也是毫无意义的。
我们将“泛化能力”(Generalization Ability,就是机器学习算法对新样本的适应能力)作为衡量机器学习模型性能的关键指标,性能良好的模型,不仅输出与实际差距更小,而且对满足相同分布规律的、训练集以外的数据也有良好的适应能力。
有了“泛化”的概念之后,我们再回来更精确地定义前文提到的“模型输出值与实际值的差距”中的“差距”和“对新样本的适应能力”中的“适应能力”这两个名词,这是稍后解决“如何判断某个模型是否合适”问题的关键。
206
第三部分 第三波高潮