概念
机器学习聚类算法是一种无监督学习方法,旨在将数据集分割成不同的类或簇,使得同一簇内的数据对象相似性尽可能大,而不同簇之间的数据对象差异性也尽可能大。聚类算法广泛应用于新闻自动分组、用户分群、图像分割等领域。
主要聚类算法及其特点
层次聚类算法
层次法(hierarchical methods)
通过构建数据点之间的层次结构来进行聚类,可以是自底向上的凝聚方法或自顶向下的分裂方法。代表算法包括CURE和ROCK,适用于任意形状和属性的数据集,但执行时间较长。
分割聚类算法
又叫划分法(partitioning methods)
基于密度的聚类:如DBSCAN和OPTICS,能够识别任意形状的簇,并对噪声和离群点具有较好的鲁棒性。代表算法包括DENCLUE和DBCLASD,主要用于空间数据的聚类。
基于网格的聚类:如STING和CLIQUE,利用属性空间的多维网格数据结构,适用于大规模数据集,但可能降低聚类质量。
基于图论的聚类:将聚类问题转换为组合优化问题,利用图论和相关启发式算法解决,适用于复杂数据结构。
密度算法
基于密度的方法(density-based methods),基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离的,而是基于密度的。这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。
这个方法的指导思想就是,只要一个区域中的点的密度大过某个阈值,就把它加到与之相近的聚类中去。
代表算法有:DBSC