随着智能手机的普及和自媒体的蓬勃发展,大数据时代下人们对数据分析
[1]的需求更加迫切和必要。狭义数据分析是用统计法对数据进行处理、归纳并提炼数据的有用信息,从而为管理决策提供支持。广义数据分析包括狭义数据分析和数据挖掘。利用多元统计方法挖掘隐藏在数据背后的、潜在的信息的过程称为数据挖掘
[2]。在数据分析中,最基本的任务是对数据分类,它主要包括监督学习和无监督学习两种。监督分类中的数据具有类标签(即具有答案),并将数据划分为训练集和测试集,通过训练数据建立一个分类器模型,采用测试集对模型进行修正,使用该模型对未知数据的所属类进行预测
[3]。模式识别和机器学习
[4]的主要内容也是建立监督学习的分类器。然而,在实际中,原始数据是采用各种传感器检测获取的,没有可用的类标签,因此需要采用无监督学习方法。主要的无监督分类是聚类(clustering)
[5]或称探索性数据分析。聚类技术是将未标记的数据划分成有限的、离散的数据子集
[5],最大的优势是能够发现数据固有的聚类结构,而不要求原始数据提供类标签信息。按照数据点之间的相似性
[6],聚类把数据划分成不同的簇或集群(或组),使得同一簇中数据具有最大的相似性,而具有相异性的数据能被明确地分离开来。根据所生成的数据簇特性,聚类可分为层次聚类和分区聚类。层次聚类是用嵌套分区序列对整个数据集进行分类,从每个数据点作为一个单独集群逐步合并,直到所有样本点都属于同一个聚类的过程称为凝聚层次聚类;与之相反,由所有数据点为一个集群逐步划分到每个样本,形成一个单独聚类的过程称为分裂层次聚类。在没有分层结构的情况下,直接将数据点划分为预先指定数量集群的方法,称为分区聚类。在实际中,应用最为广泛的聚类是分区聚类,而其中最著名且经典的方法是
K-均值聚类算法
[7-8]及其改进版本。
在数据聚类分析中,经典
K-均值聚类算法具有易于执行且它的计算效率高的特点,获得了广泛的应用,然而它也有两个主要缺陷
[9-10]:一是聚类结果对算法随机所选择的聚类中心非常敏感,即不同的初始选择将影响算法最终所产生的收敛质心;二是在无推理前提下,用户需要指定数据的聚类数量,这对于现实世界中复杂、未知的数据集来说是不可能的。
为解决
K-均值聚类算法的问题,很多学者提出了相应的改进方案。针对随机初始化问题,依据变异系数最大值和相关绝对值的最小值,通过选择两个主变量来计算初始聚类中心
[11];采用初始种子选择算法以确定数据的初始划分
[12];利用鲁棒密度初始化将种子点定位在数据集的密集区域以实现聚类的初始化
[13];在算法每次运行中,使用数据的一个属性创建一个初始聚类,并将多次运行的聚类结果组合起来形成初始的划分
[14]。在确定聚类数量方面,将最大稳定集与连续Hopfield网络相结合估计聚类数量
[15];为提高差分进化自动聚类(automatic clustering using differential evolution,ACDE)的性能,使用U-控制图法,结合ACDE以确定聚类数量
[16];基于查找聚类均值有效性的聚类指数,结合核心函数指数及均值性质确定新的聚类中心和聚类数量
[17];通过计算基于中心点的偏差比指数(deviation ratio index,DRI)来确定聚类的数量
[18];在数据分区之前,利用相似性矩阵的易感性确定最佳的聚类数量
[19]。