基于神经网络的数据挖掘分类算法比较和思考

2018-07-27 05:40于欣平
微型电脑应用 2018年7期
关键词:数据挖掘建模神经网络

于欣平

(东北石油大学,大庆 163318)

0 引言

数据挖掘分类算法种类众多,每一种数据挖掘分类算法都会有一个相应的分类器与之相配。而分类器则直接决定着数据挖掘是否能够达到精准高效,作为其中使用频率最广的一种方法,人工神经网络通过对人脑生物神经网络进行模拟,连接多个神经元节点,进而有效完成对各种类型数据的精确处理。本文将通过选择SVM神经网络算法、BP神经网络算法和ELM神经网络算法,通过结合具体分类实例对其进行比较分析,从而对各算法的具体优势特点进行准确说明。

1 数据挖掘的简要概述

(1)具体内涵

现阶段国内外关于数据挖掘的研究众多,但就数据挖掘的标准定义尚未形成统一规范。绝大多数研究人员认为,数据挖掘指的就是通过在大量的数据系统或是极为庞大的数据库中,准确提取出用户所需价值信息,从而有效满足用户的数据需求。数据挖掘有着多样化的知识类型,包括聚类、分类等等,而不同类型的数据挖掘所使用的具体方法也大相径庭[1]。在分类和聚类当中,前者指的是在数据库当中能够将数据项映射至给定类别的分类函数,而后者则指的是通过立足数据的具体特点在对其进行类别划分之后,无限缩小相同类别的个体间距,进而有效达到聚类的效果。

(2)基本过程

在数据挖掘的过程中,首先需要人们尽可能多地搜集整理相关原始数据,原始数据量越大,后续的数据挖掘精确度将越高。而在完成数据的采集之后,需要对其进行抽样与清理,也就是将残缺数据、不真实数据等筛出之后,从中选取最具有代表性的数据,对其进行集中整理之后形成最终的数据样本集。如果在经过抽样和清理之后,数据形式仍然与规定要求不符,则需要转换数据,在必要情况下还需要重新进行原始数据的抽样清理,直至数据形式与规定要求相符[2]。随后通过建立数据仓库对数据进行存储,并借助数据挖掘引擎和数据集成等功能对其进行深度挖掘和分析,从而有效帮助用户提取关键数据。

2 基于神经网络的数据挖掘分类算法的比较

2.2 玉米种子分类

为有效比较神经网络下不同数据挖掘分类算法的优势特点,本文通过从数据库当中选择3种不同的玉米种子,利用SVM神经网络算法、BP神经网络算法以及ELM神经网络算法对其进行分集。从数据库当中笔者通过抽样清理的方式提取了两百条记录,每一条记录都含有密实度、内核的长度与宽度等属性,小麦种子类型则分别使用二进制数{1、2、3}进行表示。

(1) SVM神经网络算法

在利用load()函数将原始数据全部导入专门的文件中进行存储,为有效保障数据的一般性,只随机抽取80%的数据集,总共抽取160条记录,再将其整理成训练集统计模型之后,将剩余20%的记录整理成测试集。经过MATLAB带有的mapminmax()函数归一化处理训练数据后,本文将直接使用svmtrain()创建SVM神经网络,同时对其进行训练[3]。在对其进行网络测试时,本文将使用svmpredict()函数,在完成网络参数的设置之后直接运行程序即可完成实验。而为了能够使得试验更加真实可靠,本次实验总共进行了5次重复测试,最终实验结果,如表1所示。

表1 SVM神经网络算法下的实验结果

通过对实验结果进行进一步分析,我们可以准确了解到在SVM神经网络算法下,平均准确率和建模时间分别为93.824%以及0.2892s,方差则为0.1%。鉴于所采用的研究工具自身信度较高,并且在抽样清理时将残缺、错误记录排除在外,同时笔者后期又在不同时间内进行了重复实验,实验结果仍然保持一致,因此此次实验结论具有较高的可信度。

(2) BP神经网络算法

在运用BP神经网络算法分类玉米种子集的过程中,方法与使用SVM神经网络算法分类玉米种子集基本相同,在完成训练数据的归一化处理之后,输出和输入神经元个数分别为3与7,代表总共有3种玉米种子及每一种玉米种子的属性特点共有7个。在建立BP神经网络的过程中,本文将通过使用newff()函数,隐含层节点传递函数选用正切S型传递函数,而输出层节点传递函数则选择使用purelin这一线型传递函数。训练函数则选用Levenberg Marquardt当中的BP算法训练函数,在完成网络参数的逐一设置之后,分别运用train()函数和sim()函数进行BP神经网络的训练和仿真测试[4]。在经过5次重复测试后得到实验结果,如表2所示。

表2 BP神经网络算法下的实验结果

在对实验结果进行深入统计分析之后,可以准确得知使用BP神经网络算法对数据集进行分类,其平均准确率和平均建模时间分别为83.771%、1.8322s,方差则为0.4%。

(3) ELM神经网络算法

通过利用load()函数将所有原始数据导入在专门建立的一个名为种子的文件中,完成原始数据的存储工作。考虑到需要保障数据的一般性,只随机抽取80%的数据集,也就是总共抽取160条记录,在将其整理成训练集统计模型之后,将剩余记录整理成测试集[5]。经过MATLAB带有的mapminmax()函数归一化处理训练数据后可以得到3个输出神经元和7个输入神经元,分别表示种子的类型和属性特征数量。在进行ELM神经网络的建立以及训练过程中,本文将使用elmtrain()函数,从函数中提取出sig并将其设定成激励函数。完成网络参数的逐一设定之后通过使用elmpredict()函数仿真测试创建的ELM神经网络即可。而为了能够使得试验更加真实可靠,在条件允许的情况下需要对其进行多次重复测试。本次实验总共进行了5次重复测试,最终实验结果,如表3所示。

表3 ELM神经网络算法下的实验结果

通过对实验结果进行进一步统计分析,可以得知在5次重复测试实验中,使用ELM神经网络算法的平均准确率为96.341%,建模时间的平均值则为0.2018s,方差则为0.1%。

2.2 红酒种类分类

从现有数据库中本文通过选择与我国通化葡萄酒有关的原始数据,数据集中共有相关记录180条,每一条记录当中都拥有包括酒精、色调等在内的10个属性特征,在实验中随机选择数据集一半的样本记录作为训练集,将剩余样本记录整理为测试集。

(1) SVM神经网络算法

在利用importdata()函数将原始数据全部导入专门的文件中进行存储,为有效保障数据的一般性,只随机抽取80%的数据集,总共抽取160条记录,再将其整理成训练集统计模型之后,将剩余20%的记录整理成测试集。经过归一化处理训练数据后,本文将直接使用svmtrain()创建SVM神经网络,同时对其进行训练。在完成网络参数的设置之后直接运行程序即可完成实验[6]。本次实验总共进行了5次重复测试,最终实验结果,如表4所示。

通过对实验结果进行进一步分析,我们可以准确了解到在SVM神经网络算法下,平均准确率和建模时间分别为98.427%以及0.031 3 s,方差则为3.87E-5。

表4 SVM神经网络算法下的实验结果

(2) BP神经网络算法

与前文提及的玉米种子集分类基本相同,所有原始数据首先需要利用importdata()函数,将其统一导入和存储在专门的文件当中。并随机从数据集当中抽取一般作为训练集统计模型,以有效保障数据集的一般性。剩余数据记录将被作为测试集。在归一化处理训练数据之后,将分别获得3个输出神经元和十个输入神经元,代表总共有3种类型各异的通化葡萄酒,分别用1、2、3进行表示,而每一个种葡萄酒均拥有10个属性特征[7]。在建立BP神经网络的过程中,本文将通过使用newff()函数,隐含层节点传递函数选用正切S型传递函数,而输出层节点传递函数则选择使用purelin这一线型传递函数。训练函数则选用Levenberg Marquardt当中的BP算法训练函数,在完成网络参数的逐一设置之后,分别运用train()函数和sim()函数进行BP神经网络的训练和仿真测试。在经过5次重复测试后得到实验结果,如表5所示。

在对实验结果进行深入统计分析之后,可以准确得知使用BP神经网络算法对数据集进行分类,其平均准确率和平均建模时间分别为84.047%、0.4577s,方差则为0.19%。

(3) ELM神经网络算法

在归一化处理训练数据后,本文将使用elmtrain()函数,进行ELM神经网络的建立以及训练[8]。通过从函数中提取出sig并将其设定成激励函数并完成网络参数的逐一设定,随后使用elmpredict()函数仿真测试创建的ELM神经网络即可。通过反复5次进行实验测试之后,得到了实验结果,如表6所示。

表5 BP神经网络算法下的实验结果

表6 ELM神经网络算法下的实验结果

通过对实验结果进行进一步统计分析,可以得知在5次重复测试实验中,使用ELM神经网络算法对红酒集进行分类之后,平均准确率为94.831%,建模所需平均时间值则为0.007 4 s,方差则为0.01%。

2.3 算法比较

在对玉米种子集进行分类的实验当中,使用SVM神经网络算法、BP神经网络算法、ELM神经网络算法的平均建模时间则分别为0.289 2 s、1.832 2 s以及0.201 8 s。具体情况如表7所示。

表7 案例一3种算法比较

由此我们可以看出,ELM神经网络算法分类玉米种子集的效果最优,不仅正确率最高且花费的建模时间也最短,而SVM神经网络算法次之,BP神经网络算法的建模时间最长[9]。

在对红酒集进行分类的实验当中,使用SVM神经网络算法、BP神经网络算法、ELM神经网络算法的平均准确率分别为98.427%、84.047%以及94.831%。而使用3种神经网络算法的平均建模时间则分别为0.031 3 s、0.457 7 s以及0.007 4 s,具体情况如表8所示。

表8 案例二3种算法比较

在对红酒集进行分类当中,总体来看仍然是ELM神经网络算法分类的效果最优[10],虽然其正确率要略低于SVM神经网络算法,但其建模时间比较短且本身也具有一定的正确率。SVM神经网络算法次之,BP神经网络算法的建模时间则最长。

3 总结

本文通过对基于神经网络下的不同数据挖掘分类算法进行分析,在以玉米种子集和红酒集为例进行实验之后,根据实验结果可知ELM神经网络算法拥有较强的建模性能和较高的正确率。SVM神经网络算法的建模时间也相对较短,同样具有较高的正确率,而BP神经网络算法的正确率最低,且需要花费较长的建模时间。整体来看SVM神经网络算法和ELM神经网络算法“旗鼓相当”,但由于后者使用的隐含层节点更少,因此其整体性能更优,在数据挖掘分类当中通过灵活运用ELM神经网络算法,可以获得良好的分类效果。

猜你喜欢
数据挖掘建模神经网络
探讨人工智能与数据挖掘发展趋势
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
基于神经网络的拉矫机控制模型建立
一种基于Hadoop的大数据挖掘云服务及应用
基于支持向量机回归和RBF神经网络的PID整定