K=1时KNN过拟合的原理困惑及示例需求
1-NN过拟合的具体示例
假设我们做一个简单的水果分类任务:根据「重量」和「颜色深浅」两个特征,把样本分为苹果(标签0)和橙子(标签1)。
正常的训练样本分布应该是:
- 苹果:重量100-150g,颜色深浅值20-40(偏红)
- 橙子:重量120-180g,颜色深浅值60-80(偏橙黄)
现在加入噪声样本:有一个苹果因为表皮沾了橙黄色污渍,颜色深浅值被误测为70(接近橙子的特征),这个错误样本被加入训练集,记为:(重量130g, 颜色70, 标签0)
1-NN的训练与预测逻辑
1-NN做预测时,会直接找距离最近的训练样本的标签作为预测结果。
训练集上的表现
在训练阶段,当模型遇到这个噪声样本本身时,会直接预测为标签0(苹果),完全贴合了这个错误标注——这就是「拟合噪声」。对于其他正常训练样本,1-NN也能准确匹配同类别样本,所以训练集准确率几乎是100%。
测试集上的表现
现在拿一个正常的橙子测试样本:(重量140g, 颜色65, 标签1)。计算它和所有训练样本的距离,会发现那个噪声苹果样本(130g,70)和它的距离最近。此时1-NN会把这个橙子错误预测为苹果(标签0)。
再拿一个轻微污染的苹果测试样本:(重量125g, 颜色50, 标签0),它的特征更接近正常橙子的范围,但实际是苹果。此时1-NN可能会找到距离最近的正常橙子样本,把它误判为橙子。
核心原因
- 训练集里的噪声是「错误的特征-标签配对」,1-NN因为只看最近邻,会完全信任这个错误配对,把噪声当成了有效规律。
- 测试集样本符合真实数据分布,不会刚好和训练集里的噪声样本重合,当测试样本靠近噪声的特征区域时,1-NN会基于错误的训练样本给出错误预测,无法适配真实场景的规律。
内容的提问来源于stack exchange,提问作者DYLAN NICO AMBROSI
相关产品推荐
相关产品推荐

