bp神经网络及matlab实现

bp神经网络及matlab实现

ID:20759778

大小:434.50 KB

页数:19页

时间:2018-10-15

bp神经网络及matlab实现_第1页
bp神经网络及matlab实现_第2页
bp神经网络及matlab实现_第3页
bp神经网络及matlab实现_第4页
bp神经网络及matlab实现_第5页
资源描述:

《bp神经网络及matlab实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、bp神经网络及matlab实现分类: 算法学习2012-06-2020:56 66399人阅读 评论(28) 收藏 举报网络matlab算法functionnetworkinput本文主要内容包括:(1)介绍神经网络基本原理,(2)AForge.NET实现前向神经网络的方法,(3)Matlab实现前向神经网络的方法。第0节、引例       本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set 找到。这里简要介绍一下Iris数据集:有一批Iri

2、s花,已知这批Iris花可分为3个品种,现需要对其进行分类。不同品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度会有差异。我们现有一批已知品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度的数据。  一种解决方法是用已有的数据训练一个神经网络用作分类器。  如果你只想用C#或Matlab快速实现神经网络来解决你手头上的问题,或者已经了解神经网络基本原理,请直接跳到第二节——神经网络实现。第一节、神经网络基本原理 1.人工神经元(ArtificialNeuron)模型       人工神经元是神经网络的基本元素,其原理可以用下图表示:图1.人工神经元模型   

3、    图中x1~xn是从其他神经元传来的输入信号,wij表示表示从神经元j到神经元i的连接权值,θ表示一个阈值(threshold),或称为偏置(bias)。则神经元i的输出与输入的关系表示为:   图中yi表示神经元i的输出,函数f称为激活函数 (ActivationFunction)或转移函数(TransferFunction),net称为净激活(netactivation)。若将阈值看成是神经元i的一个输入x0的权重wi0,则上面的式子可以简化为:   若用X表示输入向量,用W表示权重向量,即:X=[x0,x1,x2,.......,xn]   则神经元的输出可以

4、表示为向量相乘的形式:        若神经元的净激活net为正,称该神经元处于激活状态或兴奋状态(fire),若净激活net为负,则称神经元处于抑制状态。      图1中的这种“阈值加权和”的神经元模型称为M-P模型 (McCulloch-PittsModel),也称为神经网络的一个处理单元(PE,ProcessingElement)。2.常用激活函数       激活函数的选择是构建神经网络过程中的重要环节,下面简要介绍常用的激活函数。(1)线性函数(LinerFunction) (2)斜面函数(RampFunction) (3)阈值函数(ThresholdFunc

5、tion)        以上3个激活函数都属于线性函数,下面介绍两个常用的非线性激活函数。(4)S形函数(SigmoidFunction)  该函数的导函数:(5)双极S形函数   该函数的导函数:  S形函数与双极S形函数的图像如下:图3.S形函数与双极S形函数图像  双极S形函数与S形函数主要区别在于函数的值域,双极S形函数值域是(-1,1),而S形函数值域是(0,1)。  由于S形函数与双极S形函数都是可导的(导函数是连续函数),因此适合用在BP神经网络中。(BP算法要求激活函数可导)3.神经网络模型       神经网络是由大量的神经元互联而构成的网络。根据网络

6、中神经元的互联方式,常见网络结构主要可以分为下面3类:(1)前馈神经网络 ( FeedforwardNeuralNetworks)      前馈网络也称前向网络。这种网络只在训练过程会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号,因此被称为前馈网络。感知机(perceptron)与BP神经网络就属于前馈网络。      图4中是一个3层的前馈神经网络,其中第一层是输入单元,第二层称为隐含层,第三层称为输出层(输入单元不是神经元,因此图中有2层神经元)。图4.前馈神经网络   对于一个3层的前馈神经网络N,若用X表示网络的输入向量,W

7、1~W3表示网络各层的连接权向量,F1~F3表示神经网络3层的激活函数。  那么神经网络的第一层神经元的输出为:O1=F1(XW1)  第二层的输出为:O2=F2(F1(XW1)W2)  输出层的输出为:O3=F3(F2(F1(XW1)W2)W3)      若激活函数F1~F3都选用线性函数,那么神经网络的输出O3将是输入X的线性函数。因此,若要做高次函数的逼近就应该选用适当的非线性函数作为激活函数。(2)反馈神经网络 ( FeedbackNeuralNetworks)      反馈型神经网络是一种从输出到输入具有反馈连接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。