href="http://ounix1xcw.bkt.clouddn.com/github.markdown.css" rel="stylesheet">

样本空间有$N$个点${x_1,x_2,...,x_n}$,层次聚类的过程如下:

1、将每个点都单独归为1类

2、计算各个类之间的相似度/距离

3、将相似度最大/距离最近的两个类合并为1类

4、重复步骤2和3,直到所有类归为1类

最开始有$N$个类,每循环一次便有两个类合并了(即类的总数-1),直到减到你想要的k个类,则可以停止迭代,若想得到所有结果,则一直减,减到1为止

如何计算两个类之间的距离:

  • Single Linkage:取两个类中最近的两个样本的距离
  • Complete Linkage:取两个类中最远的两个样本的距离
  • Average Linkage:把两个类中点两两求距离然后取均值