预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验目的通过对Irisdata采用Isodata算法进行聚类掌握Isodata算法的原理以及具体实施步骤。二.实验原理C均值算法比较简单但它的自我调整能力也比较差。这主要表现在类别数不能改变受代表点初始选择的影响也比较大。ISODATA算法的功能与C均值算法相比在下列几方面有改进。1.考虑了类别的合并与分裂因而有了自我调整类别数的能力。合并主要发生在某一类内样本个数太少的情况或两类聚类中心之间距离太小的情况。为此设有最小类内样本数限制以及类间中心距离参数。若出现两类聚类中心距离小于的情况可考虑将此两类合并。分裂则主要发生在某一类别的某分量出现类内方差过大的现象因而宜分裂成两个类别以维持合理的类内方差。给出一个对类内分量方差的限制参数用以决定是否需要将某一类分裂成两类。2.由于算法有自我调整的能力因而需要设置若干个控制用参数如聚类数期望值每次迭代允许合并的最大聚类对数、及允许迭代次数等。下面我们将ISODATA算法的步骤列出:步骤1(确定控制参数及设置代表点)需确定的控制参数为聚类期望数一个聚类中的最少样本数标准偏差控制参数用于控制分裂类间距离控制参数用于控制合并每次迭代允许合并的最大聚类对数允许迭代的次数。设初始聚类数为及聚类中心。步骤2(分类)对所有样本按给定的个聚类中心以最小距离进行分类即若步骤3(撤消类内样本数过小类别)若有任何一个类其样本数则舍去令将原样本分配至其它类;步骤4(更新均值向量)按现有样本分类结果调整均值参数步骤5(计算类内平均距离)每类中各样本离开均值的平均距离步骤6(计算整个样本集偏离均值的平均距离)步骤7(入口选择)如这是最后一次迭代(取决于迭代上限)则转步骤11并设置防止合并发生。如果则转向步骤8执行分裂步骤;如果则转向步骤11执行合并步骤。步骤8(求各类内各分类标准偏差)对每个聚类求其标准偏差式中是类中第个样本的第分量是的第个分量是第个聚类第个分量的标准偏差D是样本特征维数。步骤9(求每类具有最大标准偏差的分量)指每类具有最大标准偏差的分量。步骤10(分裂计算步骤)若任一个有并且有(a)且或有(b)则把分裂成两个聚类其中心相应为与把原来的取消且令由于与值设置不当将会导致影响到其它类别因此与可按以下步骤计算:给定一值;其中值应使中的样本到与的距离不同但又应使中的样本仍然在分裂后的新样本类中。步骤11(计算类间聚类中心距离)类与类的类间距离步骤12(列出类间距离过近者)比较与并将小于的按上升次序排列该队列最大个数是控制合并对数的参数步骤13(执行合并)从类间距离最大的两类开始执行合并过程此时需将与合并得且从第二个开始则要检查其涉及类别是否已在前面合并过程中被合并如两者并未被合并则执行合并过程。步骤14(结束步骤)如是最后一次迭代则终止否则可根据需要转步骤1或步骤2转步骤1是为了更改控制数。迭代计数要加1。以上是整个ISODATA算法的计算步骤。可以看出ISODATA算法与C均值算法一样都是以与代表点的最小距离作为样本聚类的依据因此比较适合各类物体在特征空间以超球体分布的方式分布对于分布形状较复杂的情况需要采用别的度量。ISODATA算法与C均值算法的主要不同在于自我控制与调整的能力不同。它们的另一个不同点是C均值算法的类均值参数在每个样本归入时随即修改因而称为逐个样本修正法而ISODATA算法的均值向量或聚类中心参数是在每一次迭代分类后修正的因而称为成批样本修正法。实验过程及结果分析按照算法过程进行仿真首先设置算法中所需要的控制参数控制参数的选取有多种选择组合这里我们先设置一组控制参数对Irisdata进行聚类说明算法的实施过程以及对得到的结果进行分析。参数设置如下图所示:其中确定初始聚类中心个数后在150个原始数据中随机挑选10个作为聚类中心然后对原始150个数据以该10个聚类中心以最小距离进行聚类。结果如下:结果中的center矩阵为聚类中心矩阵每一列代表一聚类中心每一列前4行为聚类中心的4个分量第5行为隶属于该类的数据个数。将类内个数过少(小于10)的聚类中心删除并对所有数据依照调整后聚类中心重新进行聚类。完成聚类后计算每类的均值作为该类新的聚类中心。上图中的第二个center矩阵即为已