问题在标题中。但是我也想知道,如果不同,区别的本质是什么?
支持向量聚类是一种实现 k-means 的方法,还是一种不同的聚类算法?
算法完全不同。它们之间唯一的共同点是它们都是聚类算法。
K-means 搜索 K 个中心,并将点附加到它们,这样:
- 每个点都连接到最近的中心
- 每个中心是连接到它的所有点的平均值(重心)
它是迭代完成的。我们从随机中心开始,将每个点附加到最近的中心,将每个中心移动到附加到它的点的平均值,将每个点重新附加到最近的中心,将每个中心移动到现在附加到它的点的平均值,依此类推,直到迭代收敛。
最后我们有 K 个中心,每个中心都“拥有”所有离它比任何其他中心更近的点。
隐藏的假设是有 K 个“真实”簇,每个簇都围绕其中心正态分布,并且所有正态分布都是球形的并且具有相同的半径。
支持向量聚类有以下思想:让我们将点从它们的空间转换到更高维的特征空间。在这个特征空间中找到一个最小的封闭球体。在原始空间中,球体变成了一组分离区域。每个区域成为一个集群。(还有一些重要的细节,比如我们如何选择特征空间,我们如何进行转换,以及我们如何定义不相交的区域。)
这些不相交的区域与 K-means 算法中 K 个中心周围的区域完全不同。例如,在二维中,K-means 区域是多边形。SVC 的区域是变形虫样区域。
它们不一样。
高级别的区别是 k-means 不使用内核,因此集群之间有黑白边界,其中 SVC 使用高斯内核。内核的意义在于它允许在边界处平滑过渡而不是硬更改。
介绍支持向量聚类的论文由 Horn、Ben-Hur、Siegelman 和 Vapnick (2001) 撰写,可在此处获取 - http://www.jmlr.org/papers/volume2/horn01a/rev1/horn01ar1.pdf。
但是,要了解支持向量中的决策边界是如何工作的,从支持向量机上的维基百科页面或早期的 CV 答案开始可能会更有用: 帮助我理解支持向量机
我看到在回答您提出的另一个问题时,建议阅读 Hastie 等人的《统计学习要素》。在本文中对 k-means 和支持向量机中决策边界的解释特别好。