教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

matlab辅助神经网络设计(4)

来源:网络收集 时间:2026-08-29
导读: a=sim(p,w,b) 六、感知器神经网络应用举例 为了便于消化与理解感知器神经网络的四只问题,下面将给出一个具体的问题进行分析,问题的描述如下: 两种蠓虫Af和Apf已由生物学家W.L.Grogan与w. w. Wirth(1981)根据它们

a=sim(p,w,b)

六、感知器神经网络应用举例

为了便于消化与理解感知器神经网络的四只问题,下面将给出一个具体的问题进行分析,问题的描述如下:

两种蠓虫Af和Apf已由生物学家W.L.Grogan与w. w. Wirth(1981)根据它们触角长度和翼长中以区分。见表2.1中9Af蠓和6只Apf蠓的数据。根据给出的触角长度和翼长可识别出一只标本是Af还是Apf。

1.给定一只Af或者Apf族的蒙,你如何正确地区分它属于哪一族? 2.将你的方法用于触角长和翼中分别为(1.24,1.80)、(1.28,1.84)、(1.40,2.04)的三个标本

表2.1

Af Apf 触重长 翼 长 触角长 翼 长 1.24 1.72 1.14 1.78 1.36 1.74 1.18 1.96 1.38 1.64 1.20 1.86 1.378 1.82 1.26 2.00 1.38 1.90 1.28 2.00 1.40 1.70 1.30 1.96 1.48 1.70 1.54 1.82 1.56 2.08 输入向量为:

p=[1.24 1.36 1.38 1.378 1.38 1.40 1.48 1.54 1.56 1.14 1.18 1.20 1.26 1.28 1.30;1.72 1.74 1.64 1.82 1.90 1.70 1.70 1.82 2.08 1.78 1.96 1.86 2.00 2.00 1.96 ]

目标向量为:

t=[1 1 1 1 1 1 1 1 1 0 0 0 0 0 0] 图形显示,目标值1对应的用“+”、目标值0对应的用“o”来表示:

plotpv(p,t)

为解决该问题,利用函数newp构造输入量在[0,2.5]之间的感知器神经网络模型:

net=newp([0 2.5;0 2.5],1) 初始化网络: net=init(net)

11

P(2)Vectors to be Classified2.32.22.121.91.81.71.61.51.40.911.11.21.31.4P(1)1.51.61.71.8图2.4 样本图形显示 利用函数adapt调整网络的权值和阀值,直到误差为0时训练结束: [net, y, e]=adapt(net, p, t)

训练结束后可得如图2.5的分类方式,可见感知器网络将样本正确地分成两类:

Vectors to be Classified2.32.22.12P(2)1.91.81.71.61.51.40.911.11.21.31.4P(1)1.51.61.71.8 图2.5 网络训练结果

感知器网络训练结束后,可以利用函数sim进行仿真,解决实际的分类问题:

p1=[1.24;1.80] a1=sim(net,p1) p2=[1.28;1.84] a2=sim(net,p2) p3=[1.40;2.04] a3=sim(net,p3) 网络仿真结果为: a1=0 a2=0 a3=0

12

第三节 线性神经网络

线性神经网络是最简单的一种神经元网络,由一个或多个线性神经元构成。1959年,美国工程师B.widrow和M.Hoft提出自适应线性元件(Adaptive linear element,简称Adaline)是线性神经网络的最早典型代表。它是感知器的变化形式,尤其在修正权矢量的方法上进行了改进,不仅提高了训练收敛速度,而且提高了训练精度。线性神经网络与感知器神经网络的主要不同之处在于其每个神经元的传递函数为线性函数,它允许输出任意值,而不是象感知器中只能输出0或1。此外,线性神经网络一般采用Widrow-Hoff(简称W-H)学习规则或者最小场方差(Least mean Square,简称LMS)规则来调整网络的权值和阀值。

线性神经网络的主要用途是线性逼近一个函数表达式,具有联想功能。另外,它还适用于信号处理滤波、预测、模式识别和控制等方面。

一、线性神经元模型

线性神经元可以训练学习一个与之对应的输入/输出函数关系,或线性逼近任意一个非线性函数,但它不能产生任何非线性的计算特性。

图3.1描述了一个具有R个输入的由纯线性函数组成的线性神经元。

图3.1 线性神经元模型

由于线性神经网络中神经元的传递函数为线性函数,其输入与输出之间是简单的比例关系:

a=g(w*p,b) ┇ PR o wR P1 o P2 o w1 w2 b 1

a 13

其中函数g(x)为线性函数。

二、线性神经网络结构

如图3.2描述了一个由S个神经元相并联形成一层网络,这种网络也称为Madaline网络。

W-H学习规则只能训练单层的线性神经网络,但这并不是什么严重问题。因为对线性神经网络而言,完全可以设计出一个性能完全相当的单层线性神经网络。

1 o P o R×1 N S×R b S×1

图3.2 线性神经元网络

n S×1 a S×1 三、线性神经学习网络的学习规则

前面我们提到过,线性神经网络采用W-H学习规则。W-H学习规则是Widrow是Hoft提出的用来求得权值和阀值的修正值的学习规则。

首先要定义一个线性网络的输出误差函数:

E(w,b)=

11(t―a)2=(t―w*p)2 3.1 22由式3.1可看出,线性网络具有抛物线型误差函数所形成的误差表面。所以只有一个误差最小值。通过W-H学习规则来计算权值和偏差的变化,并使网络的误差平方和最小化,总能够训练一个网络的误差趋于最小值。这可通过沿着相对于误差平方和最速下降方向连续调整网络的权值和阀值来实现。根据梯度下降法,权矢量的修正值正比于当前位置上E(w,b)的梯度,对于第i输出节点为:

?wij???或表示为:

?E??(ti?ai)pj 3.2 ?wij 14

?wij???ipj 3.3

?bi???i 3.4

这里δi定义为第i个输出节点的误差:

δi=ti―ai 3.5

式3.3称为W-H学习规则。W-H学习规则的权值变化量正比于网络的输出误差及网络的输入向量。它不需求导数,所以算法简单,又具有收敛速度快和精度高的优点。

式3.3中的?称为学习率,学习率的选取可以适当防止学习过程中产生振荡,提高收敛速度和精度。

四、线性神经网络训练

首先给线性神经网络提供输入向量P,计算线性网络层的输出向量a,并求得误差e=t―a;

然后比较输出的误差平方和是否小于期望的误差平方和,如果是,则停止训练;否则,采用W-H规则调整权值和阀值,反复进行。

如果经过训练网络不能达到期望目标,可以继续对网络进行训练。经过足够的训练后,网络还是达不到要求。那么就仔细地分析一下, 所要解决的问题,是否适合于线性神经网络。

五、重要线性神经网络函数的使用方法

在MATLAB神经网络工具箱中提供了基于线性神经网络的初始化函数initlin( )、设计函数solvelin( )、仿真函数simulin( )以及训练函数trainwh和adaptwh。下面我们将分别介绍多种函数的使用方法。

1.初始化函数initlin( )

函数initlin( )对线性神经网络初始化时,将权值和阀值取为绝对值很小的数。其使用格式

[w,b]=initlin(R,S)

R为输入数,S为神经元数。

另外,R和S也可用输入向量P和目标向量t来代替,即 [w,b]=initlin(p,t) 2.设计函数solvelin( )

15

…… 此处隐藏:1473字,全部文档内容请下载后查看。喜欢就下载吧 ……
matlab辅助神经网络设计(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/518856.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)