赵工的个人空间


专业技术部分转网页计算转业余爱好部分


 图像处理与人工智能

首页 > 专业技术 > 图像处理与人工智能 > 前向型神经网络
前向型神经网络

前向型神经网络,在计算输出值的过程中,输入值从输入层单元向前逐层传播,经过隐藏层最后到达输出层,得到输出。前向网络第一层的单元与第二层所有的单元相连,第二层又与其上一层单元相连,同一层中的各个单元之间没有连接。前向网络中神经元的激发函数,可采用线性硬阈值函数或单元上升的非线性函数等来表示。训练过程中,调节权值的算法都是采用有教师的delta学习规则。
根据神经元传递函数、学习算法和网络结构上的区别,前向网络可以细分为感知器网络、BP网络、线性网络、径向基网络及GMDH网络等不同模型。

1. 感知器网络:

感知器网络是由早期的M-P网络发展而来,它是一个由线性阈值单元组成的网络,学习算法采用delta算法。感知器网络的结构和学习算法简单,其他类型的前向型神经网络都是在它的基础上发展而来的。感知器网络,根据有没有隐藏层分为单层感知器和多层感知器网络。
1)单层感知器网络:
感知器是一个多输入、单输出的运算系统,它的输入状态向量和权重向量为:
前向神经网络      前向神经网络
其中,输入分量xi表示第i个神经元的状态,wi表示第i个神经元与感知器的连接权重。
感知器的状态值可以作为感知器的输出,它是由输入向量xn、权值向量wn和阈值向量h共同决定的,通过运算函数得到输出。最常用的运算函数为:
前向神经网络
其中w0=-h*f(u)为位于区间[-1,1]之间的单调递增函数,称为激励函数。其中,h为阈值向量,而:
前向神经网络
称为感知器的整合函数。激励函数要求是连续可微、单调递增和对称的,例如可定义为:
前向神经网络
感知器的基本功能是对外部的神经元进行感知与识别,即当外部的神经元处于一定的状态时,感知器就呈现兴奋状态;而当外部的神经元处于另一种状态时,感知器就呈现抑制状态。因此,感知器的输出一般为0或1状态,这样就很容易地对模式进行分类。
感知器的学习是有教师的学习,权值可以通过学习进行调整,学习步骤为:
⑴设权重初始值为wi(0)为较小的随机非零值
⑵给定输入、输出样本向量,即导师信号xp/dp,其中:
前向神经网络      前向神经网络
式中,x0p=1。
⑶求感知器输出:
前向神经网络
⑷权值调整:
前向神经网络
其中,t表示第t次调整权值;η表示学习速率,用于控制权值调整速度,0<η<1。
⑸如果zp(t)=dp,则学习停止;否则返回⑶。
感知器的算法规则属于梯度下降法,如果目标向量存在,那么经过有限次循环迭代后,一定能够收敛到正确的目标向量。学习结束后的网络,将样本模式以权值和阈值的形式,分别存储在网络中。
对单层感知器,如果输入的两类模式是线性可分集合,那么学习算法一定收敛,即感知器一定可以成功将两类模式进行正确分类。如果输入的两类模式并非线性可分的,那么学习算法就不收敛。,处于无休止循环状态。如果输入样本向量集合中有奇异样本,即相对于其他样本特别大或特别小,学习算法就会运算很慢。
由于感知器的输出只有0和1两种状态,因此只能对输入模式进行比较简单的分类。
MATLAB为单层感知器的设计、训练和学习等提供了专门的函数工具:
设计函数newp
训练函数learnp和learnpn
自适应函数adapt和adaptwb
训练函数train和trainwb
网络仿真函数sim
初始化函数init
传递函数hardlim和hardlims
2)多层感知器:
多层感知器是单层感知器的一种推广,对三层感知器,输入结点n个,x1,x2,...,xn;第1隐层n1个神经元,对应输出有h1,h2,...,hn1;第2隐层有n2个神经元,对应输出c1,c2,...,cn2;整个网络的输出为y。整个网络按照前向方式进行连接,输入输出关系为:
前向神经网络
式中,hj为第1隐层第j单元的输出,wij为输入层第i个结点与第1隐层第j个单元之间的连接权值,θj为第1隐层第j单元的阈值;ck为第2隐层第k单元的输出,θk为其对应阈值,vjk是第1隐层第j单元与第2隐层第k单元间的连接权值,y为网络输出,wk为第2隐层第k单元与输出之间的连接权值。传递函数f()为0-1函数,是每一个单层感知器的传递函数。
多层感知器网络的信息是逐层前向传播,下层的各单元与上一层的每个单元相连。输入单元按照输入/输出关系式逐层进行操作,每层之间的连接权值可以通过学习规则进行调整。可以看出,多层感知器实际上就是多个单层感知器经过适当组合设计而成,它可以实现任何形状的划分。
多层感知器的隐单元的数目n1有对应的上下限公式。如果需要对k个输入样本进行分类,隐单元数目的最大值为k-1,最小值为min[p(n1,n)]≥k。其中:
前向神经网络
当n1<i时,(n1 i)'=0。
感知器的训练由一组样本组成的集合进行,在训练期间将这些样本重复送到感知器的输入层,通过调整权值和阈值使感知器的输出达到目标输出。
多层感知器可对输入空间向量进行分类,它的输入/输出之间的映射在一定程度上是确定的。一方面它的抗干扰能力较差,在样本存在奇异值或噪声的情况下不能得到正确的分类;另一方面,为了实现非线性划分,需要增加感知器的层数,也就增加了计算难度,使得感知器的应用范围受限。
MATLAB并没有提供专门函数用于多层感知器,可以使用定制网络功能来解决:
net=network
net.numInputs=1; %设输入源的数目
net.numLayers=2; %设网络的层数
net.biasConnect=[1;1];
net.inputConnect=[1;0];
net.layerConnect=[0 0;1 0]; %前馈网络信息只有通过第1层才能传到第2层
net.targetConnect=[0 1];
net.outputConnect=[0 1];
net.inputs{1}.range=[0 1;0 1]; %输入向量范围
net.layers{1}.size=2; %第1层的神经元个数
net.layers{1}.transferFcn='hardlim'; %第1层的硬限幅函数
net.layers{1}.initFcn='initnw'; %第1层的初始化函数
net.layers{2}.size=1;
net.layers{2}.transferFcn='hardlim';
net.layers{2}.initFcn='initnw';
net.adaptFcn='trains'; %网络自适应函数
net.performFcn='mse'; %网络性能函数
net.trainFcn='trainlm'; %网络训练函数
net.initFcn='initlay'; %网络初始化函数
然后,完整的多层感知器就设计好了。

2. 线性神经网络:

线性神经网络也是单层网络,传递函数为线性,训练算法为最小均方差LMS,只能对线性可分模式进行分类,其学习算法的收敛速度和精度都有提高。Widrow和Hoff提出的自适应线性元件是线性神经网络最早最典型的代表。
线性神经网络结构与感知器的神经元结构的差异只在于传递函数不同,为f(x)=x。线性神经网络典型为Madaline网络,其学习过程是按误差平方和最小的原则,即LMS(Least Mean Square)算法,这种规则称为Widrow-Hoff学习规则。
网络的输入向量、目标向量和连接权值向量分别为:
线性神经网络    线性神经网络    线性神经网络
其中,k=1,2,...,m,m为学习模式的数目,s为输出层单元的数目,i=1,2,...,R。一个输入向量与对应的目标向量称为一个学习模式。学习过程为:
⑴初始化,为各连接权值wij赋予区间[-1,1]内的随机值
⑵任选一组学习模式提供给网络
⑶计算网络输出值:
线性神经网络
⑷计算网络各输出单元的实际输出与目标向量之间的误差:
线性神经网络
⑸进行连接权值的修正:
线性神经网络
⑹取下一个学习模式提供给网络,重复⑶-⑸,直到误差d变得足够小为止。
Madaline的LMS学习规则可保证最终的误差函数最小,但这需要进行无限次的学习,因此实际应用中只能得到近似值。

3. BP网络:

BP网络在结构上类似于多层传感器,是一种多层前向神经网络,名字源于在网络训练中,调整网络权值的训练算法是误差反向传播学习算法,即BP学习算法。BP网络结构简单,可调参数多,训练算法多,可操控性好,因此获得广泛实际应用,是前向网络的核心部分。
BP是一种具有3层及3层以上神经元的神经网络,包括输入层、中间层(隐层)和输出层,上下层之间实现全连接,而每层神经元之间无连接。当一对学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际输出之间误差的方向,从输出层反向经过各中间层回到输入层,从而逐层修正各连接权值,这种算法称为误差反向传播算法,即BP算法。随着这种误差逆向的传播修正不断进行,网络对输入模式响应的正确率不断上升。
由于误差反向传播中会对传递函数进行求导计算,BP网络的传递函数要求必须是可微的,所以不能使用硬阈值传递函数,常用的有Sigmoid型对数、正切函数或线性函数。由于传递函数是处处可微的,所以对于BP网络,所划分的区域不再是一个线性划分,而是一个由非线性超平面组成的区域,是比较平滑的曲面,因而分类更加精确,容错性更好。网络可以严格采用梯度下降法进行学习,权值修正的解析式十分明确。
1)BP网络学习规则:
网络输入向量和网络目标向量分别为:
BP神经网络         BP神经网络   
中间层单元输入量和输出向量:
BP神经网络         BP神经网络   
输出层单元输入向量和输出向量:
BP神经网络         BP神经网络   
输入层至中间层的连接权:wij,i=1,2,...,n,j=1,2,...,p
中间层至输出层的连接权:vjt,j=1,2,...,p,t=1,2,...,p
中间层各单元的输出阈值θj:j=1,2,...,p
输出层各单元的输出阈值γt:t=1,2,...,q
参数k=1,2,...,m
⑴初始化:给每一个连接权值wij、vjt、阈值θj与γj赋予区间(-1,1)内的随机值
⑵随机选取一组输入Pk和目标样本Tk提供给网络
⑶用输入样本Pk、连接权wij和阈值θj计算中间层各单元的输入sj,然后用sj通过传递函数计算中间层各单元的输出bj:
BP神经网络        BP神经网络
⑷利用中间层的输出bj、连接权vjt和阈值γt计算输出层各单元的输出Lt,然后通过传递函数计算输出层各单元的响应Ct:
BP神经网络        BP神经网络
⑸利用网络目标向量Tk,网络实际输出Ct,计算输出层的各单元一般化误差:
BP神经网络
⑹利用连接权vjt、输出层一般化误差dt和中间层的输出bj,计算中间层各单元的一般化误差:
BP神经网络
⑺利用输出层各单元的一般化误差dt与中间层各单元的输出bj来修正连接权和阈值:
BP神经网络    BP神经网络
其中,0<α<1
⑻利用中间层各单元的一般化误差ej、输入层各单元的输入Pk来修正连接权和阈值:
BP神经网络    BP神经网络
其中,0<β<1
⑼随机选取下一个学习样本向量提供给网络,返回步骤⑶,直到m个训练样本训练完毕
⑽重新从m个学习样本中随机选取一组输入和目标样本,返回步骤⑶,直到网络全局误差E小于预先设定的一个极小值,即网络收敛。如果学习次数大于预先设定的值,网络就无法收敛。学习结束。
通常,经过训练的网络还应该进行性能测试。测试的方法就是选择测试样本向量,将其提供给网络,检验网络对其分类的正确性。测试样本向量中应该包含今后网络应用过程中可能遇到的主要典型模式。样本数据较少或者较难得到时,也可以通过对学习样本加上适当噪声或按照一定规则插值得到。为了更好地验证网络的泛化能力,一个良好的测试样本集中不应该包含和学习样本完全相同的模式。
2)BP网络设计技巧:
⑴输入和输出层的设计:
输入的神经元可以根据需要求解的问题和数据表示方式确定。如果输入的是模拟信号波形,那么输入层可以根据波形的采样点数目决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列;如果输入为图像,则输入单元可以为图像的像素,也可以是经过处理的图像特征。
输出层的维数可根据使用者的要求确定。如果将BP网络用作分类器,类别模式一共有m个,那么输出层神经元个数为m或log2(m)(以2为底的m的对数)。
⑵隐层的设计:
对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个3层BP网络就可以完成任意的n维到m维的映射。
隐层的神经元数目选择是个很复杂的问题,往往需要根据设计者的经验和多次试验来确定,不存在一个理想的解析式。隐单元的数目与问题的要求、输入/输出单元的数目都有直接关系。隐单元数目太多会导致学习时间过长、误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。以下3个公式可用于选择最佳隐单元数时参考:
BP神经网络,其中,k为样本数,n1为隐单元数,n为输入单元数。如果i>n1,值等于0
BP神经网络,其中,m为输出神经元数,n为输入单元数,a为[1,10]之间的常数
BP神经网络,其中,n为输入单元数
还有一种途径可用于确定隐单元的数目。首先使隐单元的数目可变,或者放入足够多的隐单元,通过学习将那些不起作用的隐单元剔除,直到不可收缩为止。同样,也可以在开始时放入比较少的神经元,学习到一定次数后,如果不成功再增加隐单元数目,直到达到比较合理的隐单元数目为止。
⑶初始值的选择:
由于系统是非线性的,初始值对于学习能否达到局部最小及是否能够收敛关系很大。一个要求是,初始权值在输入累加时使每个神经元的状态值接近于零,权值一般取随机数,数值要比较小。输入样本也同样希望进行归一化处理,使那些比较大的输入仍落在传递函数梯度大的地方。
3)BP网络的不足和改进:
BP网络存在一些不足和缺陷:
⑴由于学习速率是固定的,因此网络收敛速度慢,需要较长的训练时间。对于一些复杂的问题,BP算法需要的训练时间可能会非常长。对此,改进方法有附加动量项、变化的学习速率或自适应的学习速率。
⑵BP算法可以使权值收敛到某个值,但并不能保证其为误差平面的全局最小值,因为梯度下降法可能会产生多个局部最小值。
⑶网络隐层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定,因此网络往往存在很大冗余性,在一定程度上增加了网络学习的负担。
⑷网络的学习和记忆具有不稳定性,即如果增加学习样本,训练好的网络就需要从头开始重新训练,对于以前的权值和阈值是没有记忆的。
4)提高泛化能力的方法:
经过训练后的神经网络,希望对于和训练样本类似的模式,输出的准确率高,这要求神经网络的泛化能力要好。为了提高网络的泛化能力,在传统方法基础上,针对目标函数、训练算法,提出了一些改进方法。提高泛化能力的方法称为正则化。
⑴改进的目标函数:
训练前向型网络时,一般的目标函数为网络误差的平方和的均值:
BP神经网络
其中,ti表示期望输出,ai表示实际输出。为了提高泛化能力,可以在目标函数里加上由网络权值和偏置值的平方和的均值组成的一项。msereg=γmse+(1-γ)msw
γ为一个比率数,加的一项msw为:
BP神经网络
用上面的目标函数可以使得网络有更小的权值和偏置值,从而使得网络的响应更加平滑,减小过拟合的可能性。
这个方法中,比率γ的设定是一个难题。如果γ过大,网络容易过拟合;如果γ过小,网络又不能充分拟合数据。
⑵自动正则化:
这个方法使用trainlm算法进行训练,而利用贝叶斯统计方法来自动决定正则化参数。使用该方法,需要在建立网络时,训练方法选择trainbr。

4. 径向基函数网络:

径向基函数RBF神经网络是一个只有一个隐藏层的3层前向神经网络,隐藏层的转换函数是局部响应的高斯函数。要实现同一个功能,径向基网络的神经元个数可能要比前向BP网络的神经元个数多,但训练时间却要少,也能够以任意精度逼近任意连续函数。
径向基网络传递函数是以权值向量和阈值向量之间的距离||dist||作为自变量的,其中||dist||是通过输入向量和加权矩阵的行向量的乘积得到的。
径向基网络传递函数的原型函数为:
径向基神经网络
当输入自变量为0时,传递函数取得最大值1。随着权值和输入向量之间距离的减小,网络输出是递增的。径向基神经元可以作为一个探测器,当输入向量和加权向量一致时,神经元输出1。
利用径向基神经元和线性神经元,可以建立广义回归(Generalized Regression)神经网络,这种形式的网络经常用于函数逼近。广义回归神经网络包括两层,中间层为径向基层,输出层为线性层。这种网络有Q组输入向量,每组向量的元素个数为R个,中间层有S1个径向基神经元,输出层有S2个线性神经元。
径向基神经元可以和竞争神经元一起共同组建概率神经网络(Probabilistic Neural Network)。概率神经网络常用于解决分类问题,用法是为网络提供一种输入模式向量后,首先径向基层计算该输入向量同样本输入向量之间的距离||dist||,该层的输出为一个距离向量;竞争层接受距离向量为输入向量,计算每个模式出现的概率,通过竞争传递函数为概率最大的元素对应输出1,这就是一类模式,否则输出0,作为其他模式。
1)径向基函数的学习过程:
径向基函数网络是由输入层、隐含层和输出层构成的三层前向网络,隐含层采用径向基函数作为激励函数,该径向基函数一般为高斯函数。隐层每个神经元与输入层的权值向量W1i和输入向量Xq、阈值向量b1i。隐层的第i个神经元的输入和输出为:
径向基神经网络    径向基神经网络
径向基函数的阈值b1可以调节函数的灵敏度,但实际中更常使用扩展参数C。b1和C的关系有多种确定方法,MATLAB中b1i=0.8326Ci,此时隐含层神经元的输出变为:
径向基神经网络
可见,C值的大小实际上反映了输出对输入的响应宽度,C值越大隐含层神经元对输入矢量的响应范围将越大,且神经元间的平滑度也较好。
输出层的输入为各隐层神经元输出的加权求和。由于激励函数为纯线性函数,输出为:
径向基神经网络
RBF网络的训练过程分两步:第1步为无教师式学习,确定训练输入层与隐含层间的权值w1;第2步为有教师式学习,确定训练隐含层与输出层间的权值w2.在训练之前,需要提供输入矢量X、对应的目标矢量T与径向基函数的扩展常数C。训练的目的是求取两层的最终权值w1、w2和阈值b、b2,当隐含层单元数等于输入矢量数时取b2=0。
在RBF网络训练中,隐含层神经元数量的确定是一个关键问题,传统的做法是使其与输入向量的元素相等。但在输入矢量很多时,隐含层单元数过多,改进方法是从0个神经元开始训练,通过检查输出误差使网络自动增加神经元。每次循环使用,使网络产生的最大误差所对应的输入向量作为权值向量w1i,产生一个新的隐含层神经元,然后检查新网络的误差,重复此过程,直到达到误差要求或最大隐含层神经元数为止。可见,径向基函数网络具有结构自适应确定、输出与初始值无关等特点。
2)基于RBF网络的非线性滤波:
早期的数字信号处理和数字图像处理主要以线性滤波为主要手段,然而当信号中存在由系统非线性引起的噪声或非高斯叠加噪声时,线性滤波器不能很好地工作。
描述系统非线性差分方程为:
状态方程:x(n+1)=f(x(n))+v(n)          观测方程:y(n+1)=h(x(n))+w(n)
其中,f和h都是非线性函数,w(n)和v(n)为零均值的白噪声序列。
所谓最优滤波,就是从观测值y(n)估计出状态x^(n),且使得x^(n)可以更好地接近x(n)的问题。RBF网络具有唯一的最佳逼近特性,因此尝试将其用于最优滤波,即利用已知的采样数据对非线性函数做最佳逼近。由RBF网络的输入/输出表达式可得h的估计值:
径向基神经网络     径向基神经网络     径向基神经网络
其中,N为训练次数。
3)基于GRNN的函数逼近:
广义回归神经网络GRNN是径向基网络的一种变化形式,由于训练速度快,非线性映射能力强,因此经常用于函数逼近。
径向基函数的分布密度SPREAD可以对GRNN的性能产生重要影响。理论上讲,SPREAD越小,对函数的逼近就越精确,但是逼近的过程越不平滑;SPREAD越大,逼近过程就比较平滑,但是逼近误差会比较大。由于SPREAD的大小对网络的最终逼近精度有着比较大的影响,因此在网络设计过程中需要调整SPREAD的值,直到达到比较理想的精度。
4)基于概率神经网络的分类:
概率神经网络PNN也是径向基网络的一种变化形式,具有结构简单、训练快捷等特点,特别适合于模式分类问题的解决。在模式分类中,优势在于可以利用线性学习算法来完成以往非线性算法所做的工作,同时又可以保持非线性算法高精度的特性。
径向基函数的分布密度SPREAD能够对网络的分类性能产生比较严重的影响,当SPREAD接近于0时,对应的PNN就成为一个最邻域分类器;当SPREAD增大后,对应的PNN就要考虑附近的设计向量。
5)GMDH网络:
GMDH是数据处理的群方法(Group Method of Data Handling)的简称,GMDH网络也称多项式网络,是前向神经网络中常用的一种用于预测的神经网络。其网络结构不固定,在训练过程中不断改变。
GMDH网络的输入层将输入信号前向传递到中间层,中间层的每一个神经元和前一层的2个神经元对应,因此输出层的前一层肯定只有2个神经元。一般采用自适应线性元件作为GMDH网络中的神经元。该神经元的输入/输出关系为:
径向基神经网络
其中,Zk,l表示第k层的第l个处理单元,且z0,l=xl;wi为神经元的权值。可见,GMDH网络中的处理单元的输出是2个输入量的二次多项式,因此网络的每一层将使得多项式的次数增大2阶,其结果是网络的输出可以表示成输入的高阶(2k阶)多项式,k是网络不含输入层的层数。
①GMDH网络的训练:
训练一个GMDH网络,包括从输入层开始构造网络,调整每一个神经元的权值和增加网络层数直到满足映射精度为止。第1层的神经元数取决于输入信号的数量,每一个输入信号需要一个神经元。假定网络仅有一个输入,所以输入层只有一个神经元,假设在时刻k神经元的权向量为:
径向基神经网络
输入向量为:
径向基神经网络
由Widrow-Hoff学习规则可知:
径向基神经网络
其中,ydk为神经元在k时刻的目标输出向量,α为学习速率,取值在[0.1,1]之间。按照上述公式就可以调整神经元权值,降低神经元实际输出和目标输出之间的误差。
以上计算是在假定只有输入的前提下进行的,,网络期望输出值ydk出现在每个输入层神经元中,并希望通过训练使各神经元都能达到这一期望输出。对一个神经元来说,当训练数据集中每一个数据产生的均方差之和Se达到最小值时,对这个神经元的训练就结束,其权值予以固定。当输入层的神经元被全部训练一遍后,训练停止。这时,另一组数据(通常称为选择数据)被加到神经元上,经计算相应的Se,对那些Se小于阈值的神经元即放入下一层,而其余的神经元则被舍弃,同时记录每一次神经元训练过程中产生的最小Se。若当前层在训练过程中产生的Se小于前一层时,表示网络精度得到提高,就产生一个新的神经元层,这一层中的神经元数量取决于上一层中保留的神经元数,然后对新的神经元层进行训练和选择,而保持已训练的神经元层不变,这一过程一直进行到Se不再减小为止。这时,取前一层神经元中误差最小的神经元的输出作为网络输出。当新神经元层只有1个神经元,且该层的Se小于前一层时,这一神经元就作为输出神经元。输出神经元确定以后,要对网络进行整理,所有与输出神经元无直接或间接联系的神经元都被舍弃,仅留下与输出有关的神经元。
②GMNN网络的预测:
GMDH网络的结构是在训练中动态确定的,在训练过程中网络神经元层数不断增加,每增加一层就增加一些新的神经元,而那些性能不好的神经元则被舍弃,因而每一层中的神经元数也是可变的。训练一个用于预测的GMDH网络的步骤:
⑴数据预处理,包括数据规范化和除去数据中的静止直流成分,一般首先要归一化
⑵决定网络的输入信号数,对于预测需要用到n个过去输出值
⑶将试验数据分成训练样本和测试样本
⑷建立输入神经元层,神经元数和输入信号数i有关,每个输入信号有一个神经元对应
⑸将神经元权值的初始值设为0
⑹将训练数据组作用于输入层的每一个神经元,在k时刻取yk-1作为输入信号,yk作为期望输出,计算每个神经元的输出误差,并修正其权值和均方误差和,当均方差和大于上一循环计算值时,训练停止
⑺输入选择数据,计算每一神经元的输出均方差,根据差值确定一个阈值,选择方差小于阈值的神经元作为下一层神经元
⑻当本次最小均方差大于前一层神经元的最小均方差或本层仅有一个神经元时,停止训练过程。如果训练是由于最小均方差偏大而停止,则将前一层神经元作为输出层,并重新整理网络;若训练是因本层仅有一个神经元而停止,且本次方差小于前一层时,则以本层神经元作为输出层并重新整理网络。整理网络就是舍弃那些与输出神经元没有联系的神经元。
⑼利用评价数据组检查训练好的网络性能。评价数据组可以是上述样本数据和测试数据的结合,也可以是一组全新的数据。采用全新数据可以在更广泛的基础上检查网络的性能。

 

Copyright@dwenzhao.cn All Rights Reserved   备案号:粤ICP备15026949号
联系邮箱:dwenzhao@163.com  QQ:1608288659