黄海兵,吴云星,谷艳昌
(1.南京水利科学研究院,江苏 南京 210029;2.水利部大坝安全管理中心,江苏 南京 210029)
随着水利工程建设的不断推进,它在国家经济民生中发挥着越来越重要的作用,特别是高坝大库的发展,使得水库大坝不仅在防止洪涝等民生安全方面起到了巨大的保障作用,也在发电等方面发挥着巨大的经济效益。而这一切的基础即是大坝能安全运行,所以对大坝进行运行性态分析就显得尤为重要[1]。普遍地,为了更加全面监测大坝的运行性态,通常是在坝体上布设更加系统化的监测测点,以获取更加全面的监测数据资料,继而监测大坝的各项运行指标。然而数据资料太多又会导致分析处理繁琐的问题,若对海量的监测数据资料进行逐一分析,这不仅耗时耗力,也不利于及时得到有效的信息以迅速对大坝的运行状况进行评价[2]。因此,就需要对海量的数据进行深度的挖掘,从中找到数据之间隐含的、有价值的、能理解的趋向与关联,进而降低数据分析复杂度,提高大坝管理者的分析、决策能力[3]。聚类算法作为一种数据挖掘中广泛运用的机器算法,它解决的难题是把一个数据集合重构为若干个子集。而且每个子集在依据原则下具有一定的相似性,并在不同子集间具有尽可能大的相异性[4]。
目前,聚类已成为在遥感、客户关系管理、医学、市场营销、电信、军事、商业领域和金融等领域中常用的统计数据分析技术[5-9],但在大坝监测资料分析中应用的综合性研究论述还比较少。因此,本文首先阐述数据挖掘中聚类算法的发展及其研究现状,然后论述聚类算法在大坝安全监控领域中应用内容及成果,最后讨论大坝安全监控应用聚类算法需要关注的关键问题,以供相关人员参考学习[10]。
随着大数据时代的蓬勃发展,聚类算法在日益增加的数据量与日益多样化的数据形态的处理分析中变得越来越广泛,这也促使了一系列不同特点的聚类算法的发展,以满足各式各样数据类型的处理要求。聚类算法一般可分为传统聚类[11]、模糊聚类[12]以及智能聚类[13]。
传统聚类算法主要有以下4种划分:[14]。
(1)划分聚类法
该聚类算法的基本思路是利用分裂的方式把一个由n个元组组成的集合分割为k个类别,每一个类别有且仅包含一个对象。现假设集合C:
C={X1,…,Xi,…,Xn},Xi=(xi1,…,xid)
(1)
式中,Xi—样本点;Xid—该样本的属性、特征、变量等,有d个维度。
使用此类划分思想的代表性算法包括k-means(由其质心作为聚类中心,对极值很敏感)、k-medoids(由其中位数作为聚类中心)、EM、CLARA、CLARANS等。基于划分的聚类的优缺点都十分明显,其优点主要体现在收敛速度快,模型参数少(仅有一个聚类中心数k),并且当类间区分明显时,划分效果好;其缺点即为数据类型适应性差,仅能用于定义平均值的数据类型,受聚类中心数的影响较大,聚类的好坏完全受到k的影响。
(2)密度聚类法
基于密度的方法最主要的特点就是对数据集合进行处理,如果某区域点的密度超过了设定的限值,则把该点归之邻近的其他类别中。其中密度聚类算法最有代表的为DBSCAN算法,其核心是该算法的每一个簇为所有连续密度数据的最大集合。冯少荣[15]针对DBSCAN算法中对输入参数敏感、运行内存量大等缺点,提出算法参数的动态变化以适应结果要求,并且采用并行化处理对数据进行划分,从而提高聚类效率,降低内存要求。
此外,还有OPTICS、DENCLUE等基于密度的聚类,OPTICS能够有效改善DBSCAN对与输入参数领域E等的敏感性,而DENCLUE是根据确定的密度分布函数进行聚类分析。
(3)网格聚类法
网格聚类方法的特点在于其处理速度与点集合对象的个数无关,只和网络结构的各个维中的单元个数有关,以此具有较高的计算速度。基于网格结构的划分可根据划分方向分为自底向上划分网格和自上而下划分网格两种。
其中CLIQUE、STING、Wave Cluster等是网格聚类的典型。此外,网格聚类往往会和其他方法相嵌合运用,且和密度聚类算法嵌合最多,从而衍生出一系列综合类算法,如SCI、MAFIA、DCLUST、GCHL等。
(4)层次聚类法
基于层次的方法顾名思义在对数据进行聚类处理的时候,会形成一个类似二叉树的结构,对集合进行层次似分解,最后只剩下一个大类结束。层次聚类构造树的形式有凝聚法和分裂法。
其中AGNES、BIRCH、CURE等是凝聚法手段的代表;而分裂法就是自上而下法,它推求将所有的对象置于一类,不断细分为更小的类,DIANA等是其主要代表。
传统的聚类是属于一种“硬”聚类方法,它的判定规则为0与1,即对象间有清晰的分解。但实际上,许多对象的要素无法有一个精准的表示,所以模糊聚类方法就应运而生。
目前,模糊聚类算法的种类繁多,而应用最广泛的是依据目标函数的模糊聚类,此类分析算法将聚类看作为一个有限制条件的非线性问题,进而转化为解决问题的最优化来完成对集合的聚类。而在众多基于目标函数的聚类算法中,Bezdek[16]于1973年创立的模糊C-均值聚类(FCM)理论是典型的代表。
FCM算法有一个最显而易见的缺点,即它的性能取决于初始聚类中心,优化结果通常会陷入局部最优,并非全局最优[17]。解决思路一般有两类,一类是在每个初始聚类中心进行计算,然后多次迭代FCM算法,直到符合结果条件。一类是通过蛙跳、粒子群、遗传算法等优化算法进行计算初始聚类中心。以第二类为基础发展而来算法就是智能聚类算法。
智能聚类主要有:人工神经网络聚类、核聚类和智能搜索聚类等。
(1)人工神经网络聚类
人工神经网络通过模拟人类大脑的神经系统而得名,它具有很强的非线性逼近能力,可以适应各种由传统数学模型无法描述的复杂系统,从而可以很好地应用于模式分类。自组织神经映射(SOM)[18]是应用人工神经网络实现聚类的目的。该方法能够对数据进行无监督学习聚类,将高维空间上的点映射到低维空间,并保持数据点间的距离和邻近关系一定,从而实现可视化。此外,还有改进的SOM算法和基于投影自适应谐振理论的人工神经网络聚类[19]。
(2)核聚类
核聚类采用支持向量机中的核函数。该聚类依据Mecer理论,进行核变换,将数据集的低维度样本映射到高维度,使之被较好地处理、分析并增显有效的要素,最后完成聚类[20]。将输入空间样本Xi∈R通过某种非线性映射φ到某一特征空间,x→φ(x),一般通过Mercer核表示为:
K(xi,xj)=(φ(xi),φ(xj))
(2)
式中,K(xi,xj)—Mercer核函数;φ(xi)、φ(xj)—样本xi和xj在高维特征代间中的像。
核函数是定义低维与高维的映射规则,目前应用较多的有高斯核函数、多项式核函数和线性核函数等。
(3)智能聚类
智能聚类,是指运用智能方法搜索解空间的启发式聚类算法,通过一些智能优化算法,以聚类问题中评价函数为目标函数,搜寻聚类问题的全局最优解,避免了传统聚类方法容易陷入局部最优的问题,加快收敛速度,降低一些聚类算法对初始值的敏感度。用于聚类问题的代表性启发式算法有:模拟退火算法、遗传算法、蛙跳算法、粒子群算法、灰狼算法等。
由于传统聚类算法在大坝安全监控中应用的研究成果和综述文献[21]非常多,所以本文重点对模糊聚类算法和智能聚类算法在大坝安全监控中的应用进行展开阐述。
为了提高监测资料的分析效率,诸多学者将基于模糊数学的聚类分析方法应用到大坝监测资料的分析中。模糊聚类分析法大致可分为两种[22]:
(1)系统聚类分析法
系统聚类分析是基于模糊关系的聚类算法,其基本操作流程为:首先选定系统中具有实际意义和强解释性的代表性指标如水头、气温、时效等荷载集以及变形、裂缝开度、应力应变等荷载效应集;然后将各样本点的统计指标进行标准化处理,消除量纲的影响,便于比较分析;其次进行标定,计算出分类对象间的相似程度的统计量,用模糊相似矩阵表示:
(3)
式中,rij=R(xi,xj) (i,j=1,2…,n)—两对象之间的相似程度。可采用欧氏距离、数量积法、相关系数法等进行计算。
给定不同的阈值λ,若rij≥λ,则xi,xj被聚类一类。根据不同阈值,得出动态聚类结果[23]。其中廖铖等人[24],根据模糊聚类方法,对水布垭面板堆石坝的面板挠度变形监测数据进行分析,根据相关系数法建立测点间的模糊相似矩阵,并采用二次法构造模糊等价矩阵,根据不同阈值,得出动态聚类结果,随后采用F统计量评价聚类效果以确定最佳聚类结果,通过对关键面板的详细分析,具有较高的拟合度。因此采用模糊聚类分析法处理大坝监测资料能够在掌握大坝运行状况前提下,减少了工作量,提高了分析效率。贾彩虹等人[25],采用灰色关联度法建立新安江大坝部分坝段坝基时序扬压力值的关联相似矩阵,并以此构造模糊相似矩阵,同时基于测点测值的变化规律,对各坝段扬压力依据相似度来进行聚类,继而实现以已知预测未知的目标,并以此预测同类坝段坝基扬压力值,预报结果精度较高。
(2)逐步聚类分析方法
系统聚类方法能够一次形成分类,但缺点是数据太多,计算量较大。而逐步聚类分析则是对数据进行迭代分级,计算不同级别下各个特征因子的“聚类中心”,该方法可对预报日进行因变量的预测[26]。逐步模糊聚类通常采用模糊划分,即样本j以某一从属度uij从属于第i类,然后根据公式不断迭代求得满足要求的最佳软分划矩阵和聚类中心,最后采用直接划分或者二次分类方法求得样本所属类别。
(1)基于SOM神经网络的聚类算法
Kohonen聚类算法通过竞争型无指导方式而构造的神经网络来对样本中的点分析计算分类。所谓竞争型即是“胜者为王”,无指导即是模型无期望[27]。该方法具有两个主要特点:它是一种递增的方法;它能将聚类中心点映射到二维平面上而实现可视化。
陈悦等人[27]选取某特高混凝土双曲拱坝大坝测点变形值的“相对距离”和“增速距离”作为评价数据,采用Kohonen聚类算法训练模型,挖掘测点时空数据的相似性,识别大坝变形监测点的空间聚集情况,体现了坝体变形的空间特征,聚类结果与实际情况相符,并对聚类结果中的典型测点进行分析,在考虑各测点变形序列的空间关联性同时,减少工作量,提高分析效率。此外,Kohonen聚类分析还可以探测时空分布中出现异常情况的测点以及利用测点变形的规律性进行同类数据的缺失性填补。
(2)基于蚂蚁觅食的聚类算法
蚁群算法具有显著的全局优化能力。其他学者在此基础上,与聚类的思想相结合,发展出了于蚁群的聚类算法[28]。如果把数据样本处理成不同属性的蚂蚁,聚类中心则为蚂蚁要觅得的“食物源”,那么分析聚类可以形象地比作蚂蚁觅食[29]。
假设数据对象为:
X={X|Xi=(xi1,xi2,…,xim),i=1,2…N}
(4)
式中,i—样本数;m—样本维度,算法初始化操作,则τij(0)=0,设置簇半径以及误差等参数,计算对象间的距离dij,则各路径上的信息素为[30]:
(5)
式中,r—聚类半径。
其中黄潇霏等人[31]采用RBF神经网络,将影响大坝变形的主要因素作为输入,变形量作为输出,建立大坝监控模型,同时采用蚁群觅食聚类算法应用与径向基神经网络函数中心向量的选择,使得样本集内的向量距离该中心的距离最小,以改善大坝监测模型的预测效果。
(3)基于粒子群的聚类算法
该算法是Omran等人于2002年提出的一种聚类算法。除基本粒子群聚类算法外,还有与k-means、模糊C均值算法相结合的混合算法。试验表明,混合算法在处理聚类问题时好于传统算法的有效性评价指数,并减小陷入局部最优概率,提高收敛速度[32]。
其中王伟等人[33]利用粒子群优化算法全局搜索能力强、调整参数少、易于实现特点,将模糊聚类算法中的计算条件转换为优化问题,在全局最优情况下的模糊划分矩阵以及聚类中心向量,并据此划分待测样本的归类,输出样本的预报区间,并以新安江拦河坝的位移作为计算数据并将其进行划分,根据各影响因子建立模糊矩阵,对待测样本进行位移的区间预报。
由上述聚类算法在大坝安全监控应用的相关分析可知:不同聚类算法的适应情况不同,一般从收敛速度、初值敏感性、抗噪性能及结果精度比较3种聚类算法的优劣势,具体对比内容见表1。
表1 三种聚类算法的比较
采用聚类算法进行大坝安全监控分析,有核函数的选择、分析精度和分析效率的权衡等关键问题。
核函数作为聚类算法的控制函数,因变量的输入离核函数中心越远,中间层的激活程度就越低,这就使得隐层节点中心和基函数宽度的确定会直接影响算法的收敛速度。所以为改善大坝监测模型的预测效果,有必要采用聚类算法确定合适的隐层节点中心与核函数宽度。因此,对于解决大坝不同的安全问题选择合适的核函数就尤其重要。
聚类算法因其较高的精度在大坝安全监控中应用较多。由于不同坝型和大坝不同的因变量核效应量需要不同的精度要求,当然在考虑效率的前提下分析精度越高越好。而通过一些改进算法和模型可以看出:在提高精度的时候,会出现小范围的过拟合以及整体误差满足但结果不当等情况。为提高大坝安全监控的分析精度而优化改进聚类算法时,短期分析应注重结果精度要求,长期分析应注重大坝运行趋势规律。
由于计算机技术的进步,各种用于大坝安全分析的算法越来越多,其中聚类算法也得到了长足的发展。在不同大坝安全分析的项目上,各种改进优化的聚类算法各有优缺点。不少改进优化的聚类算法提高了结果精度,但同时使得分析模型过于复杂,操作性难,实现效率低,给现场工程管理应用人员带来困难。因此,建立简单实用的优化聚类算法,构建标准化分析模型以提高分析效率是大坝安全监控的关键问题之一。
本文对一些常用的传统聚类方法、模糊聚类方法以及智能聚类方法及其研究现状进行了简要介绍,然后详细阐述了应用于大坝安全监控领域的模糊聚类方法和智能聚类方法以及应用方式。其中模糊聚类方法有较高的拟合度及大幅度减少运算工作量;智能聚类算法结合神经网络、智能群算法等方法在大坝的前期的资料分析以及监控模型的建立中降低了陷入局部最优的概率,提高了结果精度和稳定性。这表明聚类方法在水工领域中有着广泛的应用与较大的潜力,对从业人员结合聚类算法进行大坝安全监控研究具有指导意义。
由于目前所涉及的应用于大坝监控领域的聚类方法是常规的应用,如何将模糊聚类算法及智能聚类算法更好地结合大坝动态监测资料分析或实时监控模型的建立,需要进一步深入研究。