单明霞
(四川工商学院,四川 眉山 620010 )
摘要:数据分类是模式识别的一种,被大量应用在地质统计、语音识别、生物分类、搜索推荐等领域。化探数据具有极高的变异性和高度的非线性特征,对于非线性数据的分类问题,采用神经网络算法进行处理具备高效率、高准确度的优势。本文利用改进的BP神经网络算法建立BP神经网络模型,将训练好的BP神经网络预测未知类型的化探数据点。结果表明,应用该神经网络进行的分类对于有矿点、无矿点的识别获得了比较高的准确率。
关键词:化探数据;神经网络;数据分类问题
1 引言
矿产资源对于社会经济的发展有着深远的意义。而矿产资源勘查过程中如何降低人力物力成本也是研究人员们一直关注的热点问题。对于合适的分类方法的选择,也对于识别地球化学相关指标具有重要意义。
人工神经网络是预测分析非线性数据的有力工具。这种数学模型包括称为神经元的个体处理单元,类似人类的神经活动。其中BP神经网络是具有分级前馈的网络结构,利用该算法的进行数据分类的主要优点是处理非线性数据有比较好的效果,识别准确率高。
2 BP神经网络理论基础
BP神经网络算法是目前使用最多、应用最广泛的神经网络模型之一,它是多层前馈网络所使用的一种基于误差反向传播算法,利用最速下降法的学习规则,反向传播调节网络的权值和阈值能够有效的减小训误差。BP神经网络多被用来学习和贮存输入-输出模型的映射关系,这种映射关系可以不使用数学公式来表达。
BP神经网络算法实际上是一种监督学习的方法。BP神经网络算法的网络连接权值的是修改是利用梯度下降和均方误差这两种方法实现。修改网络连接权值的最终目的是实现最小误差平方和。为了实现核算部分算法,首先要设置一个初值给网络连接的权值,紧接着选择训练样本,通过训练样本计算相该样本的误差梯度,最后将计算结果设置给网络连接权值。
BP神经网络学习的具体过程如下两个步骤:
(1)操作信号向前传播:输入信号有输入层起始传播到输出层,中间经过隐藏层。在向前传播的过程中,整个神经网络的偏移值和权值始终保持不变,也就是说每层神经元的状态只会影响到下一层,并不会影响整个网络。最后输入信号到达输出层,在输出层中判断是否达到预期,在不能达到预期的情况下可以将其转换为误差信号从而进行反向传播。
(2)误差信号的反向传播:信号在输出层的实际输出和信号的预期输出之间的差值定义为误差信号,误差信号的反向传播是误差信号从输出层开始反向传播到输入层的过程。在传播的过程中,通过误差反馈来调节整个网络的权值,并且通过在反向传播过程中网络权值和偏移值的连续修改,达到网络实际输出更加接近预期输出的目的,从而减小训练的误差。
3 神经网络在化探数据分类的应用
3.1 数据预处理
此次BP神经网络采用化探数据进行训练和测试,经过统计共包括3956个化探数据点,每个数据点包含六种化学元素的含量作为属性,六种化学元素分别为:Ag、Au、Cu、Mo、Pb、Zn。首先对化探数据点是否有矿作分类,再对该数据点的矿的种类作分类。
本次使用的化探数据共包含102个金矿数据点,110个铅锌矿数据点,496个铜矿数据点,3226个未知矿类型数据点。从矿的类型来看,每种类型的矿的数量级不一致,大部分为未知矿类型数据点,为了保证BP神经网络训练的准确性,我们应该使得每种类型的矿物数量尽量按照比例均匀分布,并将处理后的数据进行随机打散。对类别标签进行统一的数字编号,并按以下方法对数据进行归一化处理:
3.2 BP神经网络模型建立
一个经典的BP神经网络分类模型可以分为三层,每层包含数个节点,层与层之间包含有向连接,相同层的节点没有连接,网络的每个输入节点表示化探数据的属性(化学元素含量),输出节点输出分类结果,进行类别判断。
BP神经网络的参数选择会直接影响网络能否收敛、收敛速度、正确率等。因此,BP神经网络参数选择是十分重要的,经过大量的实验测试,得到了相对较优的参数。
网络结构包括神经网络的层数和隐藏层节点数量,这两种参数会直接决定网络的收敛性能和训练的正确率。一般来说,隐藏层节点越多,权值矩阵越大,网络可调权值的自由度越大,更加容易拟合实际数据。神经网络层数越高,网络的抽象能力越高,便于拟合关系复杂的数据。尽管这两种参数在比较高的时候会提高神经网络拟合的正确率,但是也不能随意去增加,因为这两种参数会导致神经网络过拟合。本次实验所用神经网络的层数和隐藏层节点数量通过大量的实验测试,当网络为12层结构且隐藏层结点从192个逐层递减时,网络的收敛性能、正确率、预测正确率最佳。
本次实验采用12层网络结构,包含输入层、输出层和10个隐藏层,相邻层之间单向连接,可以完成任务n维到m维的映射。学习率在运行过程中动态调整,初始值为0.1,每经过100步,降低为原来的0.97倍。每个网络节点的权值和偏置值初始为标准正态分布的随机数。激活函数采用sigmoid函数。最大迭代步数为20000步。
为了保证模型建立的可行性,通过仿真数据进行验证。结果表明,程序在300步以后,训练数据的准确率稳定到98%左右,测试数据的准确率达到93.1034%。综上所述,模型较为准确,训练效果较好,准确率较高,具有一定的可信度。
3.3 BP神经网络分类化探数据
在本次参与实验的的化探数据中,选取类别标签已知的数据,包含铜矿、金矿、铅锌矿三种类型的矿种,共740条数据。前650条数据用于训练BP神经网络,提取每一种矿的属性特征。后90条数据用于测试BP神经网络分类的准确率。通过python将数据读取到程序中训练BP神经网络。本次利用BP神经网络主要对化探数据点进行两种分类预测,一种是有矿和未知类型进行分类,一种是矿种类型分类。当神经网络迭代步数达到12000步时,训练数据自测的准确率达到93%左右,测试数据准确率达到82.2222%.
分别利用原始数据的类别标签和预测数据的类别标签绘制地球化学图,包括是否确定有矿的地球化学图、矿种类型的地球化学图。绘制地球化学图如下:
4 讨论
BP神经网络是一种通过模拟生物神经网络模型构造的一种新型算法,利用该算法的进行数据分类的主要优点是处理非线性数据有比较好的效果,识别准确率高。本文使用BP神经网络处理化探数据,对化探数据点的矿物种类进行了预测分类。通过实验测试,改进的BP神经网络算法对化探数据有较好的拟合性,预测准确率高。
参考文献
[1]陈刚, 刘发升. 2006. 基于BP神经网络的数据挖掘方法[J]. 计算机与现代化, (10):20-22.
[2]阴江宁,肖克炎,李楠,等. 2010. BP神经网络在化探数据分类中的应用[J].地质通报, 29(10):1564-1571.
作者简介:单明霞(1981-),女,汉族,山东高密人,讲师,研究生学历,四川工商学院,研究方向:应用数学、计算机、经济管理。
基金项目:四川矿产资源研究中心项目资助(SCKCZY2020-YB10);数学地质四川省重点实验室开放基金资助课题(scsxdz2020yb06)