人工神经网络及其应用实例毕业论文.docx

上传人:b****3 文档编号:739667 上传时间:2022-10-12 格式:DOCX 页数:50 大小:292.93KB
下载 相关 举报
人工神经网络及其应用实例毕业论文.docx_第1页
第1页 / 共50页
人工神经网络及其应用实例毕业论文.docx_第2页
第2页 / 共50页
人工神经网络及其应用实例毕业论文.docx_第3页
第3页 / 共50页
人工神经网络及其应用实例毕业论文.docx_第4页
第4页 / 共50页
人工神经网络及其应用实例毕业论文.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

人工神经网络及其应用实例毕业论文.docx

《人工神经网络及其应用实例毕业论文.docx》由会员分享,可在线阅读,更多相关《人工神经网络及其应用实例毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。

人工神经网络及其应用实例毕业论文.docx

人工神经网络及其应用实例毕业论文

 

人工神经网络及其应用实例

 

人工神经网络是在现代神经科学研究成果基础上提出的一种抽

象数学模型,它以某种简化、抽象和模拟的方式,反映了大脑功能的

若干基本特征,但并非其逼真的描写。

人工神经网络可概括定义为:

由大量简单元件广泛互连而成的复

杂网络系统。

所谓简单元件,即人工神经元,是指它可用电子元件、

光学元件等模拟,仅起简单的输入输出变换y=σ(x)的作用。

下图是3

中常用的元件类型:

线性元件:

y=0.3x,可用线性代数法分析,但是功能有限,现在

已不太常用。

 

2

 

1.5

 

1

 

0.5

 

0

 

-0.5

 

-1

 

-1.5

 

-2

-6

-4

-2

0

2

4

6

 

连续型非线性元件:

y=tanh(x),便于解析性计算及器件模拟,是

当前研究的主要元件之一。

Page1of25

 

2

 

1.5

 

1

 

0.5

 

0

 

-0.5

 

-1

 

-1.5

 

-2

-6

-4

-2

0

2

4

6

 

⎧1,x≥0

⎩-1,x<0

 

,便于理论分析及阈值逻辑器件

实现,也是当前研究的主要元件之一。

 

2

 

1.5

 

1

 

0.5

 

0

 

-0.5

 

-1

 

-1.5

 

-2

-6

-4

-2

0

2

4

6

 

Page2of25

离散型非线性元件:

y=⎨

 

每一神经元有许多输入、输出键,各神经元之间以连接键(又称

突触)相连,它决定神经元之间的连接强度(突触强度)和性质(兴

奋或抑制),即决定神经元间相互作用的强弱和正负,共有三种类型:

兴奋型连接、抑制型连接、无连接。

这样,N个神经元(一般N很大)

构成一个相互影响的复杂网络系统,通过调整网络参数,可使人工神

经网络具有所需要的特定功能,即学习、训练或自组织过程。

一个简

单的人工神经网络结构图如下所示:

 

上图中,左侧为输入层(输入层的神经元个数由输入的维度决定),

右侧为输出层(输出层的神经元个数由输出的维度决定),输入层与

输出层之间即为隐层。

输入层节点上的神经元接收外部环境的输入模式,并由它传递给

相连隐层上的各个神经元。

隐层是神经元网络的内部处理层,这些神

经元在网络内部构成中间层,不直接与外部输入、输出打交道。

人工

神经网络所具有的模式变换能力主要体现在隐层的神经元上。

输出层

用于产生神经网络的输出模式。

多层神经网络结构中有代表性的有前向网络(BP网络)模型、

Page3of25

 

多层侧抑制神经网络模型和带有反馈的多层神经网络模型等。

本文主

要探讨前向网络模型。

多层前向神经网络不具有侧抑制和反馈的连接方式,即不具有本

层之间或指向前一层的连接弧,只有指向下一层的连接弧。

代表是

BP神经网络:

输入模式由输入层进入网络,经中间各隐层的顺序变

换,最后由输出层产生一个输出模式,如下图所示:

 

输入层

 

隐层

 

输出层

 

多层前向神经网络由隐层神经元的非线性处理衍生它的能力,这

个任务的关键在于将神经元的加权输入非线性转换成一个输出的非

线性激励函数。

下图给出了一个接收n个输入x1,x2,,xn的神经元:

b

1

x1

w1

x2

w2

σ

y

wn

xn

 

Page4of25

 

神经元的输出由下式给出:

n

x

j=1

这里输入的加权和(括号内部分)由一个非线性函数传递,b表

示与偏差输入相关的权值,wj表示与第j个输入相关的权值。

使用最广泛的函数是S形函数,其曲线家族包括对数函数和双曲

正切函数,这些都可用来对人口动态系统、经济学系统等建模。

另外

所用的其他函数有高斯函数、正弦函数、反正切函数,在此不一一展

开介绍,本文主要使用的激励函数是对数函数,函数表达式为:

y=L(u)=

函数曲线如下图所示:

 

1

 

0.8

 

0.6

 

0.4

 

0.2

 

0

1

1+e-u

 

-0.2

-10

 

-8

 

-6

 

-4

 

-2

 

0

 

2

 

4

 

6

 

8

 

10

 

对于有限输入量,对数函数输出范围为y∈(0,1)。

在输入为u=0时,

输出值为中间值y=0.5。

输出在u=0附近随着输入的增加以相对快的

Page5of25

y=σ(∑wjj+b)

 

速率增加并非常慢地到达上限。

对于u<0,输出起初减少得很快,然

后随着下限的接近将会变慢。

训练神经元的规则有很多种,这里首先介绍利用delta规则的学

习,神经元选择为一个单输入单输出的简单情形,数学描述如下:

u=wx+b,y=

1

1+e-u

该神经元具有一个输入x,权重为w,偏差输入为b,目标输出

为t,预报输出为y。

则预报误差为:

E=t-y=t-

11

1+e-u1+e-wx-b

为消除当误差在整个输入模式上求和时引起的误差符号问题,在

delta规则里使用的误差指示是平方误差,定义为:

11

22

1

-wx-b

)2

根据delta规则,最优权值(使平方误差最小)可以在训练过程

中从初始权值出发,沿负梯度方向下降得到。

将平方误差对w,b(神

经元的可调整参数)进行微分,得:

∂ε

∂u

=-E⋅

e-u

(1+e-u)2

∂ε

∂w

∂ε

∂b

=⋅=-E⋅⋅x

∂u∂w(1+e-u)2

=⋅=-E⋅

∂u∂b(1+e-u)2

根据delta原则,权值改变应与误差梯度的负值成比例,引入学

习率β,每次迭代中的权值改变可表示为:

∂εe-u

∂w(1+e-u)2

∂ε

∂b

e-u

(1+e-u)2

 

Page6of25

=t-

1+e

∂ε∂ue-u

∂ε∂ue-u

∆w=-β⋅=β⋅E⋅⋅x

∆b=-β⋅=β⋅E⋅

 

学习率β决定了沿梯度方向的移动速度,以确定新的权值。

大的

β值会加快权值的改变,小的β值则减缓了权值的改变。

第i次迭代

后的新权值可表示为:

wi+1=wi+β⋅E⋅

e-u

(1+e-u)2

⋅x

bi+1=bi+β⋅E⋅

e-u

(1+e-u)2

如果将偏差输入b视为输入x的一部分,令x0=1,w0=b,可以得到

对于多输入神经元的权值修正式:

 

+1

e-u

(1+e-u)2

⋅xj,j=0,1,2,

n

总之,利用delta规则的有监督的学习可以按如下方法来实现:

一个输入模式(x0,x1,x2,,xn)通过连接被传递,它的初始权值被设置

为任意值。

对加权的输入求和,产生输出y,然后y与给定的目标输

出t做比较决定此模式的平方误差ε。

输入和目标输出不断地被提出,

在每一次迭代或每一个训练时间后利用delta规则进行权值调整直到

得到可能的最小平方误差。

delta规则在每一步中通过导数寻找在误差平面中某个特定点局

部区域的斜率,它总是应用这个斜率从而试图减小局部误差,因此,

delta规则不能区分误差空间中的全局最小点和局部最小点,它本身

不能克服单层神经网络的局限,无法直接应用到多层神经网络(易陷

入局部最小点),但它的一般形式是多层神经网络中的学习算法——

反传算法的核心。

在多层前向神经网络的训练过程中,误差导数或关于权值的误差

 

Page7of25

wijji+β⋅E⋅

=w

 

表面的斜率对权值的调整是至关重要的,在网络训练期间,所有的输

出神经元和隐含神经元权值必须同时调整,因此,有必要找出关于所

有权值的误差导数。

由于网络层数增多,平方误差ε与权值的连接没

有之前单个神经元时那么直接,故可以使用链式规则的概念来找到导

数。

下面对一个含有一层隐含神经元的BP网络进行讨论,网络结构

如下图所示:

 

x0=1

 

1

 

a0m

a01

 

σ

y1

 

b1

 

y0=1

x1

1

b0

 

x2

 

1

 

 

1

 

z

 

bm

an1

ym

xn

1

anm

σ

 

各个神经元的输入输出关系为:

yi=

1

1+e-ui

n

j=0

x

m

m

i=0

设目标输出为t,则平方误差ε定义为:

 

Page8of25

ui=∑ajij,i=1,2,

z=v,v=∑biiy

 

1

2

使用链式法则,分别列出平方误差ε对所有网络参数的导数:

∂ε

∂v

=-(t-z)

∂ε

∂bi

∂ε

∂v

m

∂ε

∂yi

∂ε

∂v

m

 

=⋅=⋅

∂ui∂yi∂ui∂yi(1+e-ui)2

i=1,2,

m

∂ε

∂aji

=⋅=⋅xj,i=1,2,

m,j=0,1,2,

n

 

在实际的编程过程中,我们需要的是

∂ε

∂bi

∂ε

∂aji

,所以如果有需要,

也可以直接采用以下整理之后的形式:

∂ε

∂bi

=-(t-z)⋅yi,i=0,1,2,

m

∂ε

∂aji

e-ui

(1+e-ui)2

m,j=0,1,2,

n

研究表明,两层网络在其隐层中使用S形激励函数,在输出层中

使用线性传输函数,就几乎可以以任意精度逼近任意感兴趣的函数,

只要隐层中有足够的单元可用。

问题1:

试使用BP神经网络去逼近正弦函数的正半周,如下:

t=sin(x),x∈[0,π]

由于输入量x仅有一维,故BP神经网络结构可以设计为:

 

Page9of25

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1