0

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

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

可能性很少,例如:

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

有任何想法吗?(参考也将不胜感激)

4

1 回答 1

2

每种提议的方法都适用于某些问题,而在某些问题中则不会。通常,无需实际考虑此类边界情况,只需使用默认行为(您问题中的选项“1”)。事实上,如果任何分类算法的边界情况成为问题,它至少是以下之一的信号:

  • 错误的问题定义,
  • 糟糕的数据表示,
  • 糟糕的数据预处理,
  • 使用了错误的模型。

从理论的角度来看,如果某些点恰好位于您的训练数据的位置,则不会发生任何变化。唯一的区别是,如果您有一致的训练集(从某种意义上说,训练数据中不会出现具有不同标签的重复项)并且 100% 正确(此时每个标签都是完美的标签),那么它将是根据点的标签添加一个 if 子句是合理的。但实际上很少有这种情况。

于 2013-09-08T06:59:55.107 回答