基于距离阈值的聚类算法
1.最大最小距离算法
算法思想
对待分类模式样本集以最大距离选取新的聚类中心,以最小距离原则进行模式归类。
算法步骤
-
从N个样本集中的任选取一个样本,作为第一个聚类中心 z 1 z_1 z1;
-
选取距离第一个聚类中心 z 1 z_1 z1 最远的样本作为第二个聚类中心 z 2 z_2 z2;
-
计算剩余样本与 z 1 , z 2 z_1,z_2 z1,z2之间的距离,并求出他们中的最小值,即:
d i j = ∣ ∣ x i − z j ∣ ∣ , j = 1 , 2 ; d i = m i n [ d i 1 , d i 2 ] , i = 1 , 2 , ⋯ , N \displaystyle d_{ij}=||x_i-z_j||,\;j=1,2\;;\;\;\;d_i=min[d_{i1},d_{i2}],\;i=1,2,\cdots,N dij=∣∣xi−zj∣∣,j=1,2;di=min[di1,di2],i=1,2,⋯,N
-
根据选定的比例系数 θ \theta θ,计算 d l = m a x i { m i n [ d i 1 , d i 2 ] } \displaystyle d_l={max}_i\{min[d_{i1},d_{i2}]\} dl=maxi{min[di1,di2]};
若 d l > θ ⋅ ∣ ∣ z 1 − z 2 ∣ ∣ \displaystyle d_l>\theta\cdot ||z_1-z_2|| dl>θ⋅∣∣z1−z2∣∣,则相应的样本 x l x_l xl 作为第三个聚类中心 z 3 z_3 z3,并转至下一步继续判断是否存在新的聚类中心;
否则,跳转至第 6 步;
-
假设存在 k 个聚类中心,计算个样本到各个聚类中心的距离 d i j d_{ij} dij,并算出: d l = m a x i { m i n [ d i 1 , d i 2 , ⋯ , d i k ] } \displaystyle d_l={max}_i\{min[d_{i1},d_{i2},\cdots,d_{ik}]\} dl=maxi{min[di1,di2,⋯,dik]};
若 d l > θ ⋅ ∣ ∣ z 1 − z 2 ∣ ∣ \displaystyle d_l>\theta\cdot ||z_1-z_2|| dl>θ⋅∣∣z1−z2∣∣,则 z k + 1 = x l z_{k+1}=x_l zk+1=xl,并继续在第五步循环,判断是否有新的聚类中心存在;
否则,转至第 6 步。
-
当判断不再有新的聚类中心存在时,计算: d i j = ∣ ∣ x i − z j ∣ ∣ , j = 1 , 2 , ⋯ , k ; i = 1 , 2 , ⋯ , N \displaystyle d_{ij}=||x_i-z_j||,\;j=1,2,\cdots,k\;;i=1,2,\cdots,N dij=∣∣xi−zj∣∣,j=1,2,⋯,k;i=1,2,⋯,N,将样本集按最小距离原则分类到各个类中。
2.近邻聚类法
N个代分类样本 { x 1 , x 2 , ⋯ , x n } \{x_1,x_2,\cdots,x_n\} {x1,x2,⋯,xn},将他们按照距离阈值 T T T 分类到以 z 1 , z 2 , ⋯ z_1,z_2,\cdots z1,z2,⋯ 为中心的类别中。
算法步骤
-
从N个样本中的任选取一个样本 x i x_i xi,作为第一个聚类中心,如令 z 1 = x 1 z_1=x_1 z1=x1;
-
计算样本 x 2 x_2 x2 到 z 1 z_1 z1 的欧式距离 d 21 = ∣ ∣ x 2 − x 1 ∣ ∣ d_{21}=||x_2-x_1|| d21=∣∣x2−x1∣∣:
若 d 21 > T d_{21}>T d21>T,则定义一新的聚类中心 z 2 = x 2 z_2=x_2 z2=x2;
否则, x 2 ∈ x_2\in x2∈ 以 z 1 z_1 z1 为中心的聚类;
-
假设已有聚类中心 z 1 , z 2 z_1, z_2 z1,z2,计算 d 31 = ∣ ∣ x 3 − z 1 ∣ ∣ , d 32 = ∣ ∣ x 3 − z 2 ∣ ∣ d_{31}=||x_3-z_1||,d_{32}=||x_3-z_2|| d31=∣∣x3−z1∣∣,d32=∣∣x3−z2∣∣:
若 d 31 > T d_{31}>T d31>T,则建立第三个聚类中心 z 3 = x 3 z_3=x_3 z3=x3;
否则, x 2 ∈ x_2\in x2∈ 离 z 1 和 z 2 z_1和z_2 z1和z2 中最近的类(最近邻的聚类中心);
⋯ ⋯ \cdots\cdots ⋯⋯
-
以此类推,直到将所有的 N 个样本都进行分类。
算法分析
用先验知识指导阈值
T
T
T 和起始点
z
1
z_1
z1 的选择,可获得合理的聚类结果。否则只能选择不同的初值重复试探,并对聚类结果进行验算,根据一定的评价标准,得出合理的聚类结果。
缺点:很大程度上依赖于第一个聚类中心的位置选择、待分类模式样本的排列次序、距离阈值T的大小以及样本分布的几何性质等。
优点:计算简单。