文档介绍:.页眉. .页脚. K- 均值聚类算法报告 1. 算法思想 K- 均值算法也称 C- 均值算法,是根据函数准则进行分类的聚类算法,基于使聚类准则函数最小化。K-均值算法的主要思想是先在需要分类的数据中寻找 K 组数据作为初始聚类中心,然后计算其他数据距离这三个聚类中心的距离,将数据归入与其距离最近的聚类中心,之后再对这 K个聚类的数据计算均值,作为新的聚类中心,继续以上步骤,直到新的聚类中心与上一次的聚类中心值相等时结束算法。准则函数:聚类集中每一样本点到该类中心的距离平方和。对于第 j个聚类集,准则函数定义为: Sj:第 j个聚类集(域),聚类中心为 Zj; Nj:第 j个聚类集 Sj中所包含的样本个数。对所有 K个模式类有: K- 均值算法的聚类准则:聚类中心的选择应使准则函数 J 极小,即使 Jj的值极小。即有: 可解得: 上式表明, Sj类的聚类中心应选为该类样本的均值。 2. 算法描述(1 )任选 K 个初始聚类中心: Z1(1) ,Z2(1) ,…,ZK(1) 括号内序号:迭代运算的次序号。(2)按最小距离原则将其余样品分配到 K个聚类中心中的某一个,即: 则(3)计算各个聚类中心的新向量值: Nj:第 j类的样本数。(4)如果则回到(2),将模式样本逐个重新分类,重复迭代计算。如果,则算法收敛,计算完毕。 ji j Ni jijSJ?????XZX, || || 1 2 ji Kj j Ni jiSJ???????XZX 11 2, || ||0)()( || || 1 T 1 2????????????? j Ni jijij j Ni jijZ ZXZXZXZ ji j Ni ij jSN ????XXZ, 1 1??)()(,,2,1,)( minkDkKik jji?????ZXZX?)(kSX j?Kjk j,,2,1)1(???Z ??KjN k kj SXj j,,2,1 1)1(??????XZKjkk jj,,2,1)()1(????ZZKjkk jj,,2,1)()1(????ZZ .页眉. .页脚. 3. 算法讨论结果受到所选聚类中心的个数和其初始位置,以及模式样本的几何性质及读入次序等的影响。实际应用中需要试探不同的 K 值和选择不同的聚类中心起始值,一般可选择样本集中前 K个样本作为初始聚类中心。 4. 计算流程本次程序计算过程严格按照算法描述,通过选取初始聚类中心、计算距离、计算新的聚类中心、判断结果的收敛性等迭代过程,最终得出聚类结果和聚类中心。具体流程如下图: 开始读入要分类的 Iris 数据设置初始聚类中心计算数据到 K 个聚类中心的欧式距离将数据分入与其距离最小的聚类计算新的聚类中心聚类中心是否收敛? 否输出 K 个分好类的聚类和矢量中心结束是 5. 分类结果读取前 50 个数据时的两类聚类中心矢量 Z1和Z2 ,以及对应的两类数据集合G1和G2聚类结果如下: .页眉. .页脚. 读取前 100 个数据时的两类聚类中心矢量 Z1和Z2,以及对应的两类数据集合G1和G2聚类结果如下: 读取全部数据时的两类聚类中心矢量 Z1和Z2,以及对应的两类数据集合 G1 和G2聚类结果如下: .页眉. .页脚. 附:源代码#include<> #include<> #inclu