聚类分析(最大最小距离算法实现)
(第一次在这个平台分享知识,很多地方描述可能不恰当,多多包含。我将为大家分享一种关于聚类分析的最大最小距离算法实现方式。这个方式可能不是较佳的实现方式,仅供大家参考。)
一、算法描述
(1):任意选取一个样本模式作为第一聚类中心Z1。
(2):选择离Z1最远欧氏距离的模式样本作为第二聚类中心Z2。
(3):逐个计算每个模式样本与已确定的所有聚类中心之间的欧式距离,并选出其中的最小欧式距离。也就是说,所有的模式样本分别和Z1,Z2、...Zn求欧式距离,每个模式样本会分别得到和Z1、Z2、......Zn的欧式距离,从n者中选择小的那个。如果模式样本数是Na,那么就会选出Na个最小距离。
(4):在所有最小距离中(Na个)选出一个最大距离,如果该最大值达到 ||Z1一Z2|| (Z1和Z2的欧式距离)的一定分数比值以上,(分数比值就是阈值T)则将产生最大距离的那个模式样本定义为新增聚类中心Z3,并返回步骤(3)。否则,聚类中心计算步骤结束。
(5):根据实验情况,需要不断重复步骤(3)(4),直到满足阈值条件,计算出所有聚类中心{ Z1 、 Z2 、 Z3 ..........Zn }。
(6):寻找聚类中心的运算结束后,将所有模式样本按最近欧式距离划分到相应聚类中心所代表的类别中。也就是说模式样本距哪个聚类中心近,就划分到哪个模式类中。
二、例子
我们以二维模式样本为例。
![