• 层次聚类法
    • 单链聚类
    • 全链聚类
    • 平均链接聚类

    层次聚类法

    对于层次聚类法,我们不需要预先指定分类的数量,这个算方法会将每条数据都当作是一个分类,每次迭代的时候合并距离最近的两个分类,直到剩下一个分类为止。

    因此聚类的结果是:顶层有一个大分类,这个分类下有两个子分类,每个子分类下又有两个子分类,依此类推,层次聚类也因此得命。

    层次聚类法 - 图1

    在合并的时候我们会计算两个分类之间的距离,可以采用不同的方法。如下图中的A、B、C三个分类,我们应该将哪两个分类合并起来呢?

    层次聚类法 - 图2

    单链聚类

    在单链聚类中,分类之间的距离由两个分类相距最近的两个元素决定。如上图中分类A和分类B的距离由A1和B1的距离决定,因为这个距离小于A1到B2、A2到B1的距离。这样一来我们会将A和B进行合并。

    全链聚类

    在全链聚类中,分类之间的距离由两个分类相距最远的两个元素决定。因此上图中分类A和B的距离是A2到B2的距离,最后会将分类B和C进行合并。

    平均链接聚类

    在这种聚类方法中,我们通过计算分类之间两两元素的平均距离来判断分类之间的距离,因此上图中会将分类B和C进行合并。

    层次聚类法 - 图3

    下面让我们用单链聚类法举个例子吧!

    我们来用狗的高度和重量来进行聚类:

    层次聚类法 - 图4

    层次聚类法 - 图5

    在计算距离前我们是不是忘了做件事?

    层次聚类法 - 图6

    标准化!我们先将这些数据转换为修正的标准分。

    层次聚类法 - 图7

    然后我们计算欧几里德距离,图中高亮了一些最短距离:

    层次聚类法 - 图8

    根据下面的图表,你能看出哪两个品种的距离最近吗?

    层次聚类法 - 图9

    如果你看出是Border Collie和Portuguese Water Dog最近,那就对了!

    计算过程

    第一步:我们找到距离最近的两个元素,对他们进行聚类:

    层次聚类法 - 图10

    第二步:再找出距离最近的两个元素,进行聚类:

    层次聚类法 - 图11

    第三步:继续重复上面的步骤:

    层次聚类法 - 图12

    第四步:继续查找距离最近的元素,发现Border Collie已经属于一个分类的,因此进行如下图所示的合并:

    层次聚类法 - 图13

    这叫树状图,可以用来表示聚类。

    动手实践

    你能在下图的基础上继续完成聚类吗?

    层次聚类法 - 图14

    层次聚类法 - 图15

    解答

    层次聚类法 - 图16

    层次聚类法 - 图17