答:聚类是将数据划分为相似对象组的过程,使得同一组中对象相似度最大而不同组中对象相似度最小。
主要有以下几种类型方法:
(1)划分方法:
给定一个有N个元组或者记录的数据集,分裂法将构造K个分组,每一个分组就代表一个聚类,K<N。而且这K 个分组满足以下条件:第一,每一个分组至少包含一条记录;第二,每一条记录属于且仅属于一个分组(注意:这个要求在某些模糊聚类算法中可以放宽);对于给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改良之后的分组方案都较前一次好,而所谓好的标准就是:同一分组中的记录越近越好,而不同分组中的记录越远越好。 使用这个根本思想的算法有:K-MEANS算法、K-MEDOIDS算法、CLARANS 算法。
(2)层次方法:
这种方法对给定的数据集进展层次似的分解,直到某种条件满足为止。具体又可分为“自底向上"和“自顶向下"两种方案。例如在“自底向上"方案中,初始时每一个数据记录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。 代表算法有:BIRCH算法、CURE算法、CHAMELEON算法等。
(3)基于密度的方法:
基于密度的方法与其它方法的一个根本区别是:它不是基于各种各样的距离,而是基于密度的。这样就能克制基于距离的算法只能发现“类圆形"的聚类的缺点。这个方法的指导思想就是:只要一个区域中的点的密度大过某个闵值,就把它加到与之相近的聚类中去。
代表算法有:DBSCAN 算法、 OPTICS算法、DENCLUE算法等。
(4)基于模型的方法:
基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据。这样一个模型可能是数据点在空间中的密度分布函数或者其它。它的一个潜在假定就是:目标数据集是由一系列的概率分布所决定的。 基于模型的方法主要有两类:统计学方法和神经网络方法(SOM)。