




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 基本的神经元及其学习规则1.1 神经元模型1. MP模型人工神经网络的第一个数学模型是由McCulloch和Pitts建立的。该模型是基于这样一种思想:神经细胞的工作方式是或者兴奋,或者抑制。基于这个思想,McCulloch和Pitts在神经元模型中引入了硬极限函数,该函数形式后来被其他神经网络(如多层感知器、离散Hopfield网络)采用。由于神经元之间的信号连接强度取决于突触状态,因此在MP模型中,神经元的每个突触的活动强度用一个固定的实数即权值模拟。于是每个神经元模型都可以从数十个甚至数百个其他神经元接受信息,产生神经兴奋和冲动;同时,在其他条件不变的情况下,不论何种刺激,只要达到
2、阈值以上,就能产生一个动作电位。但如果输入总和低于阈值,则不能引起任何可见的反应。图1 所示为MP模型示意图。为神经元的输入,为相应的连接权值,T为神经元的兴奋阈值,y为神经元的输出,y取二值函数,即 图1 MP模型单个MP模型可以实现与、或、与非、或非等二值逻辑运算(但不能实现异或运算),该模型曾因说明了人工神经网络可通过简单的计算产生相当复杂的行为,从而引起极大的轰动,但它是一种静态神经元,即结构固定,权值无法调节,因此,缺乏一个关键性的要素,即学习能力。2一般神经元模型图2 所示为一个具有n个输入的通用的神经元模型。图2 通用神经元模型为神经元的输入,为可调的输入权值,为偏移信号,用于建
3、模神经元的兴奋阈值,u(*)为神经元的基函数,是一个多输入单输出函数u=u(x,w; )。f(*)为神经元的激活函数(也称神经元函数、挤压函数或活化函数),f(*)的一般作用是对基函数输出u进行“挤压”:y=f(u),即通过非线性函数f(*)将u变换到指定范围内。1.2 基函数u(*)的类型1线性函数:常用于多层感知器(MLP)、Hophield网络等。2距离函数:常用于径向基函数神经(RBF)网络等。式中,w常被称为基函数的中心,u表示输入矢量x与权矢量w之间的欧氏距离。在多维空间中,该基函数的形状是一个以w为球心的超球。3椭圆基函数1.3 激活函数f(*)的类型1硬极限函数:常用于分类。其
4、中sgn(*)为符号函数。2线性函数: 常用于实现函数逼近的网络。y = f(u) = u3饱和线性函数:常用于分类。4Sigmoidal函数,也称S函数:常用于分类、函数逼近或优化。5高斯函数:常用于RBF网络。1.4 神经学习算法神经网络的学习有两种形式:有导学习和无导学习。有导学习也称监督学习(Supervised Learning)。一般情况下,有导学习的训练样本是输入输出对(),其中为输入样本,为输出样本(期望输出,或教师信号)。神经网络训练的目的是:通过调节各神经元的自由参数,是网络产生期望的行为,即当输入样本时,网络输出尽可能接近。无导学习也称无监督学习(Unsupervised
5、 Learning)或自组织学习(Self-Organized Learning)。无导学习不提供教师信号,只规定学习方式或某些规则,具体的学习内容随系统所处环境(即输入信号情况)而异,系统可以自动发现环境特征和规律。不管是有导学习还是无导学习,都要通过调整神经元的自由参数(权值或阈值)实现。输入样本:当前权值:期望输出:权值调节公式:,其中为学习率,一般取较小的值,权值调整量一般与x,d及当前权值w(t)有关。1Hebb学习规则输入样本:当前权值:实际输出:权值调节公式:,其中权值调整量。2离散感知器学习规则如果神经元的基函数取线性函数,激或函数取硬极限函数,则神经元就成了单神经元感知器,其
6、学习规则称离散感知器学习规则,是一种有导学习算法。常用于单层及多层离散感知器网络。输入样本:当前权值:期望输出:当前输出:当前误差信号:当前权值调节量:权值修正公式:。3学习规则1986年,认知心理学家McClelland和RumeChart在神经网络训练中引入了(Delta)规则,该规则也称连续感知器学习规则。输入样本:当前权值:期望输出:基函数:实际输出:(激活函数)输出误差:神经元权值调节学习规则的目的是:通过训练权值w,使得对于训练样本对(x,d),神经元的输出误差达最小,误差E是权向量w的函数,欲使误差E最小,w应与误差的负梯度成正比,即,其中,比例系数是一个常数,误差梯度:得权值调
7、整公式:常用于:单层、多层神经网络、BP网。4LMS学习规则1962年,Bernard Widrow和Marcian Hoff提出了Widrow-Hoff学习规则,因为它能使神经元实际输出与期望输出之间的平方差最小,故又称最小均方规则(LMS)。在学习规则中,若激活函数f(u)取:,则学习规则就成为LMS学习规则:输入样本:当前权值:期望输出:基函数:实际输出:(激活函数)输出误差:权值调整公式:常用于自适应线性单元。5竞争学习规则也称Winner-Take-All(胜者为王)学习规则,用与无导师学习。一般将网络的某一层确定为竞争层,对于一个特定的输入x,竞争层的所有神经元均有输出响应,其中响
8、应值最大的神经元m为在竞争中获胜的神经元,即:只有获胜神经元才有权调整其权向量,调整量为:,式中,是一个小的学习常数,一般其值随着学习大进展而减少。由于两个向量的点积越大,表明两者越近似,所以调整获胜神经元权值的是使进一步接近当前输入x。显然,当下次出现与x相像的输入模式时,上次获胜的神经元更容易获胜,在反复的竞争学习过程中,竞争层的各神经元所对应的权向量被逐渐调整为样本空间的聚类中心。1.5 神经网络的拓扑结构主要有前向神经网络和反馈神经网络。2. 多层感知器网络(MLP)2.1 单层(两层)感知器模型图3 两层感知器模型输入样本:当前权值:期望输出:基函数:实际输出(激活函数):由于对不同
9、的输出单元,其连接权是相互独立的,因而可将一个多输出两层感知器分解成多个单输出两层感知器。图4 两层感知器模型学习算法如下:第一步,设置变量和参量为输入向量,或训练样本。为权值向量,b(n)为偏差。y(n)为实际输出,d(n)为期望输出,为学习速率,n为迭代次数。第二步,初始化,赋给各一个较小的随机非零值,n=0。第三步,对于一组输入样本,指定它的期望输出d,if X d=1 , if X d=-1第四步,计算实际输出第五步,调整权值向量第六步,若,或,算法结束,否则,n=n+1,转到第二步。例1 用单层感知器解决一个简单的分类问题。设计一个感知器,将二维的四组输入矢量分成两类:输入矢量:P=
10、-0.5 -0.5 0.3 0; -0.5 0.5 0.5 1目标矢量:T=1 1 0 0 解:对感知器的图解分析可知,感知器对输入矢量的分类实际是在输入矢量空间,用W*X+b=0的分割线对输入矢量进行切割而达到分类目的。根据这个原理,对此例中二维四组输入矢量的分类问题,可以用下述不等式组来等价的表达出: 实际上,可以用代数求解法来求出上面不等式中的参数,其解的范围为: 一组可能解为:本题所要设计的单层感知器的网络结构图为:图5 其中,Matlab源代码:(MLP_class.m)%单层感知器:分类P=-0.5 -0.5 0.3 0;-0.5 0.5 -0.5 1; %输入矢量T=1 1 0
11、0; %目标矢量net=newp(-1 1;-1 1,1);%返回画线句柄,下一次绘制分类线时将旧的删除handle=plotpc(net.iw1,net.b1);%设置训练次数:最大为10次net.trainParam.epochs=10; net=train(net,P,T);Y=sim(net,P);figure;plotpv(P,Y);handle=plotpc(net.iw1,net.b1,handle) 图6例2 某单层计算节点感知器有3个输入,给定3对训练样本如下:;设初始权向量,注意:输入向量中第一个分量恒等于-1,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。解:
12、目的是求,使,其中为训练样本,为阈值。Matlab源代码:(MLP_my.m)%某单层感知器有3个输入,对给定的3个输入样本和目标矢量,训练该感知器X = -1,1,-2,0;-1,0,1.5,-0.5;-1,-1,1,0.5; % 3个输入样本d = -1,-1,1; % 对应目标矢量W = 0.5,1,-1,0; % 初始化权值矢量,第一个分量为阈值a = 0.1; % 学习率b = 0.001; % 误差下限p = 10; % 循环次数上限y = ; % 实际输出T=size(X,1); % 输入样本个数n = 0; % 实际循环次数for k = 1 : p m = 0; % 误差 f
13、or i = 1 : T u = 0; for j = 1 : size(X,2) u = u + W(i+(k-1)*T,j) * X(i,j); % 基函数 end if u 0 % 激或函数 : 符号函数 y(i) = -1; else y(i) = 1; end m = m + abs(d(i) - y(i); % 误差 for j = 1 : size(X,2) W(i+1+(k-1)*T,j)=W(i+(k-1)*T,j)+a*(d(i)-y(i)*X(i,j);%权值调整 end end if m b % 累计误差低于误差下限,算法结束 n = k; % 实际循环次数 break
14、 endendW %训练后的权值矢量y % 实际输出n % 实际循环次数m % 误差练习:用感知器实现逻辑“与”功能:(源代码MLP_and.m)x1 x2y111100010000网络结构:两个输入,一个输出;给定四个训练样本如下: , 用感知器实现逻辑“或”功能:(源代码MLP_or.m)x1 x2y111101011000网络结构:两个输入,一个输出;给定四个训练样本如下: ,x1 x2y110101011000 用感知器无法实现逻辑“异或”功能: 2.2 线性阈值单元组成的多层感知器模型由于单层感知器网络只能完成线性分类,对线性不可分样本的分类问题,可以用线性阈值单元组成的多层感知器来
15、解决。一个n输入m输出的线性阈值单元组成的多层感知器网络结构如图所示。图7 多层感知器网络结构2.3 BP网络及BP算法1. BP网络模型BP网与多层前向感知器网络结构完全相同,只是隐节点的激活函数一般采用Sigmoidal函数。BP网输出节点的激活函数根据应用的不同而异:如果用于分类,则输出节点的激活函数一般采用Sigmoidal函数或硬极限函数;如果用于函数逼近,则一般采用线性函数。BP网采用多层结构,包括输入层、多个隐含层、输出层,各层之间实现全连接。2. BP网络学习算法BP算法也称误差反向传播算法(Error Back-Propagation Algorithm),是一类有导学习算法
16、,用于BP网的权值和阈值学习。下面以三层感知器BP网络为例,进行BP算法推倒。图8 三层BP网络结构输入向量: 隐层输出向量: 输出层输出向量: 期望输出向量: 输入层到隐层之间的权值矩阵:,其中列向量为隐层第j个神经元对应的权向量:隐层到输出层之间的权值矩阵:,其中列向量为输出层第k个神经元对应的权向量:下面分析各层信号之间的数学关系。对于输出层: , (3.6) (3.7)对于隐层: , (3.8) (3.9)以上两式中,激活函数f(x)均为单极性Sigmoid函数。 (3.10) (3.11)f(x)连续,可导,根据需要,也可取定义输出误差: (3.12)将以上误差定义式展开至隐层,有:
17、 (3.13)进一步展开至输入层,有: (3.14)从上式可以看出,误差E是各层权值的函数。调整权值可使误差E不断减小,因此,因使权值的调整量与误差的梯度下降成正比,即: (3.15a) (3.15b)式中,负号表示梯度下降,常数在训练中表示学习速率。3. BP算法推导式(3.15)仅是对权值调整思路的数学表达,而不是具体的权值调整计算式。下面推导三层BP算法权值调整的计算式。事先约定,在全部推导过程中,对输出层均有:,对隐层均有:对于输出层,式(3.15a)可写为: (3.16a)对于隐层,式(3.15b)可写为: (3.16b)对于输出层和隐层,各定义一个误差信号,令 , (3.17a)(
18、3.17b)则由(3.7)和(3.17a),可将(3.16a)改为: (3.18a)由(3.9)和(3.17b),可将(3.16b)改为: (3.18b)可以看出,只要计算(3.18)中的误差信号,权值调整量的计算推导即可完成。下面继续推导如何求,。对于输出层,可展开为: (3.19a)对于隐层,可展开为: (3.19b)利用(3.12)可得: (3.20a)利用(3.13)可得: (3.20b)将(3.20)代入(3.19),并应用(3.11),得: (3.21a) (3.21b)至此,两个误差信号的推导已完成。将(3.21)代回到(3.18),得到三层感知器的BP学习算法权值调整计算公式:
19、 (3.22a) (3.22b)3. BP算法程序实现(1)初始化对权值矩阵W,V赋随机数,将样本模式计数器P和训练次数计数器q置为1,误差E=0,学习率设为,网络训练后达到的精度.设为一个小的正数(0.01).(2)输入训练样本对,计算各层输出用当前样本对向量组赋值,用下式计算Y,O中各分量:输出层:隐层:式中,(3)计算网络输出误差设共有P对训练样本,总输出误差式中,(4)计算各层误差信号:,(5)调整各层权值 应用(3.22a),(3.22b),计算W,V中各分量。(6)检查是否对所有样本完成一次轮训若pP,计数器p,q增1,返回步骤(2),否则转步(7)。(7)检查网络总误差是否达到精
20、度要求,若,结束。例 BP网络的应用:函数逼近试设计神经网络来实现下面这对数组的函数关系:P=-1:0.1:1; %- 输入向量 -T=-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 .0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201; %- 目标向量 -源代码:(BP_Mat.m)% BP网络应用; 函数逼近 my source% 说明 : 通过输入向量P,目标向量T,训练权值向量W1,W2,寻找逼近函数:
21、T=f(P)% BP网络结构:输入层神经元个数 R=1,隐层神经元个数S1=5,输出层神经元个数 S2 = 1P=-1:0.1:1; %- 输入向量 -P2=-1:0.1:1;T=-0.96 -0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 . -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 . 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201; %- 目标向量 -plot(P,T,r+);% -(1) 初始化: -R,Q=size(P); % R,Q分别为输入向量P的行数(输入层神经元个数),列数(训练样本个数) S2,Q=size(T); % S2,Q 分别为目标向量 T 的行数(输出层神经元个数),列数 S1=5; % - 隐层神经元个数W1,B1=rands(S1,R); % 随机产生权值矩阵W1(行数S1,列数R),向量B1(维数S1)W2,B2=rands(S2,S1);b1=;b2=;b1=B1*ones(1,Q); % ones(m,n) : 产生矩阵(m,n),元素全为1 b2=B2*ones(1,Q); a2=W2*tansig(W1*P2+b1)+b2; % tansig : 双曲正切函数A2=purelin(a2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省南充市2025年中考英语真题附答案
- 2025年中国颗粒积木行业市场全景分析及前景机遇研判报告
- 2025年中国模块电源行业发展潜力分析及投资方向研究报告
- 2025年中国马饲料市场运行态势及行业发展前景预测报告
- 泌尿外科专科知识
- 细化培训课件
- 仓库作业培训课件
- 2025年 重庆两江新区雁启幼儿园招聘考试笔试试题附答案
- 2025-2031年中国农村网购行业市场全景监测及投资战略咨询报告
- 2025年中国烘手器市场运行态势及行业发展前景预测报告
- 人教版(2024新版)九年级上册化学:第四单元 课题3《物质组成的表示》教案教学设计
- 《建筑施工测量标准》JGJT408-2017
- 北京101中学2023-2024学年七下英语期末检测试题含答案
- 国家开放大学本科《管理英语4》一平台机考真题及答案(第六套)
- 2024年广东省中考生物试卷附答案
- 合肥市瑶海区2022-2023学年七年级下学期期中历史试题【带答案】
- ups电源维修合同范本
- 一年级下册口算题卡大全(口算练习题50套直接打印版)
- (高清版)JTG 5421-2018 公路沥青路面养护设计规范
- 2022-2023学年上海市徐汇区高一下学期期末考试数学试题(解析版)
- 热疗在妇科疾病治疗中的效果
评论
0/150
提交评论