神经网络算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中北大学神经网络算法

学院:理学院

姓名:杨权

学号:s2*******

指导教师:白艳萍教授

研究方向:现代优化方法及应用

基于BP 神经网络的数据融合方法及应用

1人工神经网络技术基础

1.1什么是神经网络技术

神经网络是由数个至数十亿个被称为神经元的细胞(组成我们大脑的微小细胞)所组成,它们以不同方式连接而型成网络。人工神经网络就是尝试模拟这种生物学上的体系结构及其操作用于信息处理技术。人工神经网络是利用多个简单计算模型有机构成一个计算网络用以实现一个复杂的规则。 1.2神经网络技术的主要用途

利用一定数据在一定误差下逼近一个解析式未知的函数。

利用人工神经网络实现空间的线性或非线性划分,以此实现目标分类。 神经网络的实现是基于数据的,最终的规则对用户是透明的。

由上图可得:

1.3决定神经网络性能的几个因素:

神经网络的网络结构:包括神经网络的层数、每层神经元数量; 每层神经元的作用函数;

神经网络训练的目标函数和学习算法; 神经网络权值和阈值的初始值; 神经网络的训练数据。

2典型的神经网络类型介绍

2.1神经网络的应用步骤

神经网络的设计,包括确定网络结构、作用函数和学习算法;

1N k k k Y F X W b =⎛⎫

=- ⎪

⎝⎭

神经网络初始化;

利用实验方法获得神经网络的训练数据和测试数据; 利用实验数据对网络进行训练和测试; 利用训练后的网络处理相关的输入信息。

误差反向传播(BP )神经网络的网络结构:

2.2 BP 神经网络的学习算法 网络学习中的正向传播和反向传播 正向计算用于网络输出计算。

2.3 BP 神经网络的反向误差传播算法

确定网络学习的目标函数:目标函数是网络学习和调整的准则,一般为反映误差大小等网络性能的函数。

如取误差的L2范数作为目标函数,以E p 表示第p 组样本训练第n 步时的目标函

U

()()1k k k k k k k

ip ip ij jp i j y f net f W n y b n -⎡⎤⎡⎤==+⎢⎥⎣⎦

⎣⎦

数。

其中:y mp k (n)为在第p 组样本输入时网络经n 次权值调整后第k 层第m 个神经元的输出。

2.4 BP 神经网络的反向误差传播算法

网络学习的目标即通过对个神经元权值和阈值的调整使网络目标函数达到最优。对表示误差大小的目标函数可以应用梯度下降法对网络进行调整使目标函数达到最小。

在Matlab 中仿真神经网络 对象命令方式:

生成网络:net=newff( PR ,[S1 S2 … Sn],{TF1 TF2 … TFn},BTF); 如

net=newff(

[0,10;-1,2]

[5

1]

{‘tansig ’, ’purelin ’},’trainlm ’); 网络训练:[net, tr] = train (net, P,T) 网络仿真:Output = sim (net, p)

3基于神经网络的传感器检测数据融合

由于红外光在介质中的传播速度受到温度等环境因素影响,为获得较准确的测量结果需要对红外测距系统的测量数据进行处理。为确定某一红外测距传感器系统的数据处理算法,利用该测距系统进行如下实验:在不同温度下将目标放置不同的距离分别进行测距,每一温度下对同一目标连续测量5次,测量的实验数据见附表所示。请利用BP 神经网络完成该系统的数据处理。

注:为说明问题上述数据扩大了温度对结果的影响。

()()()()222

2111222k k p p p mp mp mp m m

E n T y n d y n e n ⎡⎤=

-=-=⎣⎦∑∑

网络结构设计:

由于输入向量有2个元素、输出向量有1个元素,所以网络输入层的神经元有2个,输出层神经元数目为1。

神经网络是误差后身传播神经网络,其隐含层结构的层数与各层的节点数直接影响网络性能的优劣。若隐层数较多,网络所表达的映射就越复杂,不仅增大计算量,而且易导致数据失真;若各隐含层的节点数较多,会使其学习时间过长,误差也不一定最小,若节点数较少,会导致网络容错性较差,局部极小就多。 因此,隐含层是网络结构设计的重要问题。 隐含层数设计:

隐含层的层数应大于1层,可由下式试算:

其中,N 为隐层层数;J 为输出层神经元个数;I 为输入层神经元个数;K 为标准样本个数。本例取1层隐层。 隐含层神经元个数设计:

隐含层节点个数设计相对于隐含层数的设计比较复杂,一般有基于最小二乘设计法、基于黄金分割设计法等。本例取:M=2n+1,其中n 为输入层神经元的个数。 作用函数设计:

隐层作用函数取正切S 型传递函数tansig 函数,即:

输出层作用函数取对数S 型传递函数logsig 函数,即:

()()112J K I N ceil ---⎛⎫

≤ ⎪

⎝⎭

()221,1x

x

e f x x e

---=-∞<<∞

+()1,1x

f x x e -=

-∞<<∞

+

学习算法设计:traingdm 是带动量的梯度下降法、trainlm 是指L-M 优化算法、trainscg 是指量化共轭梯度法等,本例选择trainlm 学习算法。 输入/输出向量设计:

根据已知条件,可将目标距离的理论值作为对测量温度和测量值的一个映射(二元函数)。由此,可以确定网络的输入为2维向量,且该网络为单输出神经网络。 训练样本和测试样本设计:

题给数据共30组,可在同类(共六类)数据组中各挑选一个样本,从而得到六个测试样本,构成测试样本集。剩余24组数据可作为训练样本集。

输入层到隐含层的连接权值:

隐含层的神经元阈值:

{}-0.4326140.118835.9519-11.1545 6.7316.1,1-0.064564-5.8201-2.0847-6.1602-1.3919T

net IW ⎡⎤

=⎢⎥

⎣⎦

{}[]

.113.6766-36.3567-3.8506-7.06597.745T

net b =

相关文档
最新文档