在模式识别领域,第二章通常会涉及聚类分析的基础理论和方法。聚类是一种无监督学习,目的是将数据集中的对象或样本按照相似性或距离关系分组,形成不同的类别。这里有两个主要的聚类算法被提及:系统聚类法和ISODATA算法。
系统聚类法是一种递归的聚类方法,它通过不断合并距离最近的类来构建一个层级聚类树(也称为分级树)。具体步骤如下:
1. **初始化**:给定n个模式样本,每个样本视为一类,构建N×N的距离矩阵D(0),其中Dij表示样本i与样本j之间的距离。
2. **迭代过程**:设置迭代次数n,每次迭代时找到距离矩阵中最小的元素,即两个最近的类,然后合并这两个类形成新的类,更新距离矩阵D(n)。
3. **终止条件**:当迭代次数达到给定值n或满足特定停止准则(如距离阈值)时,算法结束,输出最后的聚类结果。
对于给定的5个6维模式样本,最小聚类准则意味着每次合并距离最近的两个类。在这个例子中,初始时每个样本自成一类,然后计算所有样本之间的距离,找到最小距离并合并对应的类,重复此过程直至满足停止条件。例如,G3(0)和G5(0)之间的距离最小,因此首先将它们合并,然后继续合并距离最近的类,直到无法找到更小的距离或达到设定的迭代次数。
ISODATA算法(Iterative Self-Organizing Data Analysis Technique)是另一种聚类算法,结合了聚类和数据规范化的过程。它的流程框图包括以下步骤:
1. **初始化**:读入N个模式样本,预设K个初始聚类中心,并设定参数,如迭代次数time,最小类样本数L,以及是否进行合并或分裂的判断。
2. **聚类分配**:将每个样本分配到与其最近的聚类中心所属的类。
3. **检查类大小**:如果某个类的样本数小于L,则取消该类,将其中的样本分配给最近的其他类。
4. **计算新中心**:基于当前类的样本计算新的聚类中心。
5. **计算平均距离**:计算每个类的中心值以及所有样本对中心的平均距离。
6. **合并与分裂判断**:根据设定的条件(如time是否大于1,类数量是否小于K/2,是否偶数次迭代等)决定是否进行合并或分裂操作。
7. **合并处理**:当满足合并条件时,合并距离最近的类。
8. **分裂操作**:如果满足分裂条件,将一个类分裂成多个子类。
9. **迭代更新**:继续执行上述步骤,直到满足停止条件。
这两种聚类方法在实际应用中各有优势,系统聚类法适合构建分级结构,而ISODATA算法可以动态调整类的数量。理解并掌握这些算法对于进行模式识别和数据分析工作至关重要。