。比较数据集中所有数据对象两两之间的距离。找出距离最近的2个数据对象形成集合Am;比较Am中每一个数据对象与数据对象集合U中每一个对象的距离,在U中找出与Am 中最近的数据对象,优先吸收到Am 中,直到Am 中的数据对象个数到达一定数值,然后令m=m+1。再从U中找到对象两两间距离最近的2个数据对象构成Am,重复上面的过程,直到形成k个对象集合。这些集合内部的数据是相似的,而集合间是相异的。可以看出,这种聚类方法同时满足以下2个条件:①每个组至少包含一个数据对象; ②每个数据对象必须属于且仅属于一个组。即数据对象Xi ∈Ai ,且U={{A1 ∪A2 ∪…∪Ak} ∪A0} ,且Ai ∩Aj =Φ。最后对k个对象集合分别进行算术平均,形成k个初始聚类中心。РKNN算法等等Р摘自wiki百科Р迭代终止条件? 1、重复迭代直到聚类中心不再变化或者变化很小? 准则函数: Р每一个样本点到其聚类中心点的平方和,K-MEANS要将J函数调整到最小。当J函数前后相差小于一个阈值的时候即可以终止迭代。?若单一定义让聚类中心不再变化则停止迭代,可能会存在问题。因为某一点不一定百分之百属于某个聚类。?演示K-MEANS-TEST2Р2、达到迭代最大步数?Opencv的函数cvKMeans2中变量CvTermCriteria可设置两个迭代终止条件Р高斯混合模型GMM(Gaussian Mixture Model)? 可以看出K-MEANS是简单的,因为它基于假设即一个点仅以1或者0的概率属于某一聚类,这两者中间的取值没有考虑,将一个可以无穷取值的模型进化到了两个值,显然变得不那么复杂了,那么如果想要考虑到中间的值呢?即一个点仅以某一个概率属于某一类呢?Р 既然考虑到概率,那么与K-MEANS的数学基础便是完全不同的,即并没有直接考虑欧氏距离的问题。此处就可以用高斯混合模型和E-M算法进行解决。