神经网络隐含层的作用范例6篇

前言:中文期刊网精心挑选了神经网络隐含层的作用范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。

神经网络隐含层的作用

神经网络隐含层的作用范文1

【关键词】工程项目;风险评价;BP神经网络;模糊综合评价

【Abstract】In this article, a evaluation method by BP neural network of composite fuzzy was presented and the Evaluation Model based on BP Neural Network of Composite Fuzzy was built, than used this model to evaluation engineering project risk of owner financing.

【Key words】Engineering Project;owner inancing;venture evaluation;BP neural network;Fuzzy Synthetic Evaluation

0 引言

当建设项目投资需求金额很大,业主通常可采用项目融资的方式建设。由于项目融资时间长、规模大、参与方多、结构复杂,导致融资风险极大,它直接关系到项目融资能否成功以及项目能否进行建设。因此,有效的风险管理通常能够较好的防范或者是降低风险带来的损失,而在风险管理过程中,风险评价则是非常重要的一个环节,所以选择合适的风险评价模型就起到了关键性的作用。本文研究采用了基于BP神经网络的模糊综合评判模型。该模型既考虑到了风险评价具有模糊性,也利用了神经网络具有较好的学习能力、加速权重的学习调整的优点。

1 基于BP神经网络的模糊综合评判模型

基于BP神经网络的模糊综合评判模型是指在BP神经网络评价系统的基础上引入模糊逻辑,使其能够直接处理一些模糊性的信息。它的基础模型是三层BP神经网络模型,在基础模型的输人层前增加了模糊语言量化层,从而能够处理那些模糊语言描述的信息,同时能让模糊化处理、规则与推理转换成神经网络的学习,综合评判模型如图1所示。

图1 基于BP神经网络的模糊综合评判模型

1.1 模糊信息输入量化层

通过模糊信息的输入量化层预处理之后,就能将模糊概念融入到BP神经网络中。模糊信息的评价指标值不是反映的分值大小,而是反映出对某些模糊评价观念隶属度的高低。

BP神经网络模型前置的模糊信息输入量化层将指标的特征值转化为其隶属度,转换过程如下:

根据定量因素指标的属性,因素指标对最优评价的隶属度分别为以下三种情况:

1)指标属性越大越优

v■=■■(1)

2)指标属性越小越优

v■=■t(2)

3)指标属性适中为优

v■=ew(3)

在上式中,v■指第i个指标对最优评价的隶属度,取值范围是[0,1];U■指第i个指标的指标值;当t=1即为线性分布; w=-■■ ;U■指最优指标值。

1.2 BP神经网络结构

1.2.1 BP神经网络的学习原理

BP神经网络是一种多层次反馈型网络,所使用的是有“导师”的学习算法。网络由一个输入层、若干个隐含层和一个输出层组成,每层都有一个或多个神经元节点,下层每个神经元与上层每个神经元都实现权连接,输入信号先向前传播到隐含层节点,经过函数作用,再把隐含节点的输出信号传播到输出节点,如果输出层得不到期望的输出,则反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元权值,使得误差信号最小。

1.2.2 BP神经网络的结构设计

1)输入层节点数

输入层节点数是指评价指标个数。实际应用中,输入节点的数目由风险因素的数目来决定,使输入层数据的全面性得到了有效保证。

2)隐含层层数及节点数

隐含层的作用主要是从输入的样本信息中提取特征。增加隐含层层数可以降低误差、提高精度,但同时也使网络复杂化,从而增加网络权值的训练时间。当采用S型函数作为激活函数时,一个隐含层就能满足实现需要的判决分类,所以目前很多评价模型都选用1个隐含层。

隐含层节点的作用主要是从输入的样本中提取并储存其内在规律。若隐含层节点数量过少,可能训练不出网络或者网络不够“强壮”,不能识别以前没遇到过的样本,容错性差;但节点数量过多,又会使学习时间过长误差也不一定最佳,还容易出现“过度吻合”的问题,降低了网络泛化的能力。通过大量实践研究,目前已获得比较科学的节点数量计算公式。最佳隐含层节点数量公式:

N=■+a(4)

在上式中,N为最佳隐含层节点数,n为网络输入层输入节点数,m为网络输出层输出节点数,a为1-10之间的一个常数。

输出层节点数由评价结果的需要来确定。

3)训练次数

最佳的训练次数能使建立好的模型获得较好的泛化能力。为了得到最佳的训练次数,可将样本数据分为训练集和测试集,训练集用来训练修改BP神经网络的权值,直到输出结果与期望值之间的误差满足要求,其原理如图1所示。经过一定数量的训练次数后,网络的训练误差和测试误差随着训练次数的增加而减少,但当训练次数超过某一值后,测试误差会随着训练次数的增加而增加。在神经网络训练的过程中,设定好时间间隔,测试网络误差并记录下权值,当发现测试误差开始增加时,就已达到最佳的训练次数。

1.2.3 BP神经网络的算法

BP神经网络主要分为网络的学习过程和网络的检验过程,也就是用一定数量的样本数据训练网络(学习过程),然后用一定数量的样本数据对训练好的网络进行测试(检验过程)。每一样本具体算法过程如下:

1)原始数据通过输入量化层的模糊转换后,输入网络,给出相应的期望值。并给w■,v■,T■,θ■随机赋一个较小的值, 其中w■是输入层节点ai到隐含层节点br的连接权值,v■是隐含层节点br到输出层节点cj间的连接权值,T■是隐含层节点的阀值,θ■是输出层节点的阀值。

2)隐含层节点的输出计算为:br=f■w■a■+T■;输出层节点的输出计算为:cj=f■v■b■+θ■

其中f(・)为神经元输入与输出之间的转换函数。Sigmoid型函数由于对线性和非线性问题都能很好的适应,应用也最为广泛,所以本文模型采用此函数,其函数形式如下:

f(x)=■

3)计算输出层节点输出c■与期望输出的误差,令:d■=c■(1-c■)・(c■■■■-c■);向隐含层节点反向分配误差,令:e■=b■・(1-b■)・(■v■・d■)

4)调整隐含层与输出层节点间连接权值v■及输出层节点阀值θ■:

v■=v■+a・b■・d■;θ■=θ■+a・d■(0

调整输入层与隐含层节点间连接权w■及隐含层节点阀值T■:

w■=w■+a・ai・e■;T■=T■+a・e■(0

5)重复步骤(2)~(4),直至EAV变得足够小:EAV=■■■(c■■-c■)■其中p为训练样本的个数,EAV为学习的目标函数。

2 应用举例

以工程项目风险评价来说明该模型的应用。

2.1 工程项目风险评价指标体系

根据全面性、独立性、可比性和准确性相结合的原则,参考大量相关文献资料,并运用德尔菲(Delphi)法咨询多位实践经验丰富的专家,建立一套较为合理、系统的业主项目融资风险评价指标体系,并为各指标分配权值。建立好的指标体系如下所示。

2.2 基于BP神经网络的模糊综合评判模型构建

神经网络模型输入层取12个神经元;隐含层经计算确定为5个神经元;输出层取1个神经元,输出为工程项目风险系数;因此,神经网络模型结构为12×5×1。其中隐含层选用一层,采用S型函数作为激活函数。

表1 网络权值Wir

表2 网络权值Wrj

将取得的10个业主项目融资风险评估案例随即分为8个训练样本和2个测试样本,样本数据通过模型的模糊输入层转换为隶属度值,然后进入到模型的神经网络部分,依据上文中描述的神经网络算法,利用输入样本数据对该网络模型进行训练和测试,即经历学习过程和检验过程。计算过程可结合matlab软件的应用,最后获得了稳定的网络状态和较高的计算精度。故可用该模糊神经网络综合评判模型处理工程项目风险评估问题。训练好的网络权值如表1、表2。

3 结论

利用BP神经网络模糊综合评判模型来实现评价功能,不仅使评价系统具有了学习能力。同时,还结合了模糊评价的优势解决了业主项目融资风险评价的模糊性问题。并且各个评价指标的权重是由网络通过学习自动生成的,它避免了传统评价方法中人为确定权重的主观性,弥补了传统方法的不足,使评价的结果更具客观性和准确性。

本文用基于BP神经网的模糊综合评判模型对业主项目融资风险进行了综合评价,利用matlab编写相关程序并且实现了神经网络的权值学习,在实际评价中取得了令人满意的结果,表明此方法是可行的,具有推广和应用价值。

【参考文献】

[1]周志华.神经网络及其应用[M].北京:清华大学出版社,2OO4:25-33.

[2]邓铁军,仇一颗.工程风险管理[M].北京:人民交通出版社,2004.

[3]董长虹.Matlab神经网络与应用[M].北京:国防科技大学出版社,2005.

神经网络隐含层的作用范文2

 

关键词:  人工神经网络; 类风湿关节炎; 预测

类风湿关节炎(Rheumatoid arthritis ,RA)是一种以关节滑膜发生慢性炎性病变的自身免疫性疾病,其病程多呈进行性进展,致残率高,治愈率低下[1],早期临床表现不典型,单项自身抗体检测的灵敏度和特异性均有不足,类风湿因子的检出率也偏低,容易造成误诊[2,3]。因此医务人员主要是通过敏感性互补的几个检验指标和临床表现对类风湿关节炎作出诊断[4],但在疾病的诊断中往往带有很多的主观因素。近年来发展起来的人工神经网络是种理论化的数学模型,是模仿人脑神经的网络结构及其功能而建立起来的一种信息处理系统,具有自行学习、联想记忆、错误容纳和强大的非线性处理能力[5]。因此人工神经网络常常被应用到临床医学疾病的诊断上。本研究结合类风湿关节炎诊断的8个主要指标,设计一种基于人工神经网络类风湿关节炎的诊断方法,通过对150例样本的网络运算,探讨了人工神经网络对类风湿关节炎诊断的可行性。

1 人工神经网络基本原理

人工神经网络可以通过对外界信息的学习,以特定的方式对这些信息进行处理和概括,从而具备了对这些信息的识别功能,并产生了一个相对应的结论。因此,再次给人工神经网络这样一个相似的条件时,神经网络就会根据已学到的知识,自行推理判断,得到一个我们需要的结果。

1.1 人工神经元

人工神经元是组成人工神经网络的基本处理单元,简称为神经元。如图1显示了一个具有r个输入分量的人工神经元模型[6]。

图1中p(r=1,2,…,r) 为该神经元的输入数据;Wr 为该神经元分别与各输入数据间的连接强度,称为连接权重,权重值的大小代表上一级神经元对下一级神经元的影响程度。b为该神经元的阈值,f(x)为作用于神经元的激励函数,通常采用的是S 型函数,其数学表达式见式(1)[7]:

f(x)=(1+e-Qx)-1(1)

a为神经元的输出数据。神经元将接收信息pi与连接权重wi 的点乘积求和构成其总输入, 在神经元阈值b的作用下经函数f(x)的作用,产生信号输出a。

图1 人工神经元模型

1.2 人工神经网络

人工神经网络是由多个不同的神经元连接而成,一般含有多个层次,每个层次又包含了多个神经元,上一层次的神经元只能对下一层的神经元产生作用,同层神经元间无相互作用[7]。根据神经元的不同连接方式,就形成了不同功能的连接网络模型。比如BP神经网络,Kohonen神经网络,Hopfield神经网络等等,多达数十种。在医学中应用比较广泛的是BP神经(Back Propagation),也就是误差逆向传递网络[8],本研究中采用的也是BP神经网络。BP神经网络一般由输入层,隐含层和输出层构成,其结构模型如图2所示。

神经网络输入层的神经元是接受外界信息的端口,不包括数据运算功能,他将外界的输入数据通过一个连接权重传递给下一隐含层的神经元。隐含层是神经网络的核心部分,数量上可以有一个或多个层次,随着层次的增多,网络结构变得更复杂,网络数据处理功能也增强。网络的最后一层是输出层,输出层接收到隐含层的各项信息,然后经过转换把信息传给外界。

输入层 隐含层 输出层

图2 BP人工神经网络模型

神经网络隐含层的作用范文3

关键词:风电场功率预测;天气预报(NWP);BP神经网络;预测误差

中图分类号:TP301文献标识码:A文章编号:16727800(2013)004003103

0引言

能源是支撑人类文明进步的物质基础,是现代社会发展不可或缺的基本条件。在中国实现现代化和全体人民共同富裕的进程中,能源始终是一个重大战略问题。大力发展新能源和可再生能源,是推进能源多元清洁发展、培育战略性新兴产业的重要战略举措,也是保护生态环境、应对气候变化、实现可持续发展的迫切需要, 到“十二五”末,非化石能源消费占一次能源消费比重将达到11.4%,非化石能源发电装机比重达到30%\[1\]。

风电作为可再生能源中最具开发价值的能源,在世界范围内得到了广泛的开发利用。但是由于风速的随机性,导致风电功率具有很大的波动性和不确定性,这给电力系统的稳定运行带来了影响,从而限制了电力系统对风电功率的吸纳。据国家能源局最新统计报告中指出:内蒙古风电装机容量占该地区所有能源总量的30%左右,但是并到电网上的风电机组容量份额不到总风电装机容量的2%。要提高对风电的开发利用,需要进一步提高风电功率预测的准确性。文献\[2,3\]介绍了利用传统BP神经网络来对风电场短时功率进行预测,在预测过程中考虑了风速的季节性变化,预测结果满足应用要求;文献\[4\]给出利用历史功率信息进行预测和利用历史气象信息与功率信息进行预测的不同,并指出利用历史气象信息和功率信息的预测结果要高;文献\[57\]介绍由多种预测算法组合而成的风电场功率预测算法,并指出这些组合预测算法的预测精度比单一预测算法的精度有所提高,但是计算时间比单一预测算法要长。

本文首先对传统BP神经网络进行了改进,然后利用过去10天的NWP数据和功率数据,作为改进后BP神经网络的输入数据对神经网络进行训练。以未来3小时的NWP数据作为改进后BP神经网络的输入数据对输出功率进行预测,预测结果既确保了较低的预测误差,又提高了系统的稳定性和收敛速度。

1BP神经网络算法改进

1.1BP神经网络理论

BP网络又称为误差逆传播算法,典型的BP网络由输入层、隐含层和输出层组成,各层之间实行全连结。BP网络的学习过程,由模式顺传播、误差逆传播、记忆训练、学习收敛4个过程组成。

1.1.1模式顺传播

模式顺传播是由输入模式提供给网络的输入层开始,输入层各单元对应于输入模式向量的各个元素。设输入模式向量Xz=(x1,x2,…,xn)(z=1,2,…,m),其中,z为学习模式对,n为输入层单元个数。对应输入模式的希望输出向量Yz=(y1,y2,…,yq),其中,q为输出层单元个数。根据BP网络的计算原理,隐含层各单元的输入为:

sj=∑n[]i=1wijai-θj(1)

式(1)中:s\-j为隐含层输入值;θ\-j为隐含层阈值,j=1,2,…,p;p为隐含层单元个数;w\-\{ij\}为输入层和隐含层的连接权值;a\-i为输入层的第i个神经元,i=1,2,…,n。

为模拟生物神经元的非线性特性,以s\-j为S函数的自变量,计算隐含层各单元的输出,S函数的数学表达式为:

bj=f(sj)=1[]1+e-sj(2)

式(2)中:b\-j为隐含层第j个神经单元的输出值。

单元输出阈值θ\-j为模拟生物神经元的阈值电位而设置,它在训练过程中不断被修改。输出层各单元的输入为:

Lt=∑p[]j=1vjt-γ\-t(3)

Ct=f(Lt)(4)

式(3)、(4)中:v\-\{jt\}为隐含层神经元j至输出层神经元t的连结权值;γ\-t为输出层神经元的阈值,t为输出层神经元个数,t=1,2,…,q;f为S函数;L\-t为输出层神经的输入值。

1.1.2误差逆传播

误差逆传播的第一步是进行误差计算,误差逆传播过程是由输出层的误差d\-j向隐含层的误差e\-j传递的过程,输出层的校正误差为:

dkt=(ykt-Ckt)f′(Lt)(5)

式(5)中:(y\+k\-t-c\+k\-t)表示网络希望输出与实际输出的绝对误差,k=1,2,…,m;f′(L\-t)是根据每个单元的实际响应调整偏差量。

为完成误差向隐含层传递,需要计算隐含层各单元的校正误差,隐含层校正误差为:

ekj=∑q[]t=1vjtdktf′(sj)(6)

式(6)的物理意义与(5)相似,只不过每一个中间隐含层单元的校正误差都由q个输出层单元校正误差传递而产生。

得到了校正误差d\+k\-t与e\+k\-j之后,沿逆方向调整整个输出层至隐含层、隐含层至输入层之间的连接权以及各单元的输出阈值,其调整公式为:

Δvjt=dktbkj(7)

Δγt=dkt(8)

Δwij=βekjaki(9)

Δθj=βekj(10)

式(7)~式(10)中:、β为学习速率,0

1.2BP神经网络算法改进

由于传统BP网络算法收敛速度慢,容易陷入局部最小点,实际使用效果较差。本文采用惯性校正算法来对传统BP网络算法进行改进。所谓惯性校正算法,就是在每一次对连接权或输出阈值进行校正时,按一定的比例加上前一次学习时的校正量,即惯性项,加速网络学习的收敛。

ΔW(N)=d+ηΔW(N-1)(11)

式(11)中:ΔW(N)为本次应得校正量;ΔW(N-1)为前一次校正量;d为本次误差计算得到的校正量;η为惯性系数(0

上面提到的学习速率、β在标准BP算法中是常数,如果学习系数选择不当,将会导致网络收敛速度较慢,运算时间较长,在训练时如何选择最佳的学习系数是一件困难的事情,本文采用一种自适应调整学习速率的方法\[8\]。在训练过程中,学习速率根据局部误差曲面作出不断调整,学习速率的调节如式(12)所示。

α(n+1)=kincα(n),E(t+1)E(t)α(n) ,E(t+1)=E(t)(12)

其中,学习速率增量k\-\{inc\}大于1,学习速率减量k\-\{dec\}小于1。当E(t+1)E(t)时,表明第t次迭代运算是无效的,应减小学习速率。

2模型建立及数据处理

根据以上BP神经网络的学习原理,结合风电场数值天气预报数据和功率数据,构建BP神经网络的模型。本文的神经网络模型由输入层、隐含层和输出层三层构成,输入层的输入数据主要是数值天气预报的数据,包括风速、风向、温度、湿度和压力,其中风向可由角度的正弦值和余弦值来进行表示,从而可确定神经网络的输入层神经元数量为6个。按照神经网络构建经验,隐含层神经元个数约是输入层神经元个数的2倍左右,本文中取隐含层神经元个数为13个。输出层的输出主要是风电场的功率,所以输出层神经元个数为1个。图1是按照本文要求设计的神经网络结构。

数据样本为某风电场2月1日-10日之间的天气预报数据和风电场的输出功率数据,每15min采集一次数据样本,共960组训练数据。该风电场风机类型为GE公司1.5WM风机,切入风速为3m/s,额定风速为13m/s,整个风电场装有风机122台,风电场装机总容量183WM。

3网络训练及数据分析

将10天采集的960组数值天气预报数据作为数据,对神经网络进行训练,训练次数为1 000次,训练误差为0.03,误差训练结果如图2所示。通过图2可知,当训练到达98次时,均方误差已经达到训练要求。

图3是训练样本中风电场实际输出功率与网络计算功率的比较图,实线表示风电场实际输出功率,虚线表示神经网络计算功率。从图中可知,风电场实际功率与神经网络输出功率的变化趋势相同,证明利用改进的BP神经网络对未来数据进行预测具有实际可行性。

本文以2月11号3h的风电场数值天气预报数据作为输入,利用训练好的改进后的BP神经网络对未来3h的风电场可能输出功率进行预测,预测误差在12%左右,满足国家电网公司对风电场功率预测的要求\[9\]。

4结语

对常规BP神经网络进行了改进,加快了BP神经网络的收敛速度,克服了BP神经网络容易陷入局部最小点的缺点,增加了BP神经网络的实用价值。

以某一风电场2月1-10日共10天的风电场数值天气预报数据和风电场输出功率数据为训练样本,对改进后的BP神经网络进行训练,训练过程收敛速度快,训练结果理想。利用训练后的BP神经网络对2月11号3h内的风电场输出功率进行预测,预测结果满足能源局要求。

参考文献:

\[1\]国务院新闻办公室.《中国的能源政策(2012)》白皮书\[R\].北京:新华社,2012.

\[2\]袁铁江,晁勤,李义岩,等.大规模风电并网电力系统经济调度中风电场出力的短期预测模型\[J\].中国电机工程学报,2010(13).

\[3\]ZHENHAI GUO, JIE WUB, HAIYAN LU, et al. A case study on a hybrid wind speed forecasting method using BP neural network\[J\].KnowledgeBased Systems,2011(24).

\[4\]MARIA GRAZIA DE GIORGI, ANTONIO FICARELLA, MARCO TARANTINO. Assessment of the benefits of numerical weather predictions in wind power forecasting based on statistical methods\[J\].Energy,2011(36).

\[5\]J P S CATAL O, H M I POUSINHO. Hybrid waveletpsoanfis approach for shortterm wind power forecasting in portugal\[J\].IEEE Transactions on Sustainable Energy,2011(1).

\[6\]方江晓,周晖,黄梅,等.基于统计聚类分析的短期风电功率预测\[J\].电力系统保护与控制,2011(11).

\[7\]孟洋洋,卢继平,孙华利,等.基于相似日和人工神经网络的风电功率短期预测\[J\].电网技术,2010(12).

神经网络隐含层的作用范文4

【关键词】傅里叶变换;BP神经网络;自适应滤波

引言

BP神经网络具有很强的非线性函数逼近、自适应学习和并行信息处理能力,为解决未知不确定非线性信息处理和自适应滤波提供了一条新途径[1]。但随着BP神经网络输入向量维数增加,其隐含层层数和学习次数也会相应增加,降低了网络的自适应性且延长了学习时间。傅里叶变换是数字信号处理领域一种很重要的算法,其思想是将原始信号从时域变换到频域,通过对频谱图的分析,去除高频处的频率分量,再将频域变换回时域,达到信号去噪滤波的功能[2]。利用傅里叶变换与神经网络相结合的方法,对信息进行预处理,减少信息处理量,再利用神经网络强大的非线性函数逼近能力,从而实现信号的自适应滤波,减少网络的待处理信息,增强网络的自适应能力,其工作过程如图1所示。

图1

1.BP神经网络模型

1.1 神经元结构模型

人工神经网络是人脑的某种抽象、简化或模拟,它由大量的神经元广泛互联而成。网络的信息处理由神经元之间的相互作用来实现,网络的学习和识别取决于神经元间连接权系数的动态演化过程[3],其模型可以用图2来表示。

输入向量与输出y之间的关系式;

其中权值向量,输入向量,阈值,活化函数。

图2

1.2 BP神经网络

BP神经网络(Back-Propagation Neural Network)是一种无反馈的前向网络,网络中的神经元分层排列,除了有输入层、输出层之外,还至少有一层隐含层,BP学习算法是调整权值使网络总误差最小。具有隐含层BP网络的结构如图3所示,图中设有M个输入节点,L个输出节点,隐含层含有n个神经元。其中为网络输入向量,为实际输出向量,为网络的目标输出,为网络的输出误差。BP网络学习流程:(1)网络初始化,确定输入向量与输出向量的维数、目标向量、学习次数以及允许的误差值。(2)输入学习规则,初始化权值W。(3)计算输出层的输出与目标向量的误差。(4)判断误差精度是否达到预定值,没有则调整权值W并改变学习规则。(5)误差精度达到预定值,学习结束。

图3

2.BP神经网络权值变换理论基础

BP网络的自适应过程,其实就是对输出层权系数和隐含层权系数的调整的过程。记为第i层网络节点输出,为第j层网络节点的输入,则:

(1)

(2)

(3)

(4)

记二次型误差函数:

(5)

3.数值仿真与分析

在MATLAB神经网络工具箱中提供了实现BP神经网络的创建,仿真环境以单输入单输出的非线性函数,分别作为输入函数和目标函数。本文同时采取傅里叶变换、BP神经网络以及基于傅里叶变换的BP神经网络分别进行仿真滤波[5][6],表1给出了三种算法在MATLAB软件中的仿真主要步骤。

表1

三种算法在MATLAB中仿真处理方法

傅里叶变换 采样点N=256,t=0:1/256:255/256,X=fft(x),前24个点不变,高频部分置0,x=ifft(X)

BP神经网络 N=256,t=0:1/256:255/256,T1=y(t),P1=x(t), net=newff(P1,T1,900),学习次数2000,误差精度0.01,[net,tr]=train(net,P1,T1)a1=sim(net,P1);

基于傅里叶变换的BP神经网络 X=fft(x),Y=fft(x),前24个点不变,高频置0,T2=Y(1,1:24),P2=X(1,1:24)net=newff(P2,T2,200),学习次数1000误差精度0.01,[net,tr]=train(net,P2,T2)

a2=sim(net,P2);x=ifft(a2);

图4为y(t)与x(t)函数的波形图,图5是经傅里叶变换处理后的x(t)波形,图6是BP网络自适应滤波后的x(t)波形,图7是基于傅里叶变换的BP网络作用后的x(t)自适应滤波后的波形。通过比较图5、6、7可以明显看出傅里叶变换的滤波效果出现高频振荡,BP网络自适应滤波在形状上几乎与元波形一致,但是在某些点位置出现疵点,而基于傅里叶变换的BP神经网络自适应滤波后波形几乎和目标函数y(t)波形完全一致。

图4

图5

图6

图7

4.结束语

本文通过三种算法在MATLAB中的仿真分析,可以得出在输入向量维数比较大时,可以采用基于傅里叶变换的BP神经网络的方法对含噪信息进行处理,不仅可以降低隐含层的层数,增加自适应能力和减少学习时间,而且在波形拟合上可以达到更好的效果。

参考文献

[1]华,李雷,赵力.基于BP神经网络的自适应补偿控制方法[J].计算仿真,2012,29(7):202-205.

[2]张德丰.MATLAB小波分析[M].北京:机械工业出版社,2009:39-48.

[3]杨芳,马建伟.基于神经网络自适应滤波的低频Prony分析[J].中国水能及电气化,2012,86(4):32-37.

[4]李国勇,杨丽娟.神经模糊预测控制及其MATLAB实现[M].北京:电子工业出版社,2013:17-22.

神经网络隐含层的作用范文5

【关键词】 BP神经网络; 疾病预测; BP算法; 精神分裂症

BP神经网络是人工神经网络的一种,它通过模仿生物大脑神经系统信息处理功能实现输入与输出之间的任意非线性优化映射,有着传统统计方法无法比拟的适应性、容错性及自组织性等优点,特别是用传统统计方法效果不好或不能达到目的时,采用BP神经网络往往能收到较好的效果,它在疾病预测中有着广阔的应用前景。

1 BP神经网络基本结构及BP算法基本原理

BP神经网络的基本处理单元是神经元(即节点),大量神经元广泛连接构成神经网络。BP网络通常含有输入层、隐含层(中间层)和输出层,每层均包括多个神经元,输入层与输出层各有一层,隐含层根据需要可以设多层,也可不设。神经元之间通过权相互连接,前一层神经元只对下一层神经元作用,同层神经元之间无相互作用,权值的大小代表上一级神经元对下一级神经元的影响程度,如图1 所示。网络中作用于神经元的激励函数通常采用的是S 型函数(sigmoid 可微函数),见式(1)。

f(x)=(1+e-Qx)-1(1)

式中Q 为调节激励函数形式的参数,称增益值。Q 值越大,S 形曲线越陡峭;反之,曲线越平坦,通常取Q =1。

BP算法(Back Propagation) 是为了解决多层前向神经网络的权值调整而提出来的,也称为反向传播算法,即网络权值的调整规则是向后传播学习算法,具体来说,BP算法是建立在梯度下降法的基础上的,训练过程由正向传播和反向 传播组成,在正向传播过程中,输入信息由输入层经隐含层逐层处理,并传向输出层,如果输出层得不到期望的输出,则转入反向传播,逐层递归的计算实际输入与期望输入的差即误差,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值,最终使得误差信号最小。

2 BP网络的建模过程及模型设计要点

在流行病学中,可以应用BP网络建立疾病的预测模型,建模的基本过程如下:首先收集导致疾病发生的主要影响因素及疾病发生的结果;然后把影响因素及疾病结果输入到设计好神经网络模型中进行反复训练,直到网络收敛(即达到预期的训练误差),在训练过程中可适当采用一定的技巧使网络的训练速度最快、误差最小、模型最优;最后用建立好的模型进行疾病预测。下面具体探讨网络模型的设计要点。

2.1 确定训练样本

训练样本应来源于研究总体的一个随机无偏样本,并且按随机、对照、重复及盲法等原则收集资料、整理资料、分析资料,保证训练结果的无偏性。训练样本含量适宜,含量过大会造成训练速度偏慢,训练结果过分逼近训练集(或者说是该研究的外部真实性较差),使得网络的推广泛化能力降低,况且,大样本的收集大大增加了工作量;样本过小其代表性不够,使训练结果不够可靠(或者说是该研究的内部真实性较差)。一般来说,网络的结构越复杂,所需样本越多,结构越简单,所需样本可相应减少。对于单层BP网络可参照Logistic回归对样本含量的一般要求,当样本含量与连接权的个数比为10:1时[1],就基本能够满足要求,多层BP网络的样本量应在此基础上根据网络的复杂程度适当增加。

2.2 变量值的归一化处理

归一化处理的目的是把变量值归一到区间[-1,1]内,此原因大致有两个:一是因为BP网络中非线性传递函数的值域一般在区间[-1,1]内,因此输入及输出变量的取值都限于这个区间之内。二是为了使输入值(特别是那些比较大的输入值)均落在Sigmoid传递函数变化较大的区间,使网络的训练速度最快,改善网络的性能,当然如果输入及输出值原本就位于[0, 1]区间内,可不进行的归一化处理,归一化处理可采取以下两种形式:

xbji=xji/ (xji,max-xji,min)(2)

xbji=xji/ (xji,max)(3)

上式中xbji 为归一化后样本中第j 个样品的第i 个输入变量,xji 为原始资料第j个样品的第i 个输入变量; xji,max 与xji,min 为原始资料第j 个样品的第 i个输入变量的最大值和最小值。

2.3 BP网络的初始化

开始训练时,首先进行网络权值的初始化,这是因为如果初始权值选择不当,有可能造成训练时间过长,误差平面陷入局部极小[2],甚至不收缩。所以网络的初始权值一般取[-1 1]之间的随机数,这样可保证每个神经元的权值都能够在 型传递函数变化梯度最大的地方进行调节。

2.4 输入层的设计

输入层仅设一层,输入神经元的个数与输入变量的个数相同。

2.5 隐含层的设计

一是隐含层的层数,对BP网络而言,一个三层BP网络就可以完成任意的n维到m维的映射,一般情况下,采用单隐层的网络就可满足要求;二是隐含层神经元的个数,隐单元数目的确定比较复杂,与资料的特点、输入输出单元的数目都有关系,往往根据设计者的经验和多次试验来确定,本文采取类似于统计学中建立"最优"多元回归方程中逐步向前法和向后法的方式来确定隐单元的数目,该方法如下:先根据以下公式[3]确定一个隐单元数的范围,n1=n+m+a(4) 式中n 为输入单元数,m 为输出单元数,a 为[1,10]之间的常数。

然后放入足够多的隐单元,通过训练将那些不起作用的隐单元逐步剔除,直到不收缩为止(此即灵敏度修剪算法[4]);或者在开始时放入比较少的神经元,逐步增加隐单元的数目,直到达到比较合理的隐单元数目为止。

2.6 输出层的设计

输出层仅有一层,输出层神经元的个数与所希望得出的预测变量数目相等。

3 其它需要注意的问题

如何提高网络的泛化能力。网络的泛化能力,通俗的说就是网络对新样本的预测能力。网络的泛化能力与网络的结构和训练样本的特性有关,一般说来,网络的隐节点数与隐层数越少,网络的泛化能力越强,因此在实际应用时尽可能采用较少的隐节点数和隐层数来得到较优的网络,另外,加入噪声等也可以提高网络的泛化能力[5]。

如何提高网络的训练速度与收敛速度。为提高训练速度,可采用变化的学习速率或自适应的学习速率[6]。

如何克服局部极小。BP算法可以使权值收缩到某个值,但并不能保证其误差平面的全局最小值,这是因为采用梯度下降发可能会产生一个局部最小值。对于这个问题,可采用附加动量法[7]、遗传算法等。

4 模型拟合实例

某市通过随机抽样、多因素逐步Logistic回归分析该市的4所精神病医院的精神分裂症新发病例及其对照各131例,筛选出影响精神分裂症发病的主要因素共10个:X1(本人学历)、X2(母亲学历)、X3(婚姻状况)、X4(事件经历史)、X5(性格)、X6(工作学习压力)、X7(母亲孕龄)、X8(出生体重)、X9(家族史)、X10(非双亲抚养史)。变量赋值如表1。表1 精神分裂症发病影响因素及量化(略)

4.1 确定训练样本及测试样本。以上述131对样品作为训练样本,另外选取精神分裂症患者及正常人各20例作为测试样本。

4.2 设计合适的神经网络参数。输入神经元10个,单层隐含层,隐含层神经元数目4~13个之间,通过灵敏度修剪算法确定隐含层的最佳神经元个数,输出层神经元个数为1;训练次数1000次,训练目标0.01,学习速率0.1;隐含层采用 型正切函数tansig,输出层采用 型对数函数logsig ,网络训练的函数设定为trainlm。

4.3 编写程序。应用Matlab7.0编写BP神经网络程序如下:p=[ 0 1 3 1 0 0 3 0 1 0;0 1 1 2 2 1 4 1 2 1;......] '; %输入训练样本的输入变量p

for i=1:10

P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));

%输入变量的归一化处理

end t=[1 1 1 1 1 1 1...... ]'; %输入训练样本的输出变量tthreshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];

%限定输入变量的最大值与最小值no=[4 5 6 7 8 9 10 11 12 13 14];%隐含层神经元的个数 for i=1:11net=newff(threshold,K[no(i),1],{ 'tansig','logsig'},'trainlm');

%设定网络训练函数net.trainParam.epochs=1000; %设定训练次数net.trainParam.goal=0.01; %设定训练目标LP.lr=0.1;%设定学习速率net=init(net); %网络的初始化net=train(net,P,t); %网络训练

p_test=[0 1 3 1 0 0 3 0 1 0;0 1 1 2 2 1 4 1 2 1;......]'; %输入预测样本的输入变量for i=1:10

P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:))); %归一化处理 end

Out=sim(net,P_test); %输出预测变量X=[1 1 1 1 1 1 1 1......]; %输入预测样本的实际结果

plot(1:40,X-Out); %绘制预测误差曲线

4.4 训练结果。通过反复训练发现,当隐含层神经元个数为8时,网络的训练速度最快,仅需要9次训练便达到到了预期的训练误差,训练的速度也比均匀,网络振荡最小。

4.5 测试样本的前瞻性考核。把40个测试样本的调查资料输入上述训练好的BP神经网络模型进行前瞻性考核,如果按照预报误差大于0.05时为预测错误的标准,则病例中有2例预测错误,正常人有3例预测错误,灵敏度及特异度分别为90%、85%,预测的一致率为87.5%,前瞻性考核的效果较好,通过预测误差曲线也可看出,如图2。

5 讨论

BP神经网络是一种非传统的多元非线性模型,可以识别变量间复杂的非线性关系,功能十分强大,而且无论变量是何种类型,是否满足正态性、独立性等条件均可用于BP网络建模。疾病的发病过程亦是一个受多因素影响的复杂过程,利用传统的统计方法预测疾病的发生过程往往存在很大的局限性,而BP神经网络的优点恰恰适合预测疾病的发生过程。BP神经网络的设计直接关系到网络的应用效果,在应用时按照资料的特点从每一细节考虑网络的设计。当然,BP网络在流行病学领域的应用刚刚起步,尚存在一些问题有待解决,如权重系数的假设检验,计算权重系数的可信区间,含隐含层时权重系数的流行病学意义,输入变量的选择等都还需要进一步研究。

参考文献

1 Martin S,Werner V,Reinhard R.Neural networks and logostoc regression:Part I.Comp Stat Data Analy ,1996,21:661.

2 Haykin,S.神经网络原理(叶世伟等译).第2版.机械工业出版社,2004.

3 飞思科技产品研发中心.神经网络理论与MATLAB7实现.第1版.电子工业出版社,2005 .

4 邓伟,金丕焕,林果为.BP神经网络修剪算法筛选白血病预后危险因素.复旦学报(医 学版),2003,2:154~157.

5 HolmstromL,KoistinenP -Using Additive Noise in Back-Propagation-IEEE Trans·Neural Networks.1992,3:24~38.

6 张洪,邹乐君,沈晓华. BP神经网络在测井岩性识别中的应用.地质与勘探 ,2002,38(6):63~65.

神经网络隐含层的作用范文6

【关键词】故障诊断;神经网络;隐含层;训练函数

随着国民经济的持续、高效、健康的发展,电力工业进入了智能电网发展阶段。在电力系统向超高压、大电网、大容量、自动化方向发展的同时,提高电气设备的运行可靠性显得尤为重要。电力变压器是电力系统中最重要的电气设备之一,其运行状态直接影响到系统的安全性水平。因此,研究变压器故障诊断技术,提高变压器的运行维护水平,具有重要的现实意义。

过热性故障和高能放电故障是运行中的充油电力变压器故障的主要类型,典型故障分为六种:高温过热、中温过热、低温过热、高能放电、低能放电、高能放电兼过热[1]。油中溶解气体分析法(Dissolved Gas Analysis,DGA)是目前判断变压器故障性质的重要方法。它以变压器油中溶解的氢气(H2),甲烷(CH4),乙炔(C2H2),乙烯(C2H4),乙烷(C2H6)气体的组分、含量及产气速率来判断变压器的故障[2]。

在实际应用中,由于故障分类本身存在模糊性,一种故障状态可能引起多种故障特征,而一种故障特征也可在不同程度上反映多种故障状态,当有多种故障联合作用时,传统的DGA方法易出现误判。本文采用BP神经网络对变压器故障诊断进行研究。

1.BP神经网络

神经网络是由大量的处理单元(神经元)互相连接而成的网络,为了模拟大脑的基本特征,在神经科学研究的基础上,提出了神经网络模型。BP(Back-Propagation Network,反向传播网络)是一个前向多层网络,利用误差反向传播算法对网络进行训练,在函数逼近、模式识别、信息分类及数据压缩等领域都得到了广泛的应用[3]。

典型的BP神经网络有输入层、隐含层和输出层,如图1所示。

设系统有r个输入,m个输出,选择j个隐含层,w1(r,j)和w2(j,m)表示各层权值,b1j和b2m表示各层阈值,f1和f2各层传输函数,通常选择非线性函数,则各层输出满足:

BP网络的学习过程分为两个阶段:第一个阶段是输入已知学习样本,通过设置的网络结构和前一次迭代的权值和阈值,从网络的第一层向后计算各神经元的输出;第二阶段是从最后一层向前计算各权值和阈值对总误差的影响(梯度),据此对各权值和阈值进行修改。使总的误差向减小的方向变化,直至达到所要求的误差性能为止。

BP神经网络是一种大规模的分布式并行处理系统,具有自组织性和自学习性,能够很好地解决传统方法不能解决的具有高度非线性、耦合性、多变量性系统的建模问题。

2.建立变压器故障诊断模型

结合DGA方法,选取氢气(H2),甲烷(CH4),乙烷(C2H6),乙烯(C2H4),乙炔(C2H2)为故障诊断的五种特征气体,以其组分含量占总含量的百分比作为神经网络的输入向量,输出层用低温过热、中温过热、高温过热、低能放电、高能放电、高能放电兼过热作为输出神经元,分别表示为001、010、011、100、101、110。表1为21组样本数据,前15组作为训练样本,后6组作为测试样本。(如表1)

对任何在闭区间内的连续函数,都可以用一个隐含层的BP神经网络实现任意输入到输出的映射关系,但是隐含层神经元数目选择是一个十分复杂的问题。隐含层神经元数目过少,则网络所能获取的用以解决问题的信息太少;若数目太多,不仅增加训练时间,还会导致学习时间过长。

根据经验公式:

其中:n1为隐含层单元数,n为输入单元数,m为输出单元数,a为[1,10]之间的常数,确定出隐含层数的范围为[4,13]。

采用MATLAB软件,设置传输函数为“logsig”,训练函数为“traingd”,学习函数为“learngdm”,训练次数设为5000,训练目标的均方误差为0.01,学习速率0.05,在初始化权值和阈值相同的基础上,改变隐含层的数目,对训练样本进行训练仿真,训练结果如表2所示。

从表2中可以看出,隐含层数目为12时,训练次数较少,其性能指标为佳(如图2),故选择5-12-3型BP神经网络用于构建变压器故障诊断模型。

3.BP神经网络训练函数的选择

变压器故障诊断模型建立之后,用训练样本对网络模型进行训练,确定出适合网络收敛的权值和阈值。在网络结构参数相同、训练样本相同的情况下,依次采用表3中的训练函数进行训练,结果如表3所示。

根据训练结果,弹性BP算法训练次数相对较少,原因在于该算法在进行权值修正时取决于与幅值无关的修正量,消除了梯度幅值的不利影响。基于5-12-3结构的BP神经网络,采用改进的弹性BP算法,对测试样本进行仿真,能够得出准确地变压器故障诊断结论。

4.结论

通过对变压器故障诊断模型的确立与仿真结果分析,BP神经网络具有较好的应用效果,多种改进的BP算法(除了动量BP算法)能较好地提高网络的收敛速度,对网络模型的性能有较大的改善。

参考文献

[1]王晓莺著.变压器故障与监测[M].北京:机械工业出版社,2004.

[2]李俭.大型电力变压器以油中溶解气体为特征量的内部故障诊断模型研究[D].重庆大学,2001:26-28.

[3]张德丰,等.MATLAB神经网络应用设计(第二版)[M].北京:机械工业出版社,2012,3.

[4]沈花玉,等.BP神经网络隐含层单元数的确定[J].天津理工大学学报,2008,24(5):13-15.