欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    基于isodata算法的Iris数据分类.docx

    • 资源ID:1688233       资源大小:738.83KB        全文页数:24页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于isodata算法的Iris数据分类.docx

    一 实验目的通过对Iris data采用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算法的均值向量或聚类中心参数是在每一次迭代分类后修正的,因而称为成批样本修正法。三 实验过程及结果分析按照算法过程进行仿真,首先设置算法中所需要的控制参数,控制参数的选取有多种选择组合,这里,我们先设置一组控制参数,对Iris data进行聚类,说明算法的实施过程以及对得到的结果进行分析。参数设置如下图所示:其中,确定初始聚类中心个数后,在150个原始数据中随机挑选10个作为聚类中心,然后对原始150个数据以该10个聚类中心以最小距离进行聚类。结果如下:结果中的center矩阵为聚类中心矩阵,每一列代表一聚类中心,每一列前4行为聚类中心的4个分量,第5行为隶属于该类的数据个数。将类内个数过少(小于10)的聚类中心删除,并对所有数据依照调整后聚类中心重新进行聚类。完成聚类后,计算每类的均值,作为该类新的聚类中心。上图中的第二个center矩阵即为已经完成均值计算的每类的聚类中心。 完成聚类中心初始化后,开始进行迭代,在第一次迭代中(iterative=1),迭代次数为奇数,但是当前聚类个数,所以直接进入聚类中心合并过程,结果如下所示: 上图中,sortofdis矩阵为两两聚类中心之间的距离矩阵,并按从大到小排列。每一列代表2类之间的距离,第一行为距离,第2,3行为两类的类别。值得注意的是类别号即对应为聚类中心在聚类中心矩阵center中的列数。进入合并步骤不代表一定进行合并处理,当两类的距离小于合并阈值(thmerge=2.5)时,才进行合并处理。且每次迭代,最多进行2次合并(mergenum=2),且必须是不同的4类。由结果观察到,第3,4类进行合并,第6,7类进行合并。合并后得到新的聚类中心矩阵newcenter,可看到,新的矩阵相对于之前的聚类中心矩阵,少了2列。按照得到的新聚类中心,重新对原始数据进行聚类,得到center矩阵,并检验是否有类内样本个数过少的聚类中心,若没有,对每类数据进行平均,得到更新后的聚类中心矩阵(即上图中最后一center矩阵),第一次迭代完成。 在第2次迭代中(iterative=2),迭代次数为偶数,直接进入合并步骤。由上图可看出,将3,4类进行了合并处理(3,4类仅代表其聚类中心在当前聚类中心矩阵第3,4列,与第一次迭代的3,4类不是一样的)。之后的处理步骤与之前一致,得到平均后的聚类中心矩阵。在第一次迭代中(iterative=3),迭代次数为奇数,当前聚类个数,所以进入聚类中心分裂过程,结果如下所示:进入分裂步骤,但是否进行分裂处理还需判断每个聚类中样本到聚类中心的标准差,将每个聚类的标准差向量按列排列,即得到标准差矩阵stdofeach,其中列数代表聚类个数,每行代表聚类中心的一个分量。因为Iris数据为4维数据,则标准差矩阵即为4行。因为3个聚类的标准差向量中的每个分量都小于分裂阈值(thsplit=0.6),所以不进行分裂处理,进入合并过程。3个聚类中心的两两距离也都大于合并阈值,所以也不进行合并处理。该次迭代后,按相同的方法得到平均后的聚类中心矩阵。在第4次迭代中(iterative=4),迭代次数为偶数,直接进入合并步骤。可以看到,第4次迭代中没有进行合并处理,只是对数据按照第3次迭代得到的新聚类中心重新进行聚类,并对聚类后的每类样本进行平均,得到新的聚类中心矩阵。值得注意的是,在第4次迭代时,进行平均后的聚类中心与为平均之前完全一致,说明第3次聚类结果与第4次聚类结果是完全一致的。说明算法在第4次迭代时即已收敛,完成了分类。以后迭代次数结果如下:可以看到,第5次结果与第4次也完全一致,且不会再对现有类别进行分裂。之后迭代结果再无变化,就不将其贴出。最后得到的聚类中心如下所示:按照该聚类中心,对数据进行聚类,结果如下:以上是对150个原始数据分类的结果,前4列为每个数据的4个特征,第5列为该数据的序号,第6列为该数据聚类结果。类别数1,2,3对应于聚类中心向量在聚类矩阵中的列数,例如类别为1,则说明该数据隶属于聚类中心矩阵中第1列的聚类中心。 可以看到,前50个数据应分为一类,实验结果显示对前50个数据分类完全正确。第51到100号数据应属于一类,但聚类结果显示有2个数据被分为了第3类。第101到150号数据应属于一类,聚类结果显示其中有14个数据被聚到了第2类。这也与之前的实验结果相近,即1到50号数据与其他可完全分开,后两组数据互相之间不可以完全区分。改变初始聚类中心个数,再进行聚类,结果如下:可以看到,第3个分量大于分裂阈值,所以进行分裂处理,分裂处理按照如下公式进行 其中选为0.4。注意,只对第3各分量进行修正。 可以看到,在迭代到第8次时,结果已收敛,聚类完成。最终的聚类中心矩阵为:对原始数据的分类结果如下:由聚类结果可得,第一组数据完全分类正确,第二组数据有3个数据分类错误,第三组数据有14个数据分类错误。 由以上两组实验结果可得,Isodata算法可以对Iris数据得到较为理想的分类结果,实验结果不依赖于初始聚类中心个数,但与各控制参数关系较大,实验时应反复调整,已得到最佳结果。

    注意事项

    本文(基于isodata算法的Iris数据分类.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开