论文部分内容阅读
摘 要:主要介绍了神经网络的中BP神经网络的内容,结合BP神经网络可用训练人工神经元进行数据的分类和预测的特点,分析探讨了BP神经网络在环境污染数据挖掘中的应用。
关键词:数据挖掘;神经网络;BP算法
引言:随着计算机网络和信息技术的高速发展,如何从海量数据中提取有用信息成为当务之急. 数据挖掘正是为顺应这种需要而发展起来的信息处理技术. 它借助某些专门算法,利用计算机从海量数据中提取有用 的信息,揭示某些隐藏规律,从而有效预测和正确指导未来的工作. [1] 分类是数据挖掘的主要功能之一,它 通过分析类,标记已知的训练数据集,导出描述并区分数据类或概念的模型 函数,以便能使用该模型预测 类标记未知的对象类. [1] 人工神经网络( ANN ,Artificial Neural Network)是20 世纪 80年代后期迅速发展起来 的人工智能技术. 它对噪声数据具有很高的承受能力,对未经训练的数据具有分类模拟的能力,因此在网 站信息、生物信息和基因以及文本的数据挖掘等领域得到了越来越广泛的应用. 在多种 ANN 中,反向传播 ( BP,Back-Propagation)网络是应用最广的一种形式[3] .
1.神经网络定义
(1)生物神经网络主要是指人脑的神经网络,它是人工神经网络的技术原型。人脑是人类思维的物质基础,思维的功能定位在大脑皮层,后者含有大约1011个神经元,每个神经元又通过神经突触与大约103个其它神经元相连,形成一个高度复杂高度灵活的动态网络。作为一门学科,生物神经网络主要研究人脑神经网络的结构、功能及其工作机制,意在探索人脑思维和智能活动的规律。
(2)人工神经网络是生物神经网络在某种简化意义下的技术复现,作为一门学科,它的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成
(3)BP神经网络
BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。
2. 人工神经元( Artificial Neuron )模型 [2]
人工神经元是神经网络的基本元素,其原理可以用下图表示:
图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为:
图中 yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数 ( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为:
若用X表示输入向量,用W表示权重向量,即:
X = [ x0 , x1 , x2 , ....... , xn ]
则神经元的输出可以表示为向量相乘的形式:
若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。
图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Eleme
3.激活函数
在神经网络中,网络解决问题的能力与效率除了与网络结构有关外,在很大程度上取决于网络所采用的激活函数。激活函数的选择对网络的收敛速度有较大的影响,针对不同的实际问题,激活函数的选择也应不同。
常用的激活函数有以下几种形式:
(1)阈值函数:该函数通常也称为阶跃函数。当激活函数采用阶跃函数时,人工神经元模型即为MP模型。此时神经元的输出取1或0,反應了神经元的兴奋或抑制。
(2)线性函数:该函数可以在输出结果为任意值时作为输出神经元的激活函数,但是当网络复杂时,线性激活函数大大降低网络的收敛性,故一般较少采用。
(3)对数S形函数:对数S形函数的输出介于0~1之间,常被要求为输出在0~1范围的信号选用。它是神经元中使用最为广泛的激活函数。
(4)双曲正切S形函数:双曲正切S形函数类似于被平滑的阶跃函数,形状与对数S形函数相同,以原点对称,其输出介于-1~1之间,常常被要求为输出在-1~1范围的信号选用。
4.神经网络模型 [3-6]
神经网络是由大量的神经元互联而构成的网络。根据网络中神经元的互联方式,常见网络结构主要可以分为下面3类:
(1) 前馈神经网络 (Feedforward Neural Networks )
前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。感知机( perceptron)与BP神经网络就属于前馈网络。
图4 中是一个3层的前馈神经网络,其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)。 对于一个3层的前馈神经网络N,若用X表示网络的输入向量,W1~W3表示网络各层的连接权向量,F1~F3表示神经网络3层的激活函数。
那么神经网络的第一层神经元的输出为:
O1 = F1( XW1 )
第二层的输出为:
O2 = F2 ( F1( XW1 ) W2 )
输出层的输出为:
O3 = F3( F2 ( F1( XW1 ) W2 ) W3 )
若激活函数F1~F3都选用线性函数,那么神经网络的输出O3将是输入X的线性函数。因此,若要做高次函数的逼近就应该选用适当的非线性函数作为激活函数。
(2) 反馈神经网络 ( Feedback Neural Networks )
反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。典型的反馈型神经网络有:Elman网络和Hopfield网络。
(3) 自组织网络 ( SOM ,Self-Organizing Neural Networks )
自组织神经网络是一种无导师学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
5.神经网络的研究可以分为理论研究和应用研究两大方面。
(1)理论研究可分为以下两类:
1)、利用神经生理与认知科学研究人类思维以及智能机理。
2)、利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力学、非线性神经场等。
(2)应用研究可分为以下两类:
1)、神经网络的软件模拟和硬件实现的研究。
2)、神经网絡在各个领域中应用的研究。这些领域主要包括:
模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入。
6. BP神经网络在环境污染数据挖掘中的应用
通过上文对BP神经网络的模型介绍可知,BP神经网络具有反馈传输误差,修正权值,最终形成适合其他数据应用的神经网络的特点。BP神经网络这一特性在大数据环境下可有效利用。而环境污染方面的数据正是庞大而实时变化的大数据环境,面对这样的大数据环境,有效应用BP神经网络可对环境污染数据进行分类预测。由此提出这样的应用思想:将近几年的环境污染数据,例如五大空气质量数据PM2.5,PM10,NO2,SO2,O3数值作为BP神经网络的输入数据集,相对应的环境指标AQI值作为BP神经网络输出数据集,利用BP神经网络反馈传输修正误差形成可预测环境指标AQI值的神经网络。笔者应用C语言简单地构造了BP神经网络分类器,并应用2016-2017南京环境污染相关数据训练神经网络,得到可执行程序。但是由于BP神经网络分类器有待优化,预测结果不准确。结果截图(如图6-1)如下:
7.结束语
通过本文对神经网络的介绍以及对BP神经网络在环境污染数据挖掘中应用的探讨,BP神经网络应用领域可大大扩展,尤其对环境污染数据挖掘中相关应用。针对BP神经网络在数据挖掘中的应用,对于环境污染方面不仅仅可实现环境污染指标的预测,而且极大可能可实现大数据污染程度的分类等等,这仍有待探究。
参考文献:
[1] HAN J,KAMBER M. Data Mining: Concepts andTechniques[ M] . Morgan Kaufmann Publishers,2001.
[2]张天舟.基于 GABP算法的复杂计算机网络安全评价中的应用【D】.电子科技大学,2015
[3]刘 钊,蒋良孝. 基于神经网络的数据挖掘研究 [ J] . 计算机工程与应用,2004,40( 3): 172-173,190
[4]朱伟刚,徐超.BP神经网络算法在长春地铁二号线地表沉降预测中的应用【J】.长春工程学院.2018
[5] 马仕.BP神经网络在地层预测中的应用研究【D】.河北工业大学.2016
[6] 董明明.蒋涛.数据挖掘中BP神经网络与决策树技术的应用研究【J】.扬州大学.2018
[7] 莫礼平.樊晓平,BP 神经网络在数据挖掘分类中的应用【D】 ,中南大学信息科学与工程学院,2006
*双创项目:南京审计大学金审学院双创项目201813994005Y
关键词:数据挖掘;神经网络;BP算法
引言:随着计算机网络和信息技术的高速发展,如何从海量数据中提取有用信息成为当务之急. 数据挖掘正是为顺应这种需要而发展起来的信息处理技术. 它借助某些专门算法,利用计算机从海量数据中提取有用 的信息,揭示某些隐藏规律,从而有效预测和正确指导未来的工作. [1] 分类是数据挖掘的主要功能之一,它 通过分析类,标记已知的训练数据集,导出描述并区分数据类或概念的模型 函数,以便能使用该模型预测 类标记未知的对象类. [1] 人工神经网络( ANN ,Artificial Neural Network)是20 世纪 80年代后期迅速发展起来 的人工智能技术. 它对噪声数据具有很高的承受能力,对未经训练的数据具有分类模拟的能力,因此在网 站信息、生物信息和基因以及文本的数据挖掘等领域得到了越来越广泛的应用. 在多种 ANN 中,反向传播 ( BP,Back-Propagation)网络是应用最广的一种形式[3] .
1.神经网络定义
(1)生物神经网络主要是指人脑的神经网络,它是人工神经网络的技术原型。人脑是人类思维的物质基础,思维的功能定位在大脑皮层,后者含有大约1011个神经元,每个神经元又通过神经突触与大约103个其它神经元相连,形成一个高度复杂高度灵活的动态网络。作为一门学科,生物神经网络主要研究人脑神经网络的结构、功能及其工作机制,意在探索人脑思维和智能活动的规律。
(2)人工神经网络是生物神经网络在某种简化意义下的技术复现,作为一门学科,它的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成
(3)BP神经网络
BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。
2. 人工神经元( Artificial Neuron )模型 [2]
人工神经元是神经网络的基本元素,其原理可以用下图表示:
图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值 ( threshold ),或称为偏置( bias )。则神经元i的输出与输入的关系表示为:
图中 yi表示神经元i的输出,函数f称为激活函数 ( Activation Function )或转移函数 ( Transfer Function ) ,net称为净激活(net activation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为:
若用X表示输入向量,用W表示权重向量,即:
X = [ x0 , x1 , x2 , ....... , xn ]
则神经元的输出可以表示为向量相乘的形式:
若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。
图1中的这种“阈值加权和”的神经元模型称为M-P模型 ( McCulloch-Pitts Model ),也称为神经网络的一个处理单元( PE, Processing Eleme
3.激活函数
在神经网络中,网络解决问题的能力与效率除了与网络结构有关外,在很大程度上取决于网络所采用的激活函数。激活函数的选择对网络的收敛速度有较大的影响,针对不同的实际问题,激活函数的选择也应不同。
常用的激活函数有以下几种形式:
(1)阈值函数:该函数通常也称为阶跃函数。当激活函数采用阶跃函数时,人工神经元模型即为MP模型。此时神经元的输出取1或0,反應了神经元的兴奋或抑制。
(2)线性函数:该函数可以在输出结果为任意值时作为输出神经元的激活函数,但是当网络复杂时,线性激活函数大大降低网络的收敛性,故一般较少采用。
(3)对数S形函数:对数S形函数的输出介于0~1之间,常被要求为输出在0~1范围的信号选用。它是神经元中使用最为广泛的激活函数。
(4)双曲正切S形函数:双曲正切S形函数类似于被平滑的阶跃函数,形状与对数S形函数相同,以原点对称,其输出介于-1~1之间,常常被要求为输出在-1~1范围的信号选用。
4.神经网络模型 [3-6]
神经网络是由大量的神经元互联而构成的网络。根据网络中神经元的互联方式,常见网络结构主要可以分为下面3类:
(1) 前馈神经网络 (Feedforward Neural Networks )
前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。感知机( perceptron)与BP神经网络就属于前馈网络。
图4 中是一个3层的前馈神经网络,其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)。 对于一个3层的前馈神经网络N,若用X表示网络的输入向量,W1~W3表示网络各层的连接权向量,F1~F3表示神经网络3层的激活函数。
那么神经网络的第一层神经元的输出为:
O1 = F1( XW1 )
第二层的输出为:
O2 = F2 ( F1( XW1 ) W2 )
输出层的输出为:
O3 = F3( F2 ( F1( XW1 ) W2 ) W3 )
若激活函数F1~F3都选用线性函数,那么神经网络的输出O3将是输入X的线性函数。因此,若要做高次函数的逼近就应该选用适当的非线性函数作为激活函数。
(2) 反馈神经网络 ( Feedback Neural Networks )
反馈型神经网络是一种从输出到输入具有反馈连接的神经网络,其结构比前馈网络要复杂得多。典型的反馈型神经网络有:Elman网络和Hopfield网络。
(3) 自组织网络 ( SOM ,Self-Organizing Neural Networks )
自组织神经网络是一种无导师学习网络。它通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。
5.神经网络的研究可以分为理论研究和应用研究两大方面。
(1)理论研究可分为以下两类:
1)、利用神经生理与认知科学研究人类思维以及智能机理。
2)、利用神经基础理论的研究成果,用数理方法探索功能更加完善、性能更加优越的神经网络模型,深入研究网络算法和性能,如:稳定性、收敛性、容错性、鲁棒性等;开发新的网络数理理论,如:神经网络动力学、非线性神经场等。
(2)应用研究可分为以下两类:
1)、神经网络的软件模拟和硬件实现的研究。
2)、神经网絡在各个领域中应用的研究。这些领域主要包括:
模式识别、信号处理、知识工程、专家系统、优化组合、机器人控制等。随着神经网络理论本身以及相关理论、相关技术的不断发展,神经网络的应用定将更加深入。
6. BP神经网络在环境污染数据挖掘中的应用
通过上文对BP神经网络的模型介绍可知,BP神经网络具有反馈传输误差,修正权值,最终形成适合其他数据应用的神经网络的特点。BP神经网络这一特性在大数据环境下可有效利用。而环境污染方面的数据正是庞大而实时变化的大数据环境,面对这样的大数据环境,有效应用BP神经网络可对环境污染数据进行分类预测。由此提出这样的应用思想:将近几年的环境污染数据,例如五大空气质量数据PM2.5,PM10,NO2,SO2,O3数值作为BP神经网络的输入数据集,相对应的环境指标AQI值作为BP神经网络输出数据集,利用BP神经网络反馈传输修正误差形成可预测环境指标AQI值的神经网络。笔者应用C语言简单地构造了BP神经网络分类器,并应用2016-2017南京环境污染相关数据训练神经网络,得到可执行程序。但是由于BP神经网络分类器有待优化,预测结果不准确。结果截图(如图6-1)如下:
7.结束语
通过本文对神经网络的介绍以及对BP神经网络在环境污染数据挖掘中应用的探讨,BP神经网络应用领域可大大扩展,尤其对环境污染数据挖掘中相关应用。针对BP神经网络在数据挖掘中的应用,对于环境污染方面不仅仅可实现环境污染指标的预测,而且极大可能可实现大数据污染程度的分类等等,这仍有待探究。
参考文献:
[1] HAN J,KAMBER M. Data Mining: Concepts andTechniques[ M] . Morgan Kaufmann Publishers,2001.
[2]张天舟.基于 GABP算法的复杂计算机网络安全评价中的应用【D】.电子科技大学,2015
[3]刘 钊,蒋良孝. 基于神经网络的数据挖掘研究 [ J] . 计算机工程与应用,2004,40( 3): 172-173,190
[4]朱伟刚,徐超.BP神经网络算法在长春地铁二号线地表沉降预测中的应用【J】.长春工程学院.2018
[5] 马仕.BP神经网络在地层预测中的应用研究【D】.河北工业大学.2016
[6] 董明明.蒋涛.数据挖掘中BP神经网络与决策树技术的应用研究【J】.扬州大学.2018
[7] 莫礼平.樊晓平,BP 神经网络在数据挖掘分类中的应用【D】 ,中南大学信息科学与工程学院,2006
*双创项目:南京审计大学金审学院双创项目201813994005Y