APP下载

BP神经网络模型在数据分析中的应用

2020-02-04王强

电子技术与软件工程 2020年12期
关键词:权值特征值神经元

王强

(山西工程职业学院 山西省太原市 030009)

人工神经网络越来越受到众多领域学者的关注,80%—90%的人工神经网络模型是采用误差反传算法或其变化形式的网络模型。BP 神经网络在实际应用中,具有较好的自组织、自学习、非线性逼近能力、容错性等等。目前主要应用于函数逼近、目标识别、分类和数据分析或数据挖掘。本文通过5 组从图像中提取的特征值向量作为样本数据参数,并通过BP 网络模型的学习、训练,模拟实现数据的分析或分类识别[1]。

1 BP神经网络

1.1 人工神经网络

人工智能,是以机器的交互来模仿人脑或神经反射的控制方式,是人类从认识自身、认识自然,到改造自然的发展趋势。人工神经网络是人类大脑神经元网络进行数学抽象,建立数学模型,由大量的节点(或称神经元)之间相互联接,组成不同的网络。通过对人脑生理结构研究,结合人脑的微观结构及其智能行为的研究,用计算机控制系统来对人脑进行宏观功能的智能模拟,也就是符号处理方法的模拟。从人的思维活动和行为的心理学特性出发,探索和模拟人的感觉、思维、行为的规律,设计具有人类智能的运算模型或系统。人工神经网络基本模型如图1 所示。

1.2 BP神经网络模型

BP 神经网络模型是一种前馈网络,以误差反向传播算法的方式,来实现对多层感知器的训练,表现出很好的非线性逼近能力,并且通过非线性的适应性实现数据信息的处理,具有较好的容错性,经常用作对大规模数据的并行处理。BP 模型以其很好的自学习、自组织、自适应能力,广泛应用在数据的分析和预测、样本分类、聚类的目标识别等领域[3]。

1.2.1 BP 神经网络的结构

BP 神经网络是一个多层网络结构,包括输入层、输出层,以及两层之间的一个或多个隐含层构成。其中,隐含层中的神经元称为隐单元,它们与外界没有直接的联系,但其状态的改变,对输入、与输出之间的关系也会造成影响。各层中的神经元之间通过权重连接,并接受前后一级神经元的输出和反馈,经过神经元权重的调整和阈值的作用输出,从而对其他神经元产生作用[2]。三层BP 神经网络结构如图2 所示。

1.2.2 BP 神经网络的特点

BP 神经网络具有非线性映射、并行分布处理、多变量控制、自学习和自适应、数据融合等特点。具体表现为,BP 神经网络能以任意精度逼近任何非线性连续函数,以分布储存和并行处理的方式处理数据信息,处理速度很快、容错性很强。同时,网络的输入变量、输出变量的数目可以是任意的,可以忽略各个系统之间的解耦问题,提供了一种通用的系统描述方式。在利用样本对网络进行训练时,泛化能力很好,即可以根据输入、输出的数据形成相应的规律性,调整网络中间隐层的权值,然后将调整后的权值应用于一般情形。BP 神经网络模型还可以同时处理定量信息和定性信息,体现了人工智能技术(符号处理)和传统工程技术(数值运算)的融合。

图1:人工神经网络基本模型

图2:三层BP 神经网络结构模型

图3:训练误差变化曲线

1.2.3 BP 模型激活函数

在选择BP 神经网络的激活函数时,需要满足此函数处处可导的条件,一般的,S 型函数经常用作BP 网络的激活函数。此函数具有单调性,从图像上看具有连续性,无限次可导或可微。此外,S 型函数也可以作为输出函数。按照权值大小情况来分类,权值如果比较大,则S 型函数可以用作阈值函数;虽然从图像上看是非线性函数,但如果权值很小,则可以当作线性函数来使用。使用S 型激活函数时BP 网络输入与输出的关系如下:

表1:图像特征值(网络输入量)

表2:识别情况对照表

需要注意的是,在对网络模型进行样本数据学习训练时,net的值应该控制在收敛比较快的范围内。

2 BP神经网络的学习算法

BP 算法是用有导师的学习规则,将实际输出与预计目标之间的误差通过隐层逐层向输入端反向传输,同时,这个误差会在反馈过程中,分摊给各层的所有神经元,各层单元则以这个误差信号为参照,来调整单元权值。在外界输入样本的刺激下,通过不断调整网络连接的权值,达到减少或减弱网络的实际输出与预计目标间误差的目的,这种有导师的反馈调节方式,能达到不断优化网络的学习性能的目的。

具体的,把样本送入BP 网络的输入层,通过各隐层的处理、计算,最后传送到输出层。当输出层的实际输出与预计目标或导师信号相差比较大时,就需要开始进行反向传输;误差通过反向传播到达各层单元,修正各层单元的权值;接着,再次开始正向传输过程,如果网络输出的误差减少到可以允许的程度,或进行到预先设定的学习次数,训练停止。

3 特征值向量数据的提取

利用BP 神经网络对数据进行分析或进行分类识别,可以针对其网络模型,把具有识别特征或代表性的数据作为网络的输入,把我们期望得到的识别目标类型作为输出,即可通过BP 网络的自学习和自适应功能,实现目标识别。

现以图像特征值向量为例,分别从5 张图像中提取出5 组特征值,作为网络的训练样本输入,输出即为相应的识别类型,通过设置BP 网络模型的各个参数的初始参考值,来对BP 网络进行训练、学习。

在图像分析研究中,特征值提取是识别技术中的一个最基本的问题,和普通的机械振动数据、温度数据、噪声数据一样,都可以看作是数据分析处理的一种方法。把二维图像当中的特征数据或信息通过相关的变换算法提取出来,使其特征转换成最能反映出其本质的一维特征信息。提取出比较稳定的、有一定表征性的、区分性较好的数值或特征量,不再以二维图像的形式表达。把提取出的特征值,做为网络的样本输入值进行训练,模拟达到识别结果。

通过图像特征提取算法,对5 张图像提取出相应的特征值,每组特征值即可作为一组特征向量,并把这些特征向量当作训练样本,输入BP 网络,把预计的识别目标作为输出,建立网络模型进行模拟仿真。提取出的特征值如表1 所示。

4 BP神经网络的训练和识别结果分析

对BP 神经网络模型进行训练,使图像进行特征提取后的特征量当作训练样本,送入BP 神经网络的输入端,进行网络模型训练,同时要对初始的训练参数进行设置。一般的,设置初始权值,-0.3-0.3;学习率,0.1;动量因子,0.95;最大迭代次数,1000。对于输出的设置,受S型激活函数特性的影响,如果要规定网络输出0、1,BP 神经网络模型在训练时将无法收敛。所以,这里用0.0001 来代替0、0.9999 代替1,就可以避免出现这个问题。

训练完成应设置三层BP 识别模型。利用5 组特征值作为输入层的样本,为了与样本的数量保持一致,设置输出层与输入层的神经元数目为5,隐含层神经元的数目由多次实验得出为10;选用正切S 型函数tansig,对网络进行集中训练。在训练过程中,当总体均方误差数值等于或小于目标1e-005 时,即可停止网络模型的样本训练。从图3 训练误差变化曲线所示,经过938 次迭代之后,训练达到目标而停止,此时网络的总体均方误差为9.9082e-006,达到了训练目的。

BP 神经网络训练完成以后,将图像的特征向量输入已经训练完成神经网络,在输出层上如果出现某个神经元的值最大,即对应识别某张图像。

从表2 可以看出,BP 神经网络经过有导师的引导学习,具有了相应的识别能力,从而可以达到对数据的分析、分类识别,网络经多次训练成功率比较高。

5 总结

综上所述,BP 神经网络是通过模拟人脑的思维模式,建立对应函数模型来处理问题,对噪声数据、振动数据、二维图像数据等类型的数据分析都显示出其网络功能的优势。BP 神经网络具有柔性的网络结构,并且具有很强的非线性映射能力,其隐层的层数、以及神经元的个数,都可以根据实际情况而做出调整。而且随着BP 网络结构的不同,其性能也呈现出差异性。

猜你喜欢

权值特征值神经元
一种融合时间权值和用户行为序列的电影推荐模型
《从光子到神经元》书评
一类带强制位势的p-Laplace特征值问题
单圈图关联矩阵的特征值
CONTENTS
跃动的神经元——波兰Brain Embassy联合办公
基于权值动量的RBM加速学习算法研究
基于商奇异值分解的一类二次特征值反问题
基于二次型单神经元PID的MPPT控制
毫米波导引头预定回路改进单神经元控制