系统聚类是一种无监督的学习方法,它的基本思想是:将数据集中的每个样本视为一个对象,根据它们之间的距离或相似度进行分组。以下是常用的系统聚类方法:
1. 最短距离法(Silhouette Method):
最短距离法是一种基于样本间距离的方法。它首先计算所有样本之间的相似度矩阵,然后找到距离最小的两个样本对,计算这两个样本的距离与它们距离其他样本的平均距离之差,取最大值作为聚类结果的评价指标。这种方法简单易行,但可能受到数据量和噪声的影响。
2. 最长公共子序列法(Least Common Subsequences,LCS):
最长公共子序列法是一种基于样本间相似度的方法。它首先计算所有样本之间的最长公共子序列长度,然后按照最长公共子序列长度对样本进行排序,最后选择距离最近的样本对进行合并。这种方法可以自动发现层次结构,但计算复杂度较高。
3. 动态规划法(Dynamic Programming,DP):
动态规划法是一种基于样本间距离的迭代方法。它通过不断计算相邻样本对的距离,逐步缩小搜索范围,直到达到某个阈值或满足某种条件时停止。这种方法可以有效地处理大数据集,但需要较多的计算资源。
4. 层次聚类法(Hierarchical Clustering):
层次聚类法是一种基于样本间距离和相似度的方法。它首先将数据集分为若干个簇,然后递归地将相似的簇合并为更大的簇,直到满足某个条件为止。这种方法可以实现层次结构的可视化,但需要较多的计算资源。
5. K-means算法(K-means Algorithm):
K-means算法是一种基于样本均值的方法。它先将数据集划分为K个簇,然后计算每个样本到其所属簇中心的距离,将距离最近的样本分配给该簇,重复这个过程直到满足某个条件为止。这种方法简单易行,但需要较多的计算资源,且初始簇中心的选择对聚类结果有较大影响。
6. Agglomerative Clustering(凝聚型聚类):
凝聚型聚类是一种基于样本间距离的方法。它首先将每个样本视为一个孤立的簇,然后逐渐将距离最近的样本合并成更大的簇,直到满足某个条件为止。这种方法可以实现层次结构的可视化,但需要较多的计算资源。
7. Centroid-based Clustering(基于重心的聚类):
基于重心的聚类是一种基于样本均值的方法。它先计算每个簇的中心,然后将新样本分配给距离最近的簇中心。这种方法可以实现层次结构的可视化,但需要较多的计算资源,且需要预先确定簇的数量。
8. Hierarchical K-means(层次K-means):
层次K-means是一种结合了K-means算法和层次聚类法的方法。它首先将数据集划分为K个簇,然后使用K-means算法对每个簇进行聚类,并将结果合并成一个层次结构。这种方法可以同时实现层次结构和聚类结果的可视化。
9. Dendrogram(树状图法):
树状图法是一种可视化方法,它通过绘制各样本间的最小距离树来表示聚类结果。这种方法直观易懂,但需要较多的计算资源,且只能用于二维空间的数据。
总之,不同的系统聚类方法具有不同的优缺点和适用场景,选择合适的方法需要考虑数据的特点、任务的需求以及计算资源的可用性。