第二节:聚类研究方法进展

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二节:聚类研究方法进展相关的知识,希望对你有一定的参考价值。

文章目录

聚类方法或算法大体分为如下三个阶段

  • 经典算法:这些算法是2000年以前提出的,面向早期数据库及相关应用开发
  • 高级算法:针对更复杂的数据和任务所开发的
  • 多源数据算法:针对多源相关数据开发的

本文先对【经典算法】部分进行叙述,后续部分在写到相关内容时补充即可

一:经典算法

(1)基于模型的算法

在概率模型中,核心思想是将数据描述成一个概率生成过程,具体来说

  • 首先,假设数据生成的概率模型,然后用期望最大化方法估计模型参数的个数
  • 由于模型的参数和分配对象到簇的概率是循环依赖的,通常采用迭代犯法解决这个循环依赖

期望最大化方法从一个随机或启发式的初始化开始,然后进行以下两个步骤的迭代

  • E E E-步骤:用当前的模型参数确定数据点分配到簇的期望概率
  • M M M-步骤:用分配概率作为权重确定模型参数

对不同的数据,可以采用不同的概率模型,例如

  • 数值数据:混合高斯模型
  • 属性数据:伯努利模型

(2)基于划分的算法

基于划分的算法按某种目标将数据划分为若干个组,划分结果是使目标函数值最大或最小化。但是这样的优化目标是NP难(意味着需要超多项式时间才可以解决)。因此在实际情况下需要使用贪心策略解决,具体来说

  • 首先为每个簇指定一个或若干个代表点
  • 根据目标函数用这些代表点对这个数据集进行划分
  • 在划分结果中重新选择代表点
  • 反复迭代直至收敛

当然,贪心策略所得的结果仅是局部最优解,而非全局最优

(3)基于密度的算法

在基于密度的算法中,每个数据点的密度通常会被解释为它的指定邻域内包含数据点的个数。基于密度的算法需要解释两个问题

  • 如何估计密度
  • 如何定义数据点之间的连接

基于密度的算法优劣如下

  • 优势:可以发现任意形状的簇
  • 劣势:在这种算法中密度是连续空间的概念很重要,它们在离散或非欧的数据空间中将失去意义,因此需要一种数据嵌入手段,这导致基于密度的算法难以处理高维数据

(4)基于网格的算法

这类方法将数据空间划分为网格,其中密度是指每个网格内数据点的数量,并将相邻的稠密网格拼接起来形成簇。不同网格的划分策略和密度阈值的选取会导致算法的不同

  • 由于低纬网格定义了子维子集的簇,所以基于网格的算法可以处理高维数据

(5)层次聚类算法

层次方法将簇按照不同的粒度分层表示,这些嵌套的簇构成树状结构。对于树状结构,自顶向下叫做分裂、自底向上叫做聚合,因此层次聚类算法又分为聚合和分裂两类

  • 聚合方法:采用自底向上的方法,从将每一个数据点作为一个簇开始,逐次合并相近的簇,直到所有的簇合并为一个簇(或满足某种条件);不同的合并策略将会导致不同的聚合算法,这些策略通常是算法质量和效率的权衡
  • 分裂方法:采用自顶向下的方法对数据集合进行持续的划分,得到一个树状结构,划分步骤可以用某种划分算法执行;分类方法在树状结构和簇平衡方面更加灵活

二:高级算法

(1)谱聚类

(2)高维数据聚类

A:轴平行子空间聚类

B:模式聚类

C:任意方向子空间聚类

(3)基于非负数矩阵分解聚类

(4)不确定数据聚类

三:多源数据算法

(1)多视角聚类

(2)多任务聚类

(3)多任务多视角聚类

(4)迁移聚类

(5)多模聚类

以上是关于第二节:聚类研究方法进展的主要内容,如果未能解决你的问题,请参考以下文章

第二节:谱聚类算法之切图聚类算法流程及其实现

第二节:层次聚类算法之BIRCH算法

聚类算法 - kmeans

聚类五种主要聚类算法

常用的聚类算法及聚类算法评价指标

聚类算法初探