层次聚类中的树状图工作机制解密

如图41-9所示,问题来了,这样做过之后,接下来怎么进行聚类?这涉及算法内部的机制,在从N个分组变成1个分组之后,使用一个树状图(Dendrograms)的辅助算法决定到底分成多少组。这里有6个点。

(3)从直觉的角度透彻理解层次聚类_树状图

图41- 9 分布6个点

如图41-10所示,看哪两个点的距离最近,左边图中的p2,p3的距离最近,p2,p3构成1组,右侧图就把这两个点连在一起。

(3)从直觉的角度透彻理解层次聚类_树状图_02

图41- 10 p2,p3的距离最近

如图41-11所示,接下来看哪两个点的距离最近,左侧图中的p5,p6的距离最近,p5,p6构成1组,右侧图把p5,p6两个点连接起来。连接起来还有一个高度的问题,高度由什么决定的?这是算法的核心,假设绿色的连接线高度是h1,红色连接线的高度是h2,高度是两个集群之间的距离,进行分组的时候根据距离计算的,p2,p3的最短距离就构成连线的高度,p5,p6的距离构成它们的高度。

(3)从直觉的角度透彻理解层次聚类_聚类_03

图41- 11 高度比较

如图41-12所示,接下来哪两个集群点之间的距离最近?这时候,p1与p2,p3的距离最近, 使用连线将它们连接起来。

(3)从直觉的角度透彻理解层次聚类_聚类_04

图41- 12 p1与p2,p3

如图41-13所示,相应的,p4与p5,p6构成了一个集群,也有它们的距离。

(3)从直觉的角度透彻理解层次聚类_数据_05

图41- 13 连接p4与p5,p6

如图41-14所示,最后是一个大集群,整个数据变成了一个集群,从原先两个构成的集群中构成的。随着集群的合并,距离是越来越大,还是越来越小?距离显然是越来越大。像人一样,从理论上讲,距离越远,越来越疏离,当然远和近看怎么定义。举个不太恰当的例子,感觉和一个人很生疏,就说距离很远;和一个人很亲密,就说明距离很近,走的很近,就更容易分成一组,分成一派,如果很远,偶尔会有所联系,但是各自有自己的圈子。所以,刚才从6个分组变成1个分组,从左侧的图绘制出了右侧的图,到底有没有意义呢?这个非常有意义的,把整个聚类的过程中的距离都记录下来,按照保存下来的数据提出一个标准,这个标准就是多远就进行分组,最后变成一个大的分组,把所有的数据都过滤一遍,看一下数据的距离的情况,是为了实际有效的分组做准备的。假设在上海张江工作,张江是一个区域,然后浦东是一个区域,浦东和浦西都属于上海,属于一个大区域,上海和杭州变成了一个区域,再扩大一点,变成长三角区域,这个是有意义的,到时候分组的时候,按照距离进行划分。

(3)从直觉的角度透彻理解层次聚类_数据_06

图41- 14形成一个分组

如图41-15所示,从简单来说,现在以距离1.8进行划分,如果距离大于1.8就进行分组,这个时候分成了2组。这里分成了2组,左边是p1,p2,p3,右边是p5,p5,p6。这个可以轻松理解的。

(3)从直觉的角度透彻理解层次聚类_数据_07

图41- 15分成2组

如图41-16所示,如果标准按照0.8,大于0.8就进行分组,就分成了4组。p1分成1组,p2,p3分成1组,p4分成了1组,p5,p6分成1组。

(3)从直觉的角度透彻理解层次聚类_聚类_08

图41- 16分成4组

如图41-17所示,如果按照0.25的距离就分成了6组,p1,p2,p3,p4,p5,p6各自形成了1组。

(3)从直觉的角度透彻理解层次聚类_聚类_09

图41- 17形成6个分组

(3)从直觉的角度透彻理解层次聚类_聚类_10

本文根据王家林老师《30个真实商业案例代码中成为AI实战专家(10大机器学习案例、13大深度学习案例、7大增强学习案例)课程》整理。