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

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

来源:网络收集 时间:2026-08-29
导读: i=1,2,?,R,j=1,2,?,M。 竞争层 M=m2个神经元 图7.3 SOFM网络模型 ② 在样本集中随机选采样本p(t)输入。 ③ 在输出节点集中寻找最佳匹配的节点C(即其权向量与n值最近的),如用欧氏(Euclid)距离,则C应为 ‖p(t)―wc(

i=1,2,?,R,j=1,2,?,M。

竞争层 M=m2个神经元

图7.3 SOFM网络模型

② 在样本集中随机选采样本p(t)输入。

③ 在输出节点集中寻找最佳匹配的节点C(即其权向量与n值最近的),如用欧氏(Euclid)距离,则C应为

‖p(t)―wc(t)‖=min{‖p(t)―wj(t)‖} (wj为P维向量)

j④ 权值学习:

??wj(t)??(t)h(t)[p(t)?wj(t)]j?Ncwj(i+1)=wj(i?1)??

w(t)j?N?0?j ⑤ t←t+1,转向②。

41

μ(t)为学习步长,h(t)为邻域大小,它们都随迭代次数而变化。

三、自组织特征映射网络的训练

SOFM网络在训练开始时其输入为竞争的胜利者代表某类模式。然后定义获胜节点的邻域节点,即以获胜节点为中心的某一半径内的所有节点,并对与其相似的权矩阵进行调整。随着训练的继续进行,获胜节点C的半径将逐渐变小,直到最后只包含获胜节点C本身。也就是说,在训练的初始阶段,不但对获胜的节点作权值的调整,而且对其周围较大范围内的几何邻接节点,也和相应的调整,而随着训练过程的进行,与获胜输出节点相连的权矩阵就越来越接近,其所代表的模式类,此时,需要对获胜节点进行较细致的权矩阵调整,同时,只对其几何邻接较近的节点进行相应的调整。这样,在训练结束后,几何上相近的输出节点的连接的权矢量既有联系,又相互有区别;保证了对于某一类输入模式获胜节点,能作出最大的响应。而相邻节点作出较小的响应。几何上相邻的节点代表特征上相似的模式类别。 训练设计步骤(适用于输入向量P具有某种概率分布的数组): 1.初始化:由输入向量确定网络结构,设置网络竞争层神经元节点;将输入模式P作归一化处理;归一随机化处理初始权值;设置最大训练次数max-cyde并确定基本学习速率lr以及最大邻层数。 2.学习速率是线性下降的: n=cycle/max_cycle; LR=(1-n)·lr;

这使得学习速率随着循环次数的增加,从lr*(maxcycle-1)/max=cycle逐渐降至0。

3.邻层数也是递减

h=max([ceil(max_neighba(1-x*4))1];

4.计算输入向量加权和,并通过竞争求出获胜节点。 A=compet(w*p);

5.根据获胜节点求出相邻层(以二维为例),并进行权值修正。 i=find(A==1); in=neighbad (i,[x,y],n);

42

dw=learnk(w,p,in,LR); w=w+dw;

6.检查是否达到最大训练次数max_cycle,如果达到了则输出或显示结果,否则转(2)继续训练。

四、重要的自组织网络函数

函数initc( )、simaC( )和trainc( )可分别用于竞争层的初始化,仿真和训练。函数initsm( )、simusm( )和trainsm( )分别用于自组织映射网络的初始化、仿真和训练。函数nbgrid( )、nbdist( )、nbman( )可生成一系列矩阵,以便用于定义自组织映射中神经元之间的邻域关系。 1.初始化

首先我们介绍一下竞争层初始化函数initc( )。利用函数initc( )可得到S个神经元的竞争层的权值和阀值。另外有一点特别重要,输入向量P的每一行中包含了网络输入的最大值和最小值,这样才能合适地初始化权值和阀值。输入变量为输入向量P和神经元数S,调用格式为

w=initc(p>s).

另外自组织网络初始化函数initc( )也可得到S个神经元的自组织网络的权值。与函数initc( )一样,输入向量P的每一行中包含了网络期望输入的最大值和最小值,这样才能合适地初始化权值和阀值。并且其调用格式也与函数initc( )一样为

w=initsm(p,s);

2.仿真

竞争层的仿真函数simue( )在任何时候只有最大网络输入的神经元的输出为1,其它神经元的输出为0。调用格式为:

a=simuc (p,w);

而自组织网络仿真函数simusm( )可得到自组织映射网络的输出,只有最大网络输入的神经元的输出为1,相邻神经元的输出为0.5,其余神经元的输出为0。调用格式为:

a=simusm(p,w,m,n);

式中m为自组织网络的邻阵,变量n为邻域的大小,其缺省值为1。

43

3.训练

对于竞争层的训练采用trainc( )函数,通过调整初始权值矩阵w和阀值向量b,得到了相应于随机顺序选取的输出向量P的新的权值矩阵,以便对一组输入向量进行分类。

w=trainc(w,p,tp);

输入变量tp为可选的训练参数:

·tp(1) 指定更新显示间的训练次数,其缺省值为25; ·tp(2) 指定训练的最大次数,其缺省值为100; ·tp(3) 指定学习速率,其缺省值为0.01; ·tp(4) 指定跟踪性能(0~1),其缺省值为0.999; ·tp(5) 指定加权性能(0~1)其缺省值为0.1。

tp(4)越接近于1,计算神经元输出均值就越慢;tp(5)越小,高均值或低均值对神经元阀值的影响也就越小,从而获得稳定的结果。

自组织映射网络的训练函数trainsm( )是利用Kohonen规则训练自组织映射网络。自组织映射网络由分布在一维或多维空间中的神经元构成的层组成,在任何时候,只有最大网络输入的神经元的输出为1,相邻的神经元的输出为0.5,其余神经元的输出为0。

w=trainsm(w,b,p,tp);

可选的训练参数tp为:

·tp(1) 指定两次更新显示间的次数,其缺省值为25; ·tp(2) 指定训练的最大次数,其缺省值为100; ·tp(3) 指定初始学习速率,其缺省值为1。

五、自组织网络应用举例

应用自组织网络对输入样本进行分类。

首先利用函数nngenc生成聚类数据点,具体生成过程如下: x=[0 1;0 1] 聚类数据点的范围; clusters=8 聚类数;

points=10 每个聚类的数据点个数; std_dev=0.05 聚类偏差;

44

p=nngenc(x, clusters, points, std_dev) 图形显示聚类数据点: plot(p(1,:),p(2,:),'+')

1.210.80.60.40.20-0.2-0.100.10.20.30.40.50.60.70.80.9 图7.4 聚类数据点 再运用函数initc初始化自组织神经网络,得到相应的网络节点和权值的初始值,再运用函数trainc对所构件的网络进行训练:

w=initc(p,8) df=25 me=1000 lr=0.1 tp=[df me lr] w=trainc(w,p,tp)

Competitive Learning: 1000 cycles1.210.80.60.40.20-0.2-0.100.10.20.30.40.50.60.70.80.9 图7.5 网络训练结果 45

对训练成熟的网络,可以利用函数simuc进行仿真: p1=[0.1; 0.4] a1=simuc(p1, w) 输出仿真结果: a1 =

(1, 1) 1 p2=[0.6; 0.2] a2=simuc(p2, w) 输出仿真结果:a2 =

(7, 1)

1 46

…… 此处隐藏:1386字,全部文档内容请下载后查看。喜欢就下载吧 ……
matlab辅助神经网络设计(13).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)