Answers:
这些是完全不同的方法。他们俩的名字中都带有字母K的事实是一个巧合。
K均值是一种聚类算法,它试图将一组点划分为K个集(簇),以使每个簇中的点趋于彼此靠近。它是无监督的,因为这些点没有外部分类。
K最近邻是一种分类(或回归)算法,为了确定点的分类,将K最近点的分类合并在一起。之所以受到监督,是因为您试图基于已知的其他点分类来对点进行分类。
正如Bitwise在其答案中指出的那样,k均值是一种聚类算法。如果涉及k最近邻(k-NN),则该术语有点模糊:
在分类的上下文中,它是一种分类算法,如上述答案中所述
通常,这是一个问题,为此存在各种解决方案(算法)
因此,在第一种情况下,说“ k-NN分类器”实际上可以表示解决k-NN问题的各种底层具体算法,并且将其结果解释为分类目的。
这是两件事,但您可能会发现k均值算法是解决k NN问题的多种可能方法之一(Marius Muja和David G. Lowe,“具有自动算法配置的快速近似最近邻居”,国际计算机视觉理论与应用会议(VISAPP'09),2009 PDF)
您可以有监督的k均值。您可以根据标记的数据构建质心(如k均值)。没有什么能阻止你。如果您想改善这一点,欧几里德空间和欧几里德距离可能无法为您提供最佳结果。您将需要选择空间(例如,可以是黎曼空间)并定义点之间的距离(甚至定义一个“点”)。最后两个是研究主题,它们还取决于您拥有的数据(信号)的类型(属性)。