文献综述(或调研报告):
1.k-means和层次聚类的调研
K-means聚类算法是一种基于样本间相似性度量的间接聚类方法,其算法思路比较简单:首先从n个数据对象中任意选择k个对象作为初始聚类中心;对于所剩下的其他对象,根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直至标准测度函数开始收敛为止.图为k-means聚类算法的串行计算流程。
串行实现算法的时间复杂度比较高,为ntimes;ktimes;ttimes;O,其中:n为数据对象总个数;k 为期望得
到的聚类的个数;t为算法迭代的次数;O 为一次迭代中计算待分配数据到中心点距离的时间复杂
度.如果有1times;104 个数据对象需要聚成100个类,那么1次迭代中需要完成1times;106 次计算数据对象到中心点的距离这个基本操作,这是算法中最耗时的部分,也是容易进行并行处理的:1个数
据对象在完成与k 个聚类中心的距离比较的同时,其他数据对象也可以与聚类中心进行比较。
层次聚类[1] 方法对给定的数据集进行层次的分解,直到某种条件满足为止。具体又可分为凝聚的,分裂的两种方案。
1凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。
2分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。
