层次聚类
层次聚类方法对给定数据集进行层次的分解,直到满足某种条件为止。具体又可分为自下而上的凝聚方案和自上而下的分裂方案。
- 凝聚的层次聚类
一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足。
代表算法:AGNES算法。 - 分裂的层次聚类
采用自顶向下的一个策略,首先将所有对象置于同一个簇中,然后逐步细分为越来越小的簇,直到每个对象自成一簇,或达到某个终止条件。
代表算法:DIANA算法。
密度聚类
思想
只要样本点的密度大于某阈值,则将该样本添加到最近的簇中。
原理
将簇定义为密度相连的点的最大集合,于是能够把具有高密度的区域划分为簇,并可在有“噪声”的数据中发现任意形状的聚类。
DBSCAN算法
- 若干概念
- 算法过程
DBSCAN与k-means比较
主要优点 - 可以对任意形状的稠密数据集进行聚类
- 可以在聚类的同时发现异常点
- 聚类结果没有偏倚(初始值无影响)
主要缺点
- 若样本集密度不均匀、聚类间距相差很大,聚类质量较差
- 调参相对于传统的k-means聚类算法稍复杂,主要需要对距离阈值、领域样本数阈值联合调参,不同参数组合对最后的聚类效果有较大影响