1.原型聚类:典型的做法是K-means,首先设定k个类别,随机的在总体样本中选择k个样本作为聚类中心,然后遍历所有样本点,把所有样本点分类到k个类中(以最短距离为标准),然后更新k个样本的样本中心,再重新划分所有的样本点。停止条件可以设定为样本的变化幅度不大的情况,或者两次的损失函数变化不大的情况。

优点:简单、时间复杂度、空间复杂度低

缺点:随机初始化的中心点对结果影响很大;

2.层次聚类:就是对所有数据点中最为相似的样本点进行组合,然后更新样本中心(就是用一个样本中心代替这两个样本点),然后反复迭代,直到所有的样本点都结合之后,结束。

优点:层次聚类最主要的优点是集群不再需要假设为类球形。另外其也可以扩展到大数据集。

缺点:有点像 K 均值聚类,该算法需要设定集群的数量(即在算法完成后需要保留的层次)。


3密度聚类:典型如DBSCAN,需要设定半径Eps,和指定数目MinPts,所有的样本点以半径Eps画圆,然后所有样本点被覆盖的圆的数目多于指定数目MinPts时,被认为是核心点,在半径Eps内点的数量少于MinPts,但是落在核心点的领域内,被认为是边界点,既不是核心点也不是边界点,那就是噪点。区分出所有的点之后,删除噪点,然后把所有连通的核心点连接成簇。优点:优点:DBSCAN 不需要假设集群为球状,并且它的性能是可扩展的。此外,它不需要每个点都被分配到一个集群中,这降低了集群的异常数据。

缺点:用户必须要调整【Eps】和【MinPts】这两个定义了集群密度的超参数。DBSCAN 对这些超参数非常敏感。


4.网络聚类:将d维数据空间的每一维平均分成等长的区间段,就是把数据划分成一些网格单元,如果一个网格单元所包含的样本数量大于某个阈值,则定义为高密度区,否则定义为低密度区。如果一个低密度区的周围都是低密度区,那这点区域被认定为是噪点,然后连接相邻的高密度单元。优点是能够处理大规模数据,可伸缩性好,算法结果不受输入顺序影响,结果简单方便理解。缺点是:参数不好设置,对噪点不好处理,效果不一定好。当d较大时,数量过大,计算量过于庞大。