KMeans 与 DBSCAN

数据挖掘 机器学习 聚类 k-均值 数据库扫描
2022-02-14 05:11:52

我正在尝试了解一些基本的聚类技术。KMeans 和 DBSCAN 的主要区别是什么?我们可以使用这两种技术来解决同一个问题吗?

2个回答

简而言之,KMeans 是一种基于距离的聚类技术,根据数据点之间的距离,您的初始化(通常是 kmeans++)和聚类会起作用。在 kmeans 中,您初始化聚类中心,然后找到每个点与每个聚类之间的距离,然后将点聚类到它们最近的中心。在这里,我们解决的优化问题是找到簇的数量,以使每个点与其最近的簇的距离之和最小化。

kmeans的缺点是

  • 无论数据如何分散,Kmeans 都会尝试创建相同大小的集群
  • Kmeans 不适用于非球状结构
  • Kmeans 不关心数据的密集程度
  • 维度诅咒会影响高维度的kmeans,因为它使用距离测量

DBSCAN 通过处理点的密度来解决 kmeans 的一些问题。这是一种基于密度的方法。DBSCAN 的主要假设是两个密集区域被一个稀疏区域隔开。由于 DBSCAN 使用密度,它可以轻松地对非球状结构进行建模。这是 DBSCAN 的高级概述,我可以详细介绍,但这本身就是一个单独的博客。希望它有帮助

主要区别在于它们的工作方式完全不同,解决的问题也不同。

Kmeans 是一种最小二乘优化,而 DBSCAN 是寻找密度连通区域。

哪种技术适合使用取决于您的数据和目标如果要最小化最小二乘,请使用 k-means。如果您想查找与密度相关的区域,请使用 DBSCAN。

更多详细信息,请查阅教科书。