【聚类算法的类型】
聚类算法可分为三种类型:
- 原型聚类(Prototype-based Clustering):假设聚类结构能够通过一组原型求解
- 通常算法先对原型进行初始化,然后进行迭代求解
- 不同的原型表示、不同的迭代求解方式,将会产生不同的原型聚类算法
- 常见的原型聚类算法有:K-Means、高斯混合模型 GMM 等
- 密度聚类(Density-based Clustering):假设聚类结构能通过样本分布的紧密程度确定
- 从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇来获得最终的聚类结果
- 常见的密度聚类算法有:DBSCAN 等
- 层次聚类(Hierarchical Clustering):试图在不同层次对数据集进行划分,从而形成树形的聚类结构
【硬聚类与软聚类】
- 硬聚类(Hard Clustering):每个数据点都被精确地分配到一个簇
- 软聚类(Soft Clustering):也称模糊聚类,允许数据点属于多个成员程度不同的簇
- 当聚类之间的界限没有明确界定,或者数据点有重叠的特征时,常采用该种聚类方法
- 适用于有重叠或不明确的分组边界的情况
- 常用的软聚类算法有: 高斯混合模型 GMM 等
简单来说,硬聚类和软聚类之间的区别在于它们对数据点的分组方法,两者关系如下:
- 灵活性:软聚类相较于硬聚类更加灵活,因为它允许数据点在多个聚类中有不同程度的成员资格,这在集群之间的界限不明确或数据中存在噪音的情况下特别有用。
- 可解释性:硬聚类提供了一个更简单和更直接的结果解释,软聚类中的成员资格值可能需要额外的解释和分析,以确定聚类分配的适当截止点
- 噪声敏感度: 硬聚类方法对噪声和异常值很敏感,因为它们会大大影响聚类的分配,软聚类对噪声更加稳健,因为成员价值可以容纳与数据点相关的不确定性