假设对于K最近邻算法,我们有一个原始的训练数据集x1,x2,...,xn
,我们测试p1
。在对p1
进行分类后,我们将p1
加入到训练数据集中。
现在最新的训练数据集是{x1,x2,....,xn,p1}
,然后我们测试p2
…依此类推。
我认为上述做法相当违反直觉,因为我们用“假”数据来训练我们的程序。但我找不到任何证明或理由来说明为什么我们不能使用这些“假”数据。
回答:
这样做只会使模型更加偏向于原始训练集,因为它使用自己的预测来更新类别之间的边界。此外,在没有提供任何真实标签的情况下,向训练集中添加更多观测值,只会使特征空间变得更加密集,降低K的影响,这可能导致过拟合的几率更高。