正文
经典K-means算法流程:
-
随机地选择k个对象,每个对象初始地代表了一个簇的中心;
-
对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;
-
重新计算每个簇的平均值,更新为新的簇中心;
-
不断重复2、3,直到准则函数收敛。
2.3 基于模型的聚类算法
为每簇假定了一个模型,寻找数据对给定模型的最佳拟合,同一”类“的数据属于同一种概率分布,即假设数据是根据潜在的概率分布生成的。主要有基于统计学模型的方法和基于神经网络模型的方法,尤其以基于概率模型的方法居多。一个基于模型的算法可能通过构建反应数据点空间分布的密度函数来定位聚类。基于模型的聚类试图优化给定的数据和某些数据模型之间的适应性。
SOM神经网络算法:
该算法假设在输入对象中存在一些拓扑结构或顺序,可以实现从输入空间(n维)到输出平面(2维)的降维映射,其映射具有拓扑特征保持性质,与实际的大脑处理有很强的理论联系。
SOM网络包含输入层和输出层。输入层对应一个高维的输入向量,输出层由一系列组织在2维网格上的有序节点构成,输入节点与输出节点通过权重向量连接。学习过程中,找到与之距离最短的输出层单元,即获胜单元,对其更新。同时,将邻近区域的权值更新,使输出节点保持输入向量的拓扑特征。
算法流程:
-
网络初始化,对输出层每个节点权重赋初值;
-
将输入样本中随机选取输入向量,找到与输入向量距离最小的权重向量;
-
定义获胜单元,在获胜单元的邻近区域调整权重使其向输入向量靠拢;
-
提供新样本、进行训练;
-
收缩邻域半径、减小学习率、重复,直到小于允许值,输出聚类结果。
2.4 基于密度聚类算法
主要思想:
只要邻近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类
擅于解决不规则形状的聚类问题,广泛应用于空间信息处理,SGC,GCHL,DBSCAN算法、OPTICS算法、DENCLUE算法。
DBSCAN:
对于集中区域效果较好,为了发现任意形状的簇,这类方法将簇看做是数据空间中被低密度区域分割开的稠密对象区域;一种基于高密度连通区域的基于密度的聚类方法,该算法将具有足够高密度的区域划分为簇,并在具有噪声的空间数据中发现任意形状的簇。
2.5 基于网格的聚类算法
基于网格的方法把对象空间量化为有限数目的单元,形成一个网格结构。所有的聚类操作都在这个网格结构(即量化空间)上进行。这种方法的主要优点是它的处理 速度很快,其处理速度独立于数据对象的数目,只与量化空间中每一维的单元数目有关。但这种算法效率的提高是以聚类结果的精确性为代价的。经常与基于密度的算法结合使用。
代表算法有STING算法、CLIQUE算法、WAVE-CLUSTER算法等。
2.6 新发展的方法
基于约束的方法:
真实世界中的聚类问题往往是具备多种约束条件的 , 然而由于在处理过程中不能准确表达相应的约束条件、不能很好地利用约束知识进行推理以及不能有效利用动态的约束条件 , 使得这一方法无法得到广泛的推广和应用。这里的约束可以是对个体对象的约束 , 也可以是对聚类参数的约束 , 它们均来自相关领域的经验知识。该方法的一个重要应用在于对存在障碍数据的二维空间数据进行聚类。 COD (Clustering with Ob2structed Distance) 就是处理这类问题的典型算法 , 其主要思想是用两点之间的障碍距离取代了一般的欧氏距离来计算其间的最小距离。
基于模糊的聚类方法:
基于模糊集理论的聚类方法,样本以一定的概率属于某个类。比较典型的有基于目标函数的模糊聚类方法、基于相似性关系和模糊关系的方法、基于模糊等价关系的传递闭包方法、基于模 糊图论的最小支撑树方法,以及基于数据集的凸分解、动态规划和难以辨别关系等方法。
FCM模糊聚类算法
流程:
-
标准化数据矩阵;
-
建立模糊相似矩阵,初始化隶属矩阵;
-
算法开始迭代,直到目标函数收敛到极小值;
-
根据迭代结果,由最后的隶属矩阵确定数据所属的类,显示最后的聚类结果。
基于粒度的聚类方法:
基于粒度原理,研究还不完善。
量子聚类:
受物理学中量子机理和特性启发,可以用量子理论解决聚类记过依赖于初值和需要指定类别数的问题。一个很好的例子就是基于相关点的 Pott 自旋和统计机理提出的量子聚类模型。它把聚类问题看做一个物理系统。并且许多算例表明,对于传统聚类算法无能为力的几种聚类问题,该算法都得到了比较满意的结果。