摘要:ISODATA算法是目前应用比较广泛的,通过引入参数而进行人机交互不断进行分裂与合并的非监督分类算法。本文介绍了ISODATA基本原理与具体实现的过程,并用对参数设定的影响进行了试验和分析。
关键词:ISODATA 非监督分类 算法 模式识别
一、原理介绍
Isodata,迭代自组织分析,通过设定初始参数而引入人机对话环节,并使用归并与分裂的机制,当某两类聚类中心距离小于某一阈值时,将它们合并为一类,当某类标准差大于某一阈值或其样本数目超过某一阈值时,将其分为两类。在某类样本数目少于某阈值时,需将其取消。如此,根据初始聚类中心和设定的类别数目等参数迭代,最终得到一个比较理想的分类结果。
二、算法设计
第一步:将 个模式样本{ ,i=1,2,3,…,
}读入,确定C个初始聚类中心和6个初始参数(K,θN,θc,θs,L,I)。
第二步:将N个模式样本分给最近的聚类,假如Dj=min(‖x-zj‖,i=1,2,…,), 即‖x-zj‖的距离最小,则x∈Sj。
第三步:如果Sj中的样本数Nj
第四步:修正聚类中心值
j=1,2,…,
第五步:计算各聚类域Sj中诸聚类中心间的平均距离:
第六步:计算全部模式样本对其相应聚类中心的总平均距离:
第七步:判别分裂、合并及迭代运算等步骤:
①如迭代运算次数已达I次,即最后一次迭代,置θc = 0,跳到第