CLIQUE算法----子空间聚类算法

CLIQUE:一种类似于Apriori的子空间聚类算法

        CLIQUE算法是基于网格的空间聚类算法,但它同时也非常好的结合了基于密度的聚类算法,因此既能够发现任意形状的簇,又可以像基于网格的算法一样处理较大的多维数据。

  CLIQUE算法把每个维划分成不重叠的社区,从而把数据对象的整个嵌入空间划分成单元,它使用一个密度阈值来识别稠密单位,一个单元是稠密的,如果映射到它的对象超过密度阈值。

  总结之就是:CLIQUE算法是一种基于网格的聚类算法,用于发现子空间中基于密度的簇。

 

  算法概述:

  算法需要两个参数:一个是网格的步长,第二个是密度的阈值

  网格步长确定了空间的划分,而密度阈值用来定义密集网格

   聚类思想:

  (1)     首先扫描所有网格。当发现第一个密集网格时,便以该网格开始扩展,扩展原则是若一个网格与已知密集区域内的网格邻接并且其其自身也是密集的,则将该网格加入到该秘籍区域中,知道不再有这样的网格被发现为止。(密集网格合并)

  (2)     算法再继续扫描网格并重复上述过程,知道所有网格被遍历。以自动地发现最高维的子空间,高密度聚类存在于这些子空间中,并且对元组的输入顺序不敏感,无需假设任何规范的数据分布,它随输入数据的大小线性地扩展,当数据的维数增加时具有良好的可伸缩性。

  CLIQUE算法----子空间聚类算法_第1张图片

  聚类算法如上图所示,总结之就是:首先判断是不是密集网格,如果是密集网格。那么对其相邻的网格进行遍历,看是否是密集网格,如果是的话,那么属于同一个簇。

   CLIQUE优点:

  (1)      给定每个属性的划分,单遍数据扫描就可以确定每个对象的网格单元和网格单元的计数。

  (2)      尽管潜在的网格单元数量可能很高,但是只需要为非空单元创建网格。

  (3)      将每个对象指派到一个单元并计算每个单元的密度的时间复杂度和空间复杂度为O(m),整个聚类过程是非常高效的

   缺点:

  (1)      像大多数基于密度的聚类算法一样,基于网格的聚类非常依赖于密度阈值的选择。(太高,簇可能丢失。太低,本应分开的簇可能被合并)

  (2)      如果存在不同密度的簇和噪声,则也许不可能找到适合于数据空间所有部分的值。

  (3)      随着维度的增加,网格单元个数迅速增加(指数增长)。即对于高维数据,基于网格的聚类倾向于效果很差。
 

你可能感兴趣的:(机器学习,子空间聚类算法)