1、l ISODATA算法实例:此例中N=8,n=2。假设取初始值Nc=1,z1(1)=x1=(0 0)T,则运算步骤如下:第一步:取K=2,N=1,S=1,c=4,L=1,I=4预选:K = 预期的聚类中心数目;N = 每一聚类域中最少的样本数目,若少于此数即不作为一个独立的聚类;S = 一个聚类域中样本距离分布的标准差;c = 两个聚类中心间的最小距离,若小于此数,两个聚类需进行合并;L = 在一次迭代运算中可以合并的聚类中心的最多对数;I = 迭代运算的次数。第二步:因只有一个聚类中心,因此S1=x1, x2, , x8,N1=8。第三步:因N1N ,无子集可抛。第四步:修改聚类中心第五步:
2、计算模式样本与聚类中心间的平均距离第六步:计算全部模式样本和其对应聚类中心的总平均距离第七步:因不是最后一次迭代,且Nc=K/2,进入第八步第八步:计算S1中的标准差向量第九步:1中的最大分量是1.99,因此1max = 1.99。第十步:因1maxS 且Nc=K/2,可将z1分裂成两个新的聚类。设,则为方便起见,将和表示为z1和z2,Nc加1,返回第二步。第二步(返回1):新的样本集为S1=x4, x5, , x8,N1=5S2=x1, x2, x3,N2=3第三步(返回1):因N1N 且N2N,无子集可抛。第四步(返回1):修改聚类中心第五步(返回1):计算模式样本与聚类中心间的平均距离,
3、j=1,2第六步(返回1):计算全部模式样本和其对应聚类中心的总平均距离第七步(返回1):因是偶数次迭代,满足第七步的条件3,进入第十一步第十一步:计算聚类对之间的距离第十二步:比较D12 与c ,D12c 第十三步:从上一步结果看出,聚类中心不发生合并。第十四步:因不是最后一次迭代运算,判断是否需要修改给定的参数。(1) 已获得所要求的聚类数目;(2) 聚类之间的分离度大于类内样本分离的标准差;(3) 每一聚类子集的样本数目都具有样本总数中足够大的比例。因此,可认为聚类中心具有代表性,返回第二步。第二六步(返回2):与上一次迭代计算结果相同。第七步(返回2):没有一种情况可满足,进入第八步。
4、第八步(返回2):计算S1=x4, x5, , x8和S2=x1, x2, x3的标准差第九步(返回2):1max=0.75,2max=0.82第十步(返回2):分裂条件不满足,进入第十一步。第十一步(返回2):与上一次迭代的结果相同,计算得到第十二、十三步(返回2):与上一次迭代的结果相同。第十四步(返回2):无新的内容加入本次迭代中,返回第二步。第二六步(返回3):与上一次迭代计算结果相同。第七步(返回3):因是最后一次迭代,置c=0,转至第十一步。第十一步(返回3):同上一次迭代,第十二步(返回3):与上一次迭代的结果相同。第十三步(返回3):无合并发生。第十四步(返回3):最后一次迭代,算法结束。