K最近邻分类中的特殊情况:相同点

这个问题是关于用于分类的KNN算法 – 训练样本的类标签是离散的。

假设训练集中有n个点与我们即将分类的新模式相同,即这些点到新观测的距离为零(或<epsilon)。这些相同的训练点可能具有不同的类标签。现在假设n < K,并且有一些其他训练点是最近邻集合的一部分,但与新观测的距离非零。在这种情况下,我们如何为新点分配类标签?

有几种可能的方法,例如:

  1. 考虑所有K(或更多,如果与最差的最近邻有平局)邻居,并进行多数投票
  2. 如果训练数据中有新点的“克隆”,则忽略非零距离的邻居,只在克隆上进行多数投票
  3. 与2相同,但分配训练数据中先验概率最高的类(在克隆中)

有什么想法吗?(也欢迎提供参考资料)


回答:

每个提议的方法在某些问题中会有效,但在另一些问题中则不会。一般来说,没有必要真正考虑这种边界情况,只需使用默认行为(您问题中的选项“1”)。事实上,如果任何分类算法的边界情况成为问题,这至少表明以下问题之一:

  • 问题定义不当,
  • 数据表示不当,
  • 数据预处理不当,
  • 使用的模型不当。

从理论上讲,如果某些点正好位于您的训练数据的位置,情况不会有任何变化。唯一的区别是,如果您有一个一致的训练集(在某种意义上,重复的不同标签不会出现在训练数据中)并且100%正确(每个标签都是该点的完美标记),那么添加一个根据点的标签回答的if子句是合理的。但在现实中,这种情况很少见。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注