7.最大最小距离算法与最大最小距离

本文介绍了最大最小距离算法,一种基于路径凝聚性的聚类技术,通过找到样本间的最长最短路径来定义距离。算法步骤包括选择聚类中心、计算最小距离、判断阈值并生成新中心,直至满足条件。同时,文章对比了最大最小距离与欧氏距离,并提供了视觉化解释和算法优化示例。
摘要由CSDN通过智能技术生成

7.最大最小距离算法与最大最小距离
最大最小距离算法
最大最小距离算法是一种聚类算法。
算法描述:
(1):任意选取一个样本模式作为第一聚类中心K1。
(2):选择离Z1最远欧氏距离的模式样本作为第二聚类中心K2。
(3):逐个计算每个模式样本与已确定的所有聚类中心之间的欧式距离,并选出其中的最小欧式距离。也就是说,所有的模式样本分别和K1,K2、…Kn求欧式距离,每个模式样本会分别得到和K1、K2、…Kn的欧式距离,从n者中选择小的那个。如果模式样本数是N,那么就会选出N个最小距离。
(4):在所有最小距离中(N个)选出一个最大距离,如果该最大值达到一定分数比值以上,(分数比值就是阈值T)则将产生最大距离的那个模式样本定义为新增聚类中心Z3,并返回步骤(3)。否则,聚类中心计算步骤结束。
(5):根据实验情况,需要不断重复步骤(3)(4),直到满足阈值条件,计算出所有聚类中心{ Z1 、 Z2 、 Z3 …Zn }。
(6):寻找聚类中心的运算结束后,将所有模式样本按最近欧式距离划分到相应聚类中心所代表的类别中。也就是说模式样本距哪个聚类中心近,就划分到哪个模式类中。
在这里插入图片描述
(是在min里找max)

最大最小距离(minimax distance)
最大最小距离又称基于路径的距离,由Fischer首先应用于聚类中。由于簇是由它们的凝聚性定义的,所以人们更关注穿过高密度区域数据对象的路径。因此,路径中密度最低的部分应该决定该路径的总体成本。换句话说,沿着一条路径的最大不同决定了它的代价。为了表示关于影响任何两个在同一聚类中相同概念的对象的不相似性的发生,我们定义对象i和j之间的有效不相似性Dij为连接路径的最小长度。不同于最大最小距离算法,最大最小距离是一种度量,它包含了一个数据集的基础全局几何。最大最小距离在Kye-Hyeon的文章Neighbor search with global geometry : a minimal message passing algorithm中,定义为:
在这里插入图片描述

在这里插入图片描述

其中Pij表示xi和xj之间的所有可能路径,而d(Xp[h],Xp[h+1])是Xp[h]和Xp[h+1]之间的欧氏距离。注意:该公式中, p表示xi和xj之间的所有可能路径的一条路径,| p | 表示该条路径中的节点数目,Xp[h]表示该条路径中的第h个节点,一定注意是第h个节点,比如该条路径是1→2→5→6,那么| p | =4,h=1,2,3。
例:(可能不正确 再看看)
在这里插入图片描述
ans1是待处理矩阵。
在这里插入图片描述
ans2是由ans1生成的最大最小距离矩阵。两个矩阵的图如下所示:
3
以节点1到节点3为例:
在这里插入图片描述 可以看到最大最小距离为0.4。
这是保证Xi到Xj之间至少有一条路径的最小值,对应的路径称为最大最小路径。如下图,如果Xi和Xj在同一个流形上,最大最小距离Dij趋于小。因此,最大最小距离是一种不同的度量,它包含了一个数据集的基础全局几何。
在这里插入图片描述
算法描述:
根据钟才明教授的文章Visual hierarchical cluster structure: A refinedcoassociation matrix based visual assessment of cluster tendency中关于最大最小距离的算法描述
在这里插入图片描述
PS:教授原算法描述有些错误
其中在一个MST中,任何一对节点都只有一条路径。在上述算法中,CloseT和OpenT是两个线性表(栈),其中的节点都被访问过。CloseT中节点的邻居也被访问过,而OpenT中这些节点则没有访问过。在这里,节点的邻居是指与MST上的节点直接相连的节点。在第6行,函数NEIGHBORS(G,v)返回G中v的邻居,而Nodes排除CloseT中的顶点。在第9行,既然此时v与v’通过CloseT中vl的路径连接,基于路径的距离可以通过简单的比较D’( v’, vl) 和D(v,vl)来实现,其中MAX(a,b)如果a>b返回a,否则返回b。在第12行,当来自Nodes的v和v’’通过vl连接时,它们之间基于路径的距离为MAX(D(v,vl),D(vl,v’’))。第15行将顶点v附加到OpenT中。第16行从OpenT中删除一个节点并将其添加到CloseT中。如果使用Prim的MST算法,该算法的时间复杂度为O(N²)。
在这里插入图片描述 比如要选4-1的。4-5已经选择过了,就是最小的各路径里的最大值,4和1通过5连接,刚刚在选择4-5的时候并没有5-1的参与,那么我要选择4-1,只需看看已经选择出的4-5的值和原矩阵5-1的值哪个大,选大的就可以了。因为公式就是要在小的里面选大的,除了5-1这条路,其他路的最小最大值已经选出来了,那么我只需要比较一下这条路径的值和已经选出的最大最小值哪个大就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值