首页 理论教育 基于人工神经网络的模式识别

基于人工神经网络的模式识别

时间:2022-02-21 理论教育 版权反馈
【摘要】:其中BP神经网络是一种基于监督学习的人工神经网络,它能够通过学习已知样本而掌握经验,从而对未知样本作出判别,从而广泛地应用于传感器阵列的数据处理中。BP神经网络作为本章模式识别的主要方法,因此下面对其模型结构、算法以及设计考虑等做一个概述。BP神经网络的学习规则,即权值和阈值的调节规则采用的是BP算法。
基于人工神经网络模式识别_质量敏感型有毒有

模式识别是对传感器阵列的输出信号进行适当的处理,以获得混合气体组分信息和浓度信息。气体传感器阵列模式识别方法根据应用要求可以分为两大类:定性识别和定量分析。所谓定性识别是指对所测量的气体的种类做出正确评价。定量分析则除了要对气体种类正确评价外,还需对所测量气体的含量进行评价。两者有着不同的应用领域,显然,定量分析的难度要远远大于定性识别。

目前定性识别所采用的算法[184]:最近邻法(NN)、判别函数法(DA)、主元分析法(PCA)、人工神经网络(ANN)、概率神经网络(PNN)、学习向量量化(LVQ)、自组织映射(SOM)等。其中PCA和ANN应用最为广泛。ANN近些年来发展迅速,已有一些改进型ANN在实践中取得了良好的效果。总的说来,针对定性识别,目前的模式识别算法还是能取得令人满意的成果。

相对于定性识别而言,定量分析的结果就有些不尽人意。正因为如此,如何改进定量分析精度一直是该领域一个热门研究方向。定量分析能采用的方法不多,除传统的多元线性回归(MLR)、主成分回归(PCR)、偏最小二乘(PLS)等一些线性回归方法外,目前定量分析效果最好的还是人工神经网络(ANN)。因此采用人工神经网络(ANN)来进行气体的定性识别和定量分析。

人工神经网络是指模拟生物大脑的结构和功能而构成的一种信息处理系统,由多个非常简单的处理单元彼此按某种方式相互连接而形成,靠其状态对外部输入信号的动态响应来处理信息。人工神经网络具有自学习、联想存储和高速寻找优化解的能力。

典型的神经网络模型有感知器、线性神经网络、BP神经网络(BP-ANN)、径向基函数网络、反馈型神经网络和竞争型神经网络。其中BP神经网络是一种基于监督学习的人工神经网络,它能够通过学习已知样本而掌握经验,从而对未知样本作出判别,从而广泛地应用于传感器阵列的数据处理中。

BP神经网络是一种多层前馈型神经网络,其神经元采用的传递函数通常是sigmoid型可微函数,输出量为0~1之间的连续量,可以实现输入和输出间的任意非线性映射,因此可以运用于气体传感器阵列中气体的定性定量分析。BP神经网络作为本章模式识别的主要方法,因此下面对其模型结构、算法以及设计考虑等做一个概述。

6.3.4.1 BP-ANN的网络模型结构

图6-10给出了BP-ANN的网络模型结构,整个网络由三层组成,即输入层、隐层和输出层,其中隐层可能有多个。网络各相邻层神经元之间互相连接而各层内神经元之间并无连接,前一层神经元的输出作为下一层神经元的输入。整个网络的特性决定于相邻层间神经元的连接权和神经元上的阈值

隐层及输出层中单个神经元的结构如图6-11所示。它具有R个输入,每个输入都通过一个适当的权值w和下一层相连,网络输出可表示为

a=f(wp+b)

其中的传递函数f通常取可微的单调递增函数,如对数sigmoid函数(logsig)、正切sigmoid函数(tansig)以及纯线性函数(purelin)等。BP神经网络最后一层神经元的特性决定了整个神经网络的输出特性。当最后一层神经元采用sigmoid型函数时,那么整个网络的输出就被限制在一个较小的范围内;如果最后一层神经元采用purelin型函数,则整个网络输出可以取任意值。所以隐层神经元通常采用sigmoid型传递函数,而输出层神经元则采用purelin型传递函数。

图6-11 BP神经元模型

6.3.4.2 BP算法

BP神经网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点,经过非线性变换,产生输出信号Yl,网络训练的每个样本包括输入向量X和期望输出量t,网络输出值Y与期望输出值t之间的偏差,通过调整输入节点与隐层节点的权值Wij和隐层节点与输出节点之间的权值Vjk以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息自行处理,输出误差最小的经过非线性转换的信息。BP神经网络的学习规则,即权值和阈值的调节规则采用的是BP算法。

下面介绍BP算法的推导过程。假设三层BP网络,输入节点xi,隐层极点zj,输出节点yl。输入节点与隐层节点间的网络权值为wji,隐层节点与输出节点之间的网络权值为vlj。当输出节点的期望值为tl时,模型的计算公式如下。

隐层节点的输出

其中

输出节点的计算输出

其中

输出节点的误差

(一)网络权值的修正

误差函数对输出节点求导

因为E是多个yk的函数,但只有一个yl与vlj有关,各yk间相互独立,其中

设输入节点误差为

误差函数对隐层节点求导

E是多个yl的函数,针对某一个wji,对应一个zj,它与所有yl有关,其中

设隐层节点误差为

由于权值的修正Δvlj,Δwji正比于误差函数沿梯度下降,则有

(二)阈值的修正

阈值θ也是变化值,在修正权值的同时也需要修正,原理同权值修正一样。可得输出节点阈值修正

隐层节点阈值修正

其中,输入节点误差

隐层节点误差为

传递函数是S型函数

则 

对输出节点

对隐层节点

算法的具体步骤为先对网络各连接权值和阈值置以较小的随机初值,即网络初始化;然后输入测试样本网络训练,该过程按照BP算法不断修正连接权值和阈值,直到精度满足要求;训练结束后,将所得权值和阈值固定于BP-ANN网络中,即可通过传感器信号的输入得出对应的气体的分析识别。

6.3.4.3 BP-ANN的设计考虑

(1)输入与输出层的设计

BP神经网络的输入、输出层维数是完全根据使用的要求来设计。对于传感器阵列而言,输入层维数即为传感器单元的个数,输出层维数需考虑实际要求。

对于定性分类用的BP网络,其类别数为m个,那么输出层一般取m个神经元,其训练样本集中的X属于第j类,要求其输出为

即第j个输出为1,其他输出为0。

对于定量识别的BP网络,其类别数为m个,那么输出层一般也取m个神经元,其训练样本集中的X属于第j类,且其定量值为xj,则要求输出为

一般来说,问题确定之后,输入输出层的神经单元数都就确定了。只是在实际的过程中,应尽量减小系统的规模,使学习的时间和系统的复杂性减小。

(2)隐层的设计

1989年R. Heeh-Nielsen证明了对于任何在闭区间内连续的函数都可以用具有一个隐层的BP网络来任意逼近,因而一个三层的BP网络可以完成任意的n维到m维的映照。当然根据问题的复杂性,网络也可以采用多个隐层。

隐层神经元个数的选择比较复杂,主要是因为没有很好的解析式来表示。隐层神经元个数太少,网络可能无法达到训练要求,或训练后的网络不够强壮,不能识别以前没有看到的样本,容错性差;但隐层神经元个数太多,又使网络学习时间过长,误差也不一定最佳,因此存在一个最佳的隐层神经元个数。本文采用控制变量法,在保证其他参数不变的情况下,适当的改变隐层神经元个数,以期找到最佳的隐层神经元个数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈