1. 算法描述
AGNES(AGglomerative NESting)算法是凝聚的层次聚类方法。AGNES最初将每个对象作为一个簇,然后这些簇根据某些准则被一步一步地合并。例如,在簇A中的一个对象和簇B中的一个对象之间的距离是所有属于不同簇的对象之间最小的,AB可能被合并。这是一种单链接方法,其每一个簇都可以被簇中所有对象代表,两个簇间的相似度由这两个簇中距离最近的数据点的相似度来确定。聚类的合并过程反复进行直到所有的对象最终合并形成一个簇。在聚类中,用户能定义希望得到的簇数目作为一个结束条件。
输入:包含n个对象的集合,终止条件簇的数目k
输出:k个簇
1、将每个对象当成一个初始簇
2、Repeat
3、根据两个簇中最近的数据点找到最近的两个簇
4、合并两个簇,生成新的簇的集合
5、知道达到定义的簇的数目
2. 算法性能分析
2.1 优点
- 简单,理解容易
2.2 缺点
- 合并点/分裂点选择不太容易
- 合并/分类的操作不能进行撤销
- 大数据集不太适合
- 执行效率较低O(t*n2),t为迭代次数,n为样本点数