聚类算法综述

2019-09-04 10:14章永来周耀鉴
计算机应用 2019年7期
关键词:聚类

章永来 周耀鉴

摘 要:大数据时代,聚类这种无监督学习算法的地位尤为突出。近年来,对聚类算法的研究取得了长足的进步。首先,总结了聚类分析的全过程、相似性度量、聚类算法的新分类及其结果的评价等内容,将聚类算法重新划分为大数据聚类与小数据聚类两个大类,并特别对大数据聚类作了较为系统的分析与总结。此外,概述并分析了各类聚类算法的研究进展及其应用概况,并结合研究课题讨论了算法的发展趋势。

关键词:聚类;相似性度量;大数据聚类;小数据聚类;聚类评价

Abstract: Clustering is very important as an unsupervised learning algorithm in the age of big data. Recently, considerable progress has been made in the analysis of clustering algorithm. Firstly, the whole process of clustering, similarity measurement, new classification of clustering algorithms and evaluation on their results were summarized. Clustering algorithms were divided into two categories: big data clustering and small data clustering, and the systematic analysis and summary of big data clustering were carried out particularly. Moreover, the research progress and application of various clustering algorithms were summarized and analyzed, and the development trend of clustering algorithms was discussed in combination with the research topics.

Key words: clustering; similarity measurement; big data clustering; small data clustering; clustering evaluation

0 引言

把具有相似特性的實物放到一起是人类最原始的活动之一。这也是聚类的最初目的。早在1984年,Aldenderfer等[1]就已经提出了聚类分析的四大功能:一是数据分类的进一步扩展;二是对实体归类的概念性探索;三是通过数据探索而生成假说;四是一种基于实际数据集归类假说的测试方式。在很多情况下,样本数据集并没有分类,即每一个数据样本都没有分类标签。一般而言,聚类指将没有分类标签的数据集,分为若干个簇的过程,是一种无监督的分类方法[2]。实际上,很难对聚类下一个明确的定义。2001年,Everitt等[3]甚至指出提出聚类的正式定义不仅困难而且也没有必要,因为聚类分析本身是一种建立在主观判断基础上的相对行之有效的方法[4-5]。尽管如此,聚类分析还是表达了一般认为的“类内的相似性与类间的排他性”的目标。Hansen等[6]也已经作了数学上的阐述。给定一个数据样本集:

聚类分析是伴随着统计学、计算机学与人工智能等领域科学的发展而逐步发展起来的,为此,这些领域若有较大的研究进展,必然促进聚类分析算法的快速发展。比如机器学习领域的人工神经网络与支持向量机的发展就出现促生了基于神经网络的聚类方法与核聚类方法。目前,基于人工神经网络的深度学习(如:AlphaGo围棋系统)也必将推动聚类分析方法的进一步发展。到目前为止,聚类研究及其应用领域已经非常广泛,因此,本文主要以聚类分析算法为主要分析对象,兼论聚类分析的全过程。

关于聚类分析,《数据挖掘概念与技术(第二版)》一书中已经有了经典的论述。然而,聚类算法又有了长足的发展与进步。本文首先简要介绍了聚类分析的主要过程,然后分析并总结了样本点之间的相似性度量方法,提出了聚类算法的新分类方式,并总结与分析了各种聚类算法,还对如何评价聚类结果作了过程分析。最后,依靠课题组承担的医疗与海洋大数据的聚类分析研究[7-11],展望了聚类算法的发展趋势,作为本文的结语。

1 聚类分析过程

聚类分析是一个较为严密的数据分析过程。聚类分析的全过程如图1所示,从聚类对象数据源开始到得到聚类结果的知识存档为止,其中主要包括四个部分研究内容,即特征选择或变换、聚类算法选择或设计、聚类结果评价与聚类结果物理解析等。

1.1 特征选择或变换

一般情况下,样本数据是杂乱无章的(特别是大数据时代),聚类分析首先需要进行数据集的特征选择或变换。实际上,特征选择与特征变换是降维技术的两大分类。特征选择指的是从数据样本集的所有特征(或称属性)中选择更有利于达到某种目标的若干属性,即原始属性集的一个子集,同时也达到了降低维度的目的;而特征变换则是指通过某种变换将原始输入空间的属性映射到一个新的特征空间,然后在特征空间中根据规则选择某些较为重要的变换后的特征。由于特征选择并不改变其原有属性,所以结果只是一个原始属性的优化特征子集,保留了原属性的物理意义,方便用户理解;而特征变换的结果失去了原始特征的物理意义,但能够提取其隐含的特征信息,移除原特征集属性之间的相关性与冗余性。特征选择或变换在聚类分析过程中占据极其重要的地位,结果的优劣将直接影响最后的聚类效果,应该引起足够的重视。有时,特征选择或变换后得到的有效模式(或称子集)的作用甚至超过聚类算法本身的效用。

1.2 聚类算法选择或设计

依据特征选择或变换后的数据集特性,选择或设计聚类算法,是聚类分析的第二部分研究内容。如果样本集数据都是数值型数据,在选择或者设计聚类算法时需要注意量纲不同的问题。一般情况下,样本集数据不一定都是数值型数据,因此,聚类算法需要有处理非数值型数据的能力。各个样本点之间的相似性度量是聚类算法中的首要问题。相似性度量与经常提到的样本间“距离”有着相同的意义,但是,它们的取值却正好相反,即相似性度量值越大,“距离”越近。同样,相似性度量也是聚类分析全过程中的关键问题之一,将在后文进行详细的介绍与分析。

1.3 聚类结果评价与物理解析

聚类簇只能依靠聚类结束准则函数得到[12],需要特别指出的是,这种准则函数一般由人为设定的终止条件实现,而这些终止条件并没有统一的标准。由此可见聚类分析是一个主观的归类过程,所以在聚类簇生成以后,必须对聚类结果进行综合评价。聚类分析的本来目标是得到特定数据集中隐含的数据结构。更何况,对于同样一个数据集,不同的聚类算法一般会得到不同的聚类簇。然而,对聚类结果作了评价之后,仍然不能改变聚类分析是“通过数据探索而生成假说”的实质,因此,最后需要对聚类结果作物理上的解析。

在聚类结果评价后一段较长的时间内,需要对一种或者几种聚类结果假说,总结出实际的物理意义。聚类簇的物理解析应该与具有实际工作经验的专家作深入的探讨与分析。最后才可以将探讨的结果加入到知识库,作为进一步研究的依据。可见,聚类物理解析并不属于学术研究的范畴,而是一个长期的验证过程。

2 相似性度量

聚类分析是将数据集的相似性样本归为若干类的方法,因此,如何度量样本之间的相似性是聚类算法的关键问题。假设样本间的相似性满足对称性、非负性和反身性,则称样本间的相似性具有可度量性(Metric)。另外,需要注意的是,三角不等式的半度量(SemiMetric)和超度量(UltraMetric)这两种非可度量方式不在本文的探讨范围内。数据集的特征一般分为三种:连续性变量(或称定量型变量)、离散性变量(或称定性型变量)和混合变量。相应的,有三种相似性度量方法。

2.1 连续性变量的相似性度量

其中:D表示样本之间的距离;l是样本特征的维数;d表示样本的总维数(以下同),即样本特征的总数量。D表示样本之間的距离;Xi与Xj表示一个向量,或称为样本点或者样本;l是样本特征的维数;xil与xjl表示一个变量,或称为属性;d表示样本的总维数,即样本特征的总数量(以下同)。欧氏距离是一种二范数形式,具有在特征空间中转化和旋转的不变性,一般趋向于构建球形聚类簇。然而,属性值相差较大或线性变换都会使相关性产生形变[13-14]。

为了解决这个问题,需要标准化处理目标数据集,使每一个属性对距离的贡献率相同,这也是消除特征之间量纲差异的常规方式。在进行数据分析之前,需要对样本集在均值与方差上作标准化处理[15]。标准化计算公式如下:

其中:m为均值;S为方差;*表示特征的原值(以下同)。另外,为了去掉不同属性值间在量纲上的差别,需要对样本集作正则化处理。例如在[0,1]区间内的正则化公式为:

在二维空间中,切比雪夫距离的典型应用是解决国际象棋中的国王从一个格子走到另一个格子最少需要几步的问题。这种距离在模糊C-Means方法[16-17]中得到了有效应用。切比雪夫距离的公式可以表示为:

回复:需要修改文字说明。最好在式(4)后面的文字说明中做统一地修改。

原内容为"其中:D表示样本之间的距离;l是样本特征的维数;d表示样本的总维数(以下同),即样本特征的总数量。"现修改为"其中:D表示样本之间的距离;Xi与Xj表示一个向量或称为样本点或者样本;l是样本特征的维数;xil与xjl表示一个变量或称为属性;d表示样本的总维数,即样本特征的总数量(以下同)。"

另外,我们还发现了一个公式中的问题。请将式(4)与式(8)中根号里的逗号改为减号,即将 (xil , xjl)2改为(xil - xjl)2

此公式的另外一种表示形式为:

3)曼哈顿距离(Manhattan Distance)。

在城市中生活,只能沿着街道从一个地方到另一个地方,为此,人们将生活中熟悉的城市街区距离(City Block Distance)形象地称为曼哈顿距离。该距离的计算公式为:

曼哈顿距离在基于自适应谐振理论(Adaptive Resonance Theory, ART)的同步聚类(SYnchronization Clustering, SYC)中有较好的应用;但是,需要注意的是这种距离不再符合在特征空间中转化和旋转的不变性。

4)闵可夫斯基距离(Minkowski Distance)。

闵可夫斯基距离是一种p范数的形式,公式可以表示为:

从式(10)可见:若p为无穷大时,这种距离可以称为切比雪夫距离;若p=2时就是欧几里得距离;那么当p=1时,就是曼哈顿距离。

5)马氏距离(Mahalanobis Distance)。

马氏距离是一种关于协方差矩阵的距离度量表示方法,其公式为:

回复:需要修改文字说明。其中Xi和Xj的问题已经在问题(2)中统一做了说明。

原内容为"马氏距离的优点是距离与属性的量纲无关,"现修改为"其中:T表示转置,S为样本协方差矩阵。马氏距离的优点是距离与属性的量纲无关,"。

其中:T表示转置,S为样本协方差矩阵。马氏距离的优点是距离与属性的量纲无关,

马氏距离的优点是距离与属性的量纲无关,并排除了属性之间的相关性干扰。若各个属性之间独立同分布,则协方差矩阵为单位矩阵。这样,平方马氏距离也就转化为了欧氏距离[18-19]。

猜你喜欢
聚类
K-means算法概述
K-means聚类方法在图像色彩中的应用
基于模糊聚类和支持向量回归的成绩预测
一种基于广域测量信息的在线同调分群方法
针对Kmeans初始聚类中心优化的PCATDKM算法
基于流形学习的自适应反馈聚类中心确定方法
交通监控中基于模糊聚类的无线传感网MAC协议
基于密度的自适应搜索增量聚类法
数据挖掘的主要技术
K—means算法研究综述