各类聚类算法的特点和优缺点1. K-means聚类特点:需要提前预知类的数量。基于距离聚类,通过计算数据点到聚类中心的距离来进行分类。优点:速度快,计算简便,适合处理大规模数据集。缺点:对初始随机种子点敏感,不同随机种子点可能导致完全不同的聚类结果。需要事先确定聚类数量K,这对某些应用场景来说可能是一个挑战。变体:K-medians:使用数据集的中位数而不是均值来计算中心点,对异常值更鲁棒。K-means++:改进了初始种子点的选择策略,优先选择彼此相距很远的点作为初始中心点。2. 均值漂移(MeanShift)聚类特点:不需要预知类的数量。基于滑动窗口,通过不断移动窗口来找到数据点的密集区域,形成聚类。优点:基于密度的算法,相比K-means受均值影响小,对异常值和噪声更鲁棒。缺点:窗口半径r的选择对聚类结果有较大影响,但选择可能并不直观。3. DBSCAN(密度聚类算法)特点:不需要预知类的数量。通过任选一个核心对象为“种子”,再由此出发确定对应的聚类簇,形成密度相连的聚类。缺点:需要确定距离阈值r和最小点数minPoints,这两个参数的选择对聚类结果有很大影响。对高维数据和稀疏数据集可能效果不佳。4. 高斯混合(Mixture-of-Gaussian)聚类特点:需要预知类的数量。假设数据点是呈高斯分布的,用均值和方差两个参数来描述每个聚类。优点:簇可以呈现出椭圆形,不仅限于圆形,比K-means更灵活。使用概率模型,一个数据点可以属于多个类,实现混合聚类。缺点:计算复杂度较高,特别是当聚类数量和数据集规模较大时。对初始参数的选择敏感,如均值、方差和聚类数量。5. 层次(Hierarchical clustering)聚类特点:不需要预知类的数量。试图在不同层次对数据集进行划分,形成树形的聚类结构。可采用“自底向上”或“自顶向下”的拆分策略。优点:对于距离度量标准的选择不敏感。当底层数据具有层次结构时,可以恢复层次结构,提供丰富的聚类信息。缺点:计算复杂度高,通常为O(n^3),不适合处理大规模数据集。需要确定合并中止条件,如固定类的数量或设定距离的上限。6. 图团体检测(Graph community Detection)特点:当数据可以被表示为网络或图时使用。计算图的模块性,通过最优化方法寻找最大模块性,形成团体聚类。优点:适用于具有网络结构的数据集,能够揭示数据中的社区或团体结构。使用启发式方法提高计算效率,避免遍历所有可能性。缺点:计算复杂度较高,特别是对于大规模图数据。模块性优化可能陷入局部最优解,影响聚类质量。聚类间距离度量公式:单链接(single-linkage clustering):最小距离聚类:类间距离定义为两元素间的最短距离。对离群点敏感。最大链接聚类:类间距定义为两类元素间的最大距离。可能产生直径非常大的聚类。完全链接(complete-linkage):只有两个聚类的所有成员都相似时,才认为两个聚类的距离很近。对立群点敏感,倾向于找到紧凑、直径较小的聚类。中心链接(centroid-linkage):用聚类成员的中心来代表聚类,是最小和最大距离的一种折中。平均链接(average-linkage clustering):类间距离定义为两类元素之间的平均值。在欧式空间中效果好,但不适用于只有成对相似度度量的情况。组平均(group-average):使用合并后的聚类中的所有成员间的平均距离。包含了相同原始聚类的平均值对。综上所述,各类聚类算法各有其特点和优缺点,选择哪种算法取决于具体的应用场景和数据特性。



































