我知道 k-means 是无监督的,用于聚类等,并且 k-NN 是有监督的。但我想知道两者之间的具体区别?
K-means和K-最近邻之间的主要区别是什么?
机器算法验证
机器学习
k-均值
k-最近邻
2022-01-19 18:12:18
4个回答
正如Bitwise在他们的回答中指出的那样,k-means 是一种聚类算法。如果涉及 k-最近邻 (k-NN),则术语有点模糊:
在分类的上下文中,它是一种分类算法,如上述答案中所述
一般来说,这是一个问题,存在各种解决方案(算法)
所以在第一个上下文中,说“k-NN 分类器”实际上可以表示解决 k-NN 问题的各种底层具体算法,并且它们的结果被解释为分类目的。
这是两件不同的事情,但您可能会发现有趣的是,k-means 算法是解决 k-NN 问题的各种可能方法之一(Marius Muja 和 David G. Lowe,“Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration”,在计算机视觉理论与应用国际会议 (VISAPP'09), 2009 PDF )
你可以有一个有监督的k-means。您可以根据标记的数据构建质心(如在 k-means 中)。没有什么能阻止你。如果您想改进这一点,欧几里得空间和欧几里得距离可能无法为您提供最佳结果。您将需要选择您的空间(例如可以是黎曼空间)并定义点之间的距离(甚至定义一个“点”)。最后两个是研究主题,它们还取决于您拥有的数据(信号)的类型(属性)。
K-means 可以为邻居节点创建集群信息,而 KNN 无法找到给定邻居节点的集群。
其它你可能感兴趣的问题