看完这篇,你还敢说不懂聚类分析?


来源:量化研究方法
数据分析中的应用,最常用的经典算法之一就是聚类法,这是数据挖掘采用的起步技术,也是数据挖掘入门的一项关键技术。什么是聚类分析?聚类分析有什么用?聚类算法有哪些?聚类分析的应用…… 这些问题的探究可为大数据时代数据挖掘找到关键突破口!
 

一、什么是聚类分析?

聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程,其目的是在相似的基础上收集数据来分类。

聚类类似于分类,但与分类的目的不同,是针对数据的相似性和差异性将一组数据分为几个类别。属于同一类别的数据间的相似性很大,但不同类别之间数据的相似性很小,跨类的数据关联性很低。聚类与分类的不同还在于,聚类所要求划分的类是未知的。
 

二、聚类分析的重要性

“物以类聚,人以群分”,这是人类几千年来认识世界和社会的基本能力,是从大数据中发现价值必须面对的一个普遍性、基础性问题,是认知科学作为 “学科的学科” 要解决的首要问题。

无论是政治、经济、文学、历史、社会、文化、还是数理、化工、医农、交通、地理、各行各业的大数据或宏观或微观的任何价值发现,无不借助于大数据聚类分析的结果,因此,数据分析和挖掘的首要问题是聚类,这种聚类是跨学科、跨领域、跨媒体的。大数据聚类是数据密集型科学的基础性、普遍性问题。

可以毫不夸张的讲,如果聚类算法都搞不明白,或者说没有 “落地” 的 “实例”,那说在搞数据挖掘就纯粹是忽悠了。

人类的认知科学要想有所突破,首先就要在大数据聚类上去的突破,聚类是挖掘大数据资产价值的第一步。
 

三、聚类算法的种类

作为数据挖掘中很活跃的一个研究领域,聚类分析有多种算法。
 

1. 基于划分聚类算法

  • k-means:是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据
  • k-modes:K-Means 算法的扩展,采用简单匹配方法来度量分类型数据的相似度
  • k-prototypes:结合了 K-Means 和 K-Modes 两种算法,能够处理混合型数据
  • k-medoids:在迭代过程中选择簇中的某点作为聚点,PAM 是典型的 k-medoids 算法
  • CLARA:CLARA 算法在 PAM 的基础上采用了抽样技术,能够处理大规模数据
  • CLARANS:CLARANS 算法融合了 PAM 和 CLARA 两者的优点,是第一个用于空间数据库的聚类算法
  • Focused CLARAN:采用了空间索引技术提高了 CLARANS 算法的效率
  • PCM:模糊集合理论引入聚类分析中并提出了 PCM 模糊聚类算法


2. 基于层次聚类算法

  • CURE:采用抽样技术先对数据集 D 随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类
  • ROCK:也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响
  • CHEMALOEN(变色龙算法):首先由数据集构造成一个 K - 最近邻图 Gk , 再通过一个图的划分算法将图 Gk 划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇
  • SBAC:SBAC 算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值
  • BIRCH:BIRCH 算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程
  • BUBBLE:BUBBLE 算法则把 BIRCH 算法的中心和半径概念推广到普通的距离空间
  • BUBBLE-FM:BUBBLE-FM 算法通过减少距离计算次数,提高了 BUBBLE 算法的效率


3. 基于密度聚类算法

  • DBSCAN:DBSCAN 算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了 “核心对象” 和 “密度可达” 等概念,从核心对象出发,把所有密度可达的对象组成一个簇
  • GDBSCAN:算法通过泛化 DBSCAN 算法中邻域的概念,以适应空间对象的特点
  • OPTICS:OPTICS 算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到用户满意的结果
  • FDC:FDC 算法通过构造 k-d tree 把整个数据空间划分成若干个矩形空间,当空间维数较少时可以大大提高 DBSCAN 的效率
     

4. 基于网格的聚类算法

  • STING:利用网格单元保存数据统计信息,从而实现多分辨率的聚类
  • WaveCluster:在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。(备注:小波算法在信号处理,图形图像,加密解密等领域有重要应用,是一种比较高深和牛逼的东西)
  • CLIQUE:是一种结合了网格和密度的聚类算法


5. 基于神经网络的聚类算法

自组织神经网络 SOM:该方法的基本思想是 -- 由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征


6. 基于统计学的聚类算法

COBWeb:COBWeb 是一个通用的概念聚类方法,它用分类树的形式表现层次聚类

AutoClass:是以概率混合模型为基础,利用属性的概率分布来描述聚类,该方法能够处理混合型的数据,但要求各属性相互独立

聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。
 

四、聚类分析的应用


1. 商业

聚类分析被用来发现不同的客户群,并且通过购买模式刻画不同的客户群的特征。聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理。
 

2. 电子商务

聚类分析在电子商务中网站建设数据挖掘中也是很重要的一个方面,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,可以更好的帮助电子商务的用户了解自己的客户,向客户提供更合适的服务。

大数据作为网络时代的一种客观存在,是网络时代人类社会的重要资产,数据数量巨大等给人们的认知造成了很大的困扰,尽管目前对于大数据的认知存在挑战,但聚类将会成为大数据认知的突破口,这是一个发展趋向。