k=1 的 k-NN 是否总是意味着过度拟合?

机器算法验证 分类 k-最近邻 自然语言 过拟合
2022-03-17 06:47:52

我在某处发现了这样的声明,但另一方面,在我发现的一些来源中,这没关系。

在解释变量是 TF-IDF 值(余弦测量)的二元分类问题中使用 1-NN 时过拟合的风险如何?

3个回答

@jbowman 的好回答是绝对正确的,但我错过了一点。更准确地说,k=1 的 kNN 通常意味着过度拟合,或者在大多数情况下会导致过度拟合。

要了解为什么让我参考这个其他答案,其中解释了为什么 kNN 可以为您提供条件概率的估计。当 k=1 时,您根据单个样本估计您的概率:您最近的邻居。这对各种失真非常敏感,例如噪声、异常值、数据错误标记等。通过为 k 使用更高的值,您往往对这些失真更加稳健。

您的标题问题的简短回答是“否”。考虑一个带有二进制目标变量的示例,该变量在很大程度上被单个解释变量的某个值完全分开:

解释 x 目标

显然,1-NN 分类在这里可以很好地工作并且不会过拟合。(事实上​​,还有其他方法同样有效并且可能更简单,这与中心点无关。)

TF-IDF 值超出了我的专业领域,但总的来说,写得松散,目标值的值在解释值跨越的空间中的间隔越大,1-NN 分类就越有效,而不管应用领域。

冒着说明对许多读者来说显而易见的事情的风险,您需要特别小心的一件事是估计 1-NN 分类器的分类准确性。

对于分类器准确性的任何估计,您需要拆分用于训练分类器的数据(训练集)和用于测量分类器准确性的数据(测试集)。这通常使用交叉验证、引导程序等重采样技术来完成。如果您不这样做,您将高估准确性。1-NN 是该问题的最极端示例:如果您构建一个 1-NN 分类器并在相同的数据集上对其进行测试,您将获得 100% 的准确度,因为(排除平局)“最近邻”将是点本身。

即使你将训练和测试分开,如果你使用的数据不是真正独立的(比如来自同一作者的文本最终同时出现在训练和测试集中),这可能是一个问题,因此最近的邻居比它更接近如果您正确采样。