什么是聚类?
聚类,顾名思义就是把一组对象划分成若干类,并且每个类里面对象之间的相似度较高,不同类里面对象之间相似度较低或差异明显。与分类不同的是聚类不依靠给定的类别对对象进行划分。
聚类算法的分类
聚类分析算法很多,大体上可以分为下面5类:
- 划分方法
- 层次的方法
- 基于密度的方法
- 基于网格的方法
- 基于模型的方法
- 划分方法
划分方法就是根据用户输入值K把给定对象分成K组(满足2个条件:1. 每个组至少包含一个对象。2. 每个对象必须且只属于一个组),每组都是一个聚类,然后利用循环再定位技术变换聚类里面的对象,直到客观划分标准(常成为相似函数,如距离)最优为止。典型代表:K-MEANS, K-MEDOIDS。 - 层次的方法
层次的方法对给定的对象集合进行层次分解。分为2类:凝聚的和分裂的。凝聚的方法也叫自底向上的方法,即一开始将每个对象作为一个单独的簇,然后根据一定标准进行合并,直到所有对象合并为一个簇或达到终止条件为止。分裂的方法也叫自顶向下的方法,即一开始将所有对象放到一个簇中,然后进行分裂,直到所有对象都成为单独的一个簇或达到终止条件为止。典型代表:CURE,BIRCH。 - 基于密度的方法
基于密度的方法即不断增长所获得的聚类直到邻近(对象)密度超过一定的阀值(如一个聚类中的对象数或一个给定半径内必须包含至少的对象数)为止。典型代表:DBSCAN,OPTICS。 - 基于网格的方法
基于网格的方法即将对象空间划分为有限数目的单元以形成网格结构。所有聚类操作都在这一网格结构上进行。典型代表:STING。 - 基于模型的方法
基于模型的方法即为每个聚类假设一个模型,然后按照模型去发现符合的对像。这样的方法经常基于这样的假设:数据是根据潜在的概率分布生成的。主要有2类:统计学方法和神经网络方法。典型代表:COBWEB,SOMS。