再重复。除此之外,还可以使用 ROC、PR 曲线、AUC 等度量指标评价机器学习模型的性能。
6.7.2 交叉验证
无论我们选用哪种性能度量指标来评价模型性能,都需要谨记一点:这个指标一定不能是在训练集中测定出来的,原因在讲解过拟合的时候已经讲过。通常,在建模之后要专门在独立的测试集中进行性能验证,我们一般不会将全部数据用于训练模型,否则就没有测试集对该模型进行验证,评估模型的预测效果了。为了解决这个问题,得到可用的测试集,有以下两个常用的方法。
首先是最容易想到的一个方法,即把供训练的数据按照一定比例分为两个部分,一部分用于训练,一部分用于测试,这样自然就得到训练集和测试集了。但是这个简单的方法存在两个很明显的缺点。第一个缺点是模型性能的测试结果将受到测试集和训练集划分方式的影响,这个影响往往可能是非常显著甚至决定性的。不同的测试集和训练集划分方式,将导致模型从特征参数的选取,到模型决策函数的选定,再到训练策略和优化算法都有可能做出不一样的权衡。
图 6-33 展示了用 10 种不同的划分方式在同一个训练数据集中提取不同样本作为训练集和测试集得到的均方误差,左边是模型在实际数据中测定的均方误差值,右边是 10 种不同划分方式得到的测试集中测定的均方误差值。可以看出,不同的划分方式对模型的性能指标有非常大的影响,由于评价指标的剧烈变化,它们对应的最优模型形式和算法选择必然也有很大差异。
第 6 章 机器学习概览
233