首页 理论教育聚类分析算法及应用-大数据挖掘技术在医药领域的成功案例

聚类分析算法及应用-大数据挖掘技术在医药领域的成功案例

【摘要】:聚类分析的算法可以分为划分的方法、层次的方法、基于密度的方法、基于网格的方法、基于模型的方法等,其中,前两种方法最常用。图4-6层次聚类法示例4.基于网格的方法基于网格的聚类方法采用一个网格数据结构,把对象空间量化为有限数目的单元,形成了一个网格结构。

聚类分析算法可以分为划分的方法(Partitioning Method)、层次的方法(Hierarchical Method)、基于密度的方法(Density-based Method)、基于网格的方法(Grid-based Method)、基于模型的方法(Model-based Method)等,其中,前两种方法最常用。

1.划分的方法(Partitioning Method)

基于“上限—中心点—重心”的原理,以距离作为数据集中不同数据间的相似性度量,将数据集划分成多个簇。给定一个有N个元组或者记录的数据集,分裂法将构造K个分组,每个分组就代表一个聚类,K<N,而且这K个分组满足下列几个条件:每个分组至少包含一个数据记录;每一个数据记录属于且仅属于一个分组(在某些模糊聚类算法中可以放宽)。对于一个给定的K,算法首先给出一个初始的分组方法,以后通过反复迭代的方法改变分组,使得每一次改进之后的分组方案都较前一次好。好的标准就是同组记录越来越近,不同组记录越来越好。使用这个算法的基本思想:KMeans算法、Kmedoid算法、CLARANS算法。

2.层次法(Hierarchical Method)

层次方法是对给定数据对象集合进行层次的分解。凝聚,自底向上;分裂,自顶向下。缺点是一旦一个步骤(合并或分裂)完成,它就不能被撤销,因此,不能更正错误的决定。代表算法有BIRCH算法(利用层次方法的平衡迭代归约和聚类)、CURE算法(利用代表点聚类)。

层次的方法,指依次让最相似的数据对象两两合并,这样不断地合并,最终就形成了一个聚类数。

AGNES(Agglomerative Nesting)是凝聚的层次聚类算法,如果簇C1中的一个对象和簇C2中的一个对象之间的距离是所有属于不同簇的对象间欧氏距离最小的,C1和C2可能被合并。这是一种单连接方法,其每个簇可以被簇中的所有对象代表,两个簇之间的相似度由这两个簇中距离最近的数据点对的相似度来确定。

DIANA(Divisive Analysis)算法属于分裂的层次聚类。首先将所有的对象初始化到一个簇中,然后根据一些原则(比如最邻近的最大欧氏距离)将该簇分类,直到到达用户指定的簇数目或者两个簇之间的距离超过了某个阈值。层次聚类示例如图4-6所示。

3.基于密度的方法(Density-based Method)

它与其他方法的根本区别:不是基于各种各样的距离的算法,而是基于密度的算法,这样就能克服基于距离的算法只能发现“类圆形”聚类的缺点。其主要思想是,只要临近区域的密度超过某个阈值,就继续聚类。这样的方法可以用来过滤“噪声”孤立点数据,发现任意形状的簇。代表算法有DBSCAN算法(基于高密度连接区域的密度聚类方法)、OPTICS算法、DENCLUE算法。(www.chuimin.cn)

图4-6 层次聚类法示例

4.基于网格的方法(Grid-based Method)

基于网格的聚类方法采用一个网格数据结构,把对象空间量化为有限数目的单元,形成了一个网格结构。优点是处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。代表算法有STING算法(统计信息风格)、CLIQUE算法、WAVE-CLUSTER算法。

5.基于模型的方法(Model-based Method)

给每个聚类假设一个模型(如密度分布函数),然后去寻找能很好地满足这个模型的数据集。它潜在的一个假定是,目标数据集是由一系列的概率分布所决定的。通常有两种:统计的方案和神经网络方案。

在病理分析时发现肺癌患者的头发中微量元素的含量与正常人相比有异常变化。如果以Cr、Cd及As含量的一个函数作为变量x1,x1=f(Cr,Cd,As);以Se、Zn含量的另一个函数作为变量x2,则x2=g(Se,Zn),在以x1为横坐标,x2为纵坐标的平面上,每个检查者按这些微量元素的含量在该平面上占据一点,其分布情况如下:

图4-7 肺癌患者的头发中微量元素的聚类分析示例