我正在研究Andrew Ng的机器学习课程,他说其中许多功能和较少的数据会导致过拟合。有人可以详细说明吗。
答案 0 :(得分:2)
通常,您拥有的数据越少,模型就越能更好地记住训练集中的异常,这会导致训练的准确性很高,而测试集的准确性却很低,因为您的模型会概括从小型训练集中学到的知识。
例如,考虑贝叶斯分类器。我们要根据以下内容预测学生的数学成绩:
我们知道最后一个功能可能无关紧要。如果我们有足够的数据,我们的模型将了解到该数据是无关紧要的,因为如果我们的数据集足够大,将会有一个不同身高的人获得不同的等级。
现在考虑一个非常小的数据集(例如,仅一个类)。在这种情况下,学生的成绩与身高无关的可能性很小(例如,高个子的学生会好于或低于平均水平)。因此我们的模型将能够利用该功能。问题在于我们的模型已经了解到训练数据集之外不存在的坡度和身高之间的相关性。
也可以采用其他方式,我们的模型可能会发现,上学期获得良好成绩的每个人都将在本学期获得好成绩(因为这可能包含在较小的数据集中),并且根本不使用其他功能。
正如我之前提到的,一个更普遍的原因是该模型可以存储数据集。总有一些外层样本,很难对其进行分类。当数据量较小时,该模型可以找到检测这些外层的方法,因为它们很少。但是,它将无法预测测试集中的实际异常值。