问题是关于分类的knn算法-训练样本的类标签是离散的。
假设训练集有与我们即将分类的新模式相同的n
点,即这些点到新观测点的距离为零(或<epsilon
)这些相同的训练点可能会有不同的类别标签。现在假设n < K
并且还有一些其他训练点是近邻集合的一部分,但是它们与新观测点的距离不是零。在这种情况下,如何将类标签分配给新点?
可能性很小,例如:
考虑所有k个(如果与最差的近邻有联系,则大于或等于k个)邻居,并进行多数投票
如果训练数据中有新点的“克隆”,则忽略非零距离的邻居,并只对克隆进行多数投票
与2相同。但在训练数据中(在克隆人中)分配具有最高先验概率的类
...
有什么想法吗?(也可参考文献)
最佳答案
每种建议的方法都会在某些问题上起作用,而在某些问题上则不起作用。一般来说,不需要真正考虑此类边界情况,只需使用默认行为(问题中的选项“1”)。事实上,如果任何分类算法的边界情况成为问题,则它是至少一个信号:
错误的问题定义,
错误的数据表示,
错误的数据预处理,
使用了错误的模型。
从理论的角度来看,如果某些点正好位于训练数据的位置,则没有任何变化。唯一的区别是,如果您有一致的训练集(从某种意义上说,不同标签的重复不会出现在训练数据中)并且100%正确(每个标签对于这一点来说都是一个完美的标签),那么根据该点的标签添加一个if子句是合理的。但在现实中,情况很少如此。
关于algorithm - K最近邻分类带有相同点的特例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18681120/