基于机器学习的不确定数据增量式挖掘算法
2021-12-10文明瑶廖伟国
文明瑶,廖伟国
(华南农业大学珠江学院,广东广州510900)
1 引言
广义上讲,使用“机器”模拟人类学习活动的学科,称为机器学习[1,2],在这里“机器”代表电子计算机,通过机器学习可获取新知识、新信息以及新技能,并可识别现有知识信息[3]。机器学习主要组成为:对人类学习过程进行解读并模拟;研究人类与计算机之间的语言接口;自动规划问题;以实现机器学习为目的,设计发现新信息的程序。机器学习涉及统计学、概率论、算法复杂度理论等多个学科[4],广泛应用于建筑、医学、数学、金融等多个领域。机器学习可从一类数据中自动分析其规律,并利用该规律对未知数据展开预先计算,因此,机器学习在处理庞大数据量时,效果显著[5]。
经过分析每个数据,从大量数据中找出其关联性,称为数据挖掘,现代电子技术迅猛发展,各种行业数据信息量成倍增长,并发展迅速[6,7],数据具有构成庞大、组成复杂、变化迅速等特征。为了实现数据的有效挖掘,杨阳[8]等人提出一种基于Spark的不确定数据集频繁模式挖掘算法,该算法在计算过程中需进行频繁式计算,计算精度高,但其计算耗时长,期望概率和权重需选择单一指标,计算过程复杂。许磊[9]等人提出基于模糊神经网络的异常网络数据挖掘算法,该算法依据异常网络数据进行相似度计算,其收敛性较差,造成计算结果不够精确。
从大量并且复杂多变的数据中,挖掘有效信息,是现代机器学习的重要方向。机器学习的主要技术之一是模糊c-均值聚类算法,简称FCM算法,该算法应用范围广,计算精度高,可将目标函数进行优化,并从中获取聚类中心的隶属度,根据数据样本的隶属度达到将数据分类的目的。因此,为了解决现有方法存在的问题,本文提出基于机器学习的不确定数据增量式挖掘算法,使用改进FCM算法实现海量数据增量式挖掘,可提高计算结果的精确度与运算时间[10,11]。
2 基于改进FCM的不确定数据增量式挖掘
2.1 FCM算法思想
由xi(i=1,2,…,n)表示n个向量,FCM算法将其分成F个模糊簇,通过计算得出每个簇的聚类中心,使目标函数达到最小,l (1) 更新聚类中心与隶属度可使目标函数最小,分别由式(2)、(3)表示 (2) 其中,i=1,2,…,f。 (3) 其中,i=1,2,…,f,j=1,2,…n。 FCM计算流程由图1表示。 图1 FCM计算流程 1)由X=(x1,x1,…xn)表示n个数据集,从该数据集中选择初始聚类中心为V0=(v1,v2,…vf,),阈值ε>0。 为提升FCM算法的应用效果,在FCM算法中增加指标筛选和指标权重计算流程,对FCM算法进行改进。 假设每个样本数据集有t个特征指标,将指标筛选流程添加到FCM算法中,将z个指标通过主成分分析法从数据集中挑选出来,利用挑选出的指标实施样本数据集聚类。 (4) 将FCM算法改进后,首先确定样本分类数f(2≤f≤n-1),设q和ξ分别代表参数和误差值,其初始矩阵由R(0)表示;然后依据初始矩阵R(0),计算聚类中心Vi(i=1,2,…,f),其由式(5)表示 (5) 依据式(5)计算新分类矩阵R*,更改划分矩阵,由式(6)表示 (6) 式(6)中,i=1,2,…f;j=1,2,…n。 如果原始数据被聚类为A、B、C、D、E、F类,新增加的数据可能属于其中某一类,也可自行称为新类,还有可能与其中两类聚合形成新类[12]。其聚合示意图由图2表示。 图2 增量式聚类示意图 由图2可知,新增数据使原始数据聚类增加了2组,其中,H类属于自成一类,G类将A、B、C类部分数据聚合形成新类。FCM增量式聚类具体算法如下: (7) FCM聚类最终结果是对数据集进行模糊划分:A={A1,A2,…,Af},其中,样本属于第1类的隶属函数由A1代表,是隶属矩阵U的第1行,分类效果最好的情况是A1和Ah尽量分离,即A1尽量不包含Ah(h≠1)。通常而言,聚类的数量很小,若聚类数量很大,那么其精度不够准确,那么,可通过式(6)确定最优样本数据集分离数量f。聚类数目可通过以上步骤自动获得,可规避人为规定分类数目的不准确性,完成初始聚类。 其次,基于初始聚类结果,将剩余样本数据实施分配和聚类。 1)设Qi与Qj两个类之间的平均距离由式(8)表示 (8) 其中,Qi和Qj分别代表计算出的第i类和第j类。 2)设任意类到任意数据点的平均距离由式(9)表示: (9) 其中,ni代表第i类中包含的样本数量;nj代表第j类中包含的样本数量;Xk代表剩余数据集中的数据。其阈值由式(10)表示 (10) 分配规则如下: 若MaxDist≥dik,需将Xk划分到第i类中;若MaxDist≥dik并且MaxDist≥djk,需合并第i类和第j类;若MaxDist 3)重复以上步骤,直至数据集无剩余数据为止。 通过上述流程,改进FCM算法可合并两类或多类数据,对非球形与椭球形分布的数据集进行较好聚类,从而形成新的类,可避免传统FCM算法的局限性。 为验证所提算法的实际应用效果,本次实验采用内存为4G、主频为2.6G、windows 10操作系统的台式电脑进行实验。以5000组数据作为实验样本,将该样本分为A、B、C三组,分别作为原始数据组,其中A组数据为2500组,B组数据为1000组,C组数据为1500组,阈值取0.6。以基于Spark的不确定数据集频繁模式挖掘算法(文献[8]算法)和基于模糊神经网络的异常网络数据挖掘算法(文献[9]算法)作为对比方法,进行实验验证。 良好的数据分类是实现数据增量式挖掘的基础,为此,分别使用所提算法与文献[8]算法、文献[9]算法对A、B、C三组数据样本实施增量式挖掘,对比三种算法分类性能,结果如表1所示。 表1 三种算法分类对比 分析表1可知,所提算法对A、B、C三组数据样本分类个数均高于文献[8]和文献[9]算法,说明所提算法分类详细。并且所提算法的分类符合率最高达到了99.28%,远高于文献[8]算法、文献[9]算法,实验结果表明,所提算法数据分类能力更强。 统计上述实验过程中三种算法对A组数据的平均分类准确率,其结果如图3所示。 图3 三种算法平均分类准确率 分析图3可知,所提算法的平均分类准确率要明显高于文献[8]、文献[9]算法,其中所提算法与文献[8]算法的准确率曲线较平缓,可见其分类较稳定,而文献[9]算法的曲线波动较大,分类稳定性较差,同时也影响其分类准确率。当迭代次数为12次时,所提算法的分类准确率达到了98%左右,可见所提算法分类准确率更高。 三种算法挖掘A样本数据的耗时对比结果如图4所示。 图4 三种算法耗时对比 分析图4可知,文献[8]算法的最高耗时为7.5s左右;文献[9]算法分类耗时在迭代次数为7之前,趋势较平缓,迭代次数超过7时,呈迅速上升状态,并且耗时较长,最高已达到10s;所提算法分类耗时在迭代次数为7之前,上升趋势比较明显,迭代次数超过7之后,其耗时曲线趋近直线,可见所提算法数据挖掘能力强、效率高。 数据增量式挖掘的前提是数据特征提取,为此对比三种算法对不同数据样本的数据特征提取性能,其结果如图5所示。 图5 三种算法特征提取准确率 分析图5可知,文献[8]算法与文献[9]算法在对三组数据进行特征提取时,数据量不同提取准确度存在一定差异,可见传统算法在特征提取上有所欠缺,造成提取结果准确率不高。而所提算法在提取数据特征时,未受数据量影响,其特征提取准确率大致相同,因此,所提算法特征提取能力较强,不易受数据量影响。 为验证所提算法的数据增量式挖掘能力,以数据A为例,在数据样本A中,添加9500组新数据,分别测试三种算法数据增量式挖掘准确率,结果由图6表示。 图6 三种算法增量式挖掘准确率 分析图6可知,在数据增量情况下,三种算法的数据挖掘准确率整体上都是随着数据量的增加而降低,文献[9]算法从数据量增加至6000组后,准确率下降幅度增大;文献[8]算法与所提算法数据挖掘准确率较接近,但所提算法数据挖掘准确率高于文献[8]算法,并且所提算法随着数据量的增加,数据挖掘准确率曲线变化平缓,文献[8]算法挖掘准确率曲线呈波浪状,可见其数据挖掘准确率变化不稳定,且准确率低,所提算法准确率始终保持在95%~98%之间,因此所提算法可在信息增量的情况下,对数据进行有效挖掘。 对比三种算法,在数据增量情况下的迭代次数,其结果由图7表示。 图7 三种算法迭代次数对比 通过对比图7可知,迭代次数与数据量成正比,当数据量增加至12000组时,文献[8]算法与文献[9]算法迭代次数相差不大,在数据量为6000组时文献[8]算法迭代次数低于文献[9]算法,当数据量继续增加时,文献[8]算法迭代次数反而高于文献[9]算法,由此可知,文献[8]算法与文献[9]算法随着数据量的增加,计算结果不稳定;所提算法随着数据量的增多,迭代次数呈平缓趋势增长,增长幅度较低,因此所提算法迭代次数少,数据增量式挖掘能力强。 研究基于机器学习的不确定数据增量式挖掘算法,利用改进FCM算法通过设定数据目标函数,进行样本分类与特征提取,依据分类和特征提取结果实施数据聚类,实现数据增量式挖掘。实验结果表明: 1)所提算法分类详细,符合率高,且符合率与样本数量成反比。 2)迭代次数相同时,所提算法的平均分类准确率高。 3)数据分类耗时短,分类能力强。 4)所提算法受数据量增加影响较小,特征提取效果好,数据挖掘能力强。 5)数据增量情况下,所提算法准确率降低幅度小,计算准确率高,其准确率在95%~98%之间。 6)数据增量情况下,所提算法迭代次数少,数据增量式挖掘能力强。 因此,所提算法具有极高实用性,可有效实现不确定数据增量式挖掘。目前世界中不确定性数据种类繁多,聚类关联性问题涉及面广泛,本文仅针对不确定数据增量式进行挖掘,无法满足多领域实际要求,因此需在分类效果评价、多类型数据、多领域重合等方面展开研究,从而提升聚类结果有效性和实用性。2.2 FCM算法改进
2.3 基于改进FCM的增量式聚类算法
3 实验分析
3.1 数据分类
3.2 特征提取
3.3 增量式挖掘能力
4 结论