1 / 36
文档名称:

ISODATA算法.doc

格式:doc   大小:464KB   页数:36页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ISODATA算法.doc

上传人:文库旗舰店 2019/9/15 文件大小:464 KB

下载得到文件列表

ISODATA算法.doc

相关文档

文档介绍

文档介绍:(迭代自组织数据分析算法)来自模糊数学领域,是统计模式识别中非监督动态聚类算法的一种。在许多科学实验、经济管理和日常生活中,往往需要对某些指标(或事物)按一定的标准(相似的程度、亲疏关系等)进行分类处理。例如,根据生物的某些形态对其进行分类,图像识别中对图形的分类等。这种对客观事物按一定要求和规律进行分类的数学方法主要就是聚类分析法,聚类分析是数理统计中研究“物以类聚”的一种多元分析方法,而模糊聚类分析法是通过数学工具根据事物的某些模糊性质进行定量地确定、合理地分型划类的数学方法。2、,利用模糊集合的概念提出了模糊分类问题。认为被分类对象集合X中的样本x[i]以一定的隶属度属于某一类,即所有的样本都分别以不同的隶属度属于某一类。因此,每一类就被认为是样本集X上的一个模糊子集,于是,每一种这样的分类结果所对应的分类矩阵,就是一个模糊矩阵。ISODATA聚类方法预先确定样本应该分成几类,从先给出的一个初始分类出发,根据目标函数,用数学迭代计算的方法反复修改模糊矩阵,直到合理为止。3、算法基本原理设有限样本集(论域)X={X1,X2,…Xn},每一个样本有s个指标,Xj=(xj1,xj2,…xjs),j=1,2,…:欲把它分为c类(2<c<n),则n个样本划分为c类的模糊分类矩阵为:其满足三个条件:(i=1,2,…c;j=1,2,…n)定义c个聚类中心向量聚类中心V={V1,V2,…Vc}.其中Vi=(vi1,vi2,…vis},i=1,2,…,它对应的s个指标值是该类样本所对应的指标值的平均值:定义矩阵U=[uij]c×n的全体构成样本集X分成c类的软划分空间:其中,uij表示第j个样本Xj隶属于第i类的隶属度。构造目标泛函:其中:‖xj-vi‖2表示第j个样本与第i类中心之间欧氏距离的平方;Jm(U,V)表示所有待聚类样本与所属类的聚类中心之间距离的平方和。为了确定最佳分类结果,就是寻求最佳划分矩阵U和对应的聚类中心V,使Jm(U,V)达到极小,即Jm(U3,V3)=min{Jm(U,V),U∈Mfc}。Dunn证明了求上述泛函的极小值的问题可解,Bezdek给出了当m≥1且xk≠vi时迭代算法。(1)给定控制参数K:预期的聚类中心数目。θn:每一聚类中最少的样本数目,如果少于此数就不能作为一个独立的聚类。θs:一个聚类域中样本距离分布的标准差(阈值)。θc:两个聚类中心之间的最小距离,如果小于此数,两个聚类合并。L:每次迭代允许合并的最大聚类对数目。I:允许的最多迭代次数。给定n个文档集合D={d1,d2,?,dn},令J=1(迭代次数),预选c个起始聚合中心,Zj(J),j=1,2?,c。(2)计算每个样本与聚合中心距离:D(xk,Zj(J))。若:D(xk,Zj(J))=minj=1,2?,c.{D(xk,Zj(J)),k=1,2,?,n},则:xk∈wi。把全部样本划分到c个聚合中去,且nj表示各子集Xj中的样本数目。(3)判断:若nj<θn,j=1,2?,c则舍去子集Xj,c=c-1,返回(2)。(4)计算修改聚合中心:,j=1,3,?c。(5)计算类内距离平均值Dj:(6)计算类内总平均距离D(全部样本对其相应聚类中心的总平均距离):(7)判别分裂、合并及迭代运算等步骤。a1如迭代运算次数已达I次,即最后一次迭代,置θc=0,跳到(1),运算结束。b1如cFK2,即聚类中心的数目等于或不到规定值的一半,则转(8),将已有的聚类分裂。c1如迭代运算的次数是偶数,或cE2K,则不进行分裂,跳到(11),若不符合上述2个条件,则进入(8),进行分裂处理。(8)计算每个聚合的标准偏差向量:式中:xi——x的第i个分量;Zji——Zj的第i个分量;d——维数。(9)求出每个聚合的最大标准偏差分量σjmax:则把该集合分为2个新的聚合,聚合中心分别为:令:c=c+1,J=J+1返回(2)其中,K的选择很重要,应使Xj中的样本到Z+j(J)和Z-j(J)的距离不同,但又使样本全部在这2个集合中。(11)计算两两聚合中心间的距离Dij:(12)比较Dij与θc,并把小于θc的Dij按递增次序排队:Di1j1<Di2j2<?<DiLjL,L为给定的合并参数。(13)考查(12)中的不等式,对每一个DiLjL,相应有2个聚类中心ZiL和ZjL,假使在同一次迭代中,还没把ZiL和ZjL合并,则把两者合并,合并后中心为:令c=c+1(14)若J<I,则J=J+1,如果修改给定参数则返回(1),不修改参数返回(2),否则J=I,算法结束。注意:(8)—(10)步