本篇博客主要介绍机器学习算法中的层次聚类,层次聚类不同于传统的K-Means聚类算法,它在初始K值和初始聚类中心点的选择问题上会存在优势。
层次聚类
层次聚类就是一层一层的进行聚类,可以由下向上,或由上向下进行聚类。先计算样本之间的距离,每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。
层次分解顺序为:自下向上和自上向下两种,即凝聚的层次聚类算法和分裂的层次聚类算法,这两种方法没有优劣之分,只是在实际应用的过程中根据数据的特点以及想得到的类,来考虑具体那种方法计算时所花费的时间少,数据不同时间也会相应的不同。
层次聚类的流程
凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程:
- 将每个对象看作一类,计算两两之间的最小距离;
- 将距离最小的两个类合并成一个新类;
- 重新计算新类与所有类之间的距离;
- 重复2、3,直到所有类最后合并成一类;
层次聚类的优缺点
优点&