首页 理论教育 评估学习算法的性能

评估学习算法的性能

时间:2022-02-11 理论教育 版权反馈
【摘要】:在第18.5节中,我们将看到如何预先估计预测的质量。显然,在在测试集上对学习到的假设进行测试之前,学习算法是不允许“看到”测试集数据的。典型的窥视是这样发生的:一个学习算法有很多不同的“旋钮”能够调整该算法的行为表现——例如,在决策树学习中的用于选择下一个属性的各种不同标准。我们为这些旋钮的各种不同设置生成假设,在测试集上度量它们的性能,并报告最佳假设的预测性能。

18.3.5 评估学习算法的性能

如果某个学习算法产生的假设能够很好地对没有见过的实例进行分类预测,那么该算法就是一个好的算法。在第18.5节中,我们将看到如何预先估计预测的质量。现在,我们将考察事后对预测的质量进行评估的一套方法。

显而易见,如果预测是真的,那么它就是好的预测,所以我们可以通过对比某个假设的预测与我们已知的正确分类,来评估该假设的质量。我们在被称为测试集的实例集合上完成这项工作。如果用所有我们可用的实例进行训练,那么我们不得不需要寻觅另外一些实例进行测试,因此往往采用如下的一套方法是更方便的:

① 选取一个大的实例集合。

② 将其分为两个不相交的子集:训练集和测试集。

③ 将学习算法应用于训练集,产生假设h。

④ 度量测试集里用h分类正确的实例的百分比。

⑤ 对不同规模的训练集以及每种规模的随机选择的训练集重复上述①到④步。

上述过程的结果是产生一个数据集,可以对其进行处理,得到作为训练集规模的函数的平均预测质量。给定某特定领域的算法的学习曲线,就能够在图中画出该函数。针对餐馆实例的DECISION-TREE-LEARNING的学习曲线如图18.7所示。值得注意的是,随着训练样本的增加,预测质量也在提高。(由于这个原因,这类曲线也称为快乐图。)这是一个好的迹象,即在数据中确实存在某种模式,而且学习算法能够将它提取出来。


图18.7 针对餐馆领域中100个随机生成的实例的决策树算法的学习曲线。该图总结了20次实验的结果

显然,在在测试集上对学习到的假设进行测试之前,学习算法是不允许“看到”测试集数据的。不幸的是,很容易就落入窥视测试数据的陷阱中。典型的窥视是这样发生的:一个学习算法有很多不同的“旋钮”能够调整该算法的行为表现——例如,在决策树学习中的用于选择下一个属性的各种不同标准。我们为这些旋钮的各种不同设置生成假设,在测试集上度量它们的性能,并报告最佳假设的预测性能。唉,窥视发生了!原因在于假设是基于它的测试集性能选择的,所以关于测试集的信息已经泄漏给学习算法了。这个故事的寓意是,任何一个涉及在测试集上比较假设性能的过程,都必须使用一个新的测试集来度量最终被选中的假设的性能。在实践中,这太难以实现了,所以人们继续在污染过的实例集上运行实验。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈