版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 自组织竞争神经网络,编 者,.,Outline,1.竞争神经网络 2.竞争神经网络的学习算法 3.自组织特征映射网络 4. SOM的学习算法 5.学习矢量量化网络 6.自组织竞争网络相关函数详解 7.自组织竞争神经网络应用实例,.,1.竞争神经网络,采用竞争学习的规则即可构成最简单的竞争神经网络,在此基础上,还发展了形形色色的自组织网络。,“胜者为王,败者为寇” 。兴奋最强的神经元“战胜”了其他神经元,在权值调制中其兴奋程度得到进一步加强,而其他神经元则保持不变。 竞争神经网络通过这种竞争学习的方式获取训练样本的分布信息,每个训练样本都对应一个兴奋的核心层神经元,也就是对应一个类别,当
2、有新样本输入时,就可以根据兴奋的神经元进行模式分类。,.,2.竞争神经网络的学习算法,内星学习规则,内星模型训练的目标是使得神经元只对某些特定的输入向量产生兴奋。这一点是通过连接权值的逐步调整得到的。,随机权值中有一个被激活,其权值按上式向输入样本的方向调整,会变得越来越“像”输入样本 如果对内星模型输入多个样本进行训练,最终得到的网络权值趋近于各输入向量的平均值。,.,2.竞争神经网络的学习算法,Kohonen学习规则,在竞争型神经网络中,有可能某些神经元始终无法赢得竞争,其初始值偏离所有样本向量,因此无论训练多久都无法成为获胜神经元。这种神经元称为“死神经元”。 可以给很少获胜的神经元以较
3、大的阈值,使其在输入向量与权值相似性不太高的情况下也有可能获胜;而对那些经常获胜的神经元则给以较小的阈值 。有效解决了“死神经元”问题。,竞争神经网络采用的Kohonen学习规则是从内星学习规则发展而来的。,阈值学习规则,.,3.自组织特征映射网络,自组织特征映射网络(Self-Organizing Feature Maps,SOFM)又称自组织映射网络(SOM)。自组织映射网络是一种竞争性神经网络,同时引入了自组织特性。 自组织现象来源于人脑细胞的自组织性:大脑中不同区域有着不同的作用,不同的感官输入由不同位置的脑细胞进行处理,这种特性不完全来自遗传,更依赖于后天的学习和训练。,自组织映射网
4、络除了能学习输入样本的分布外,还能够识别输入向量的拓扑结构,.,3.自组织特征映射网络,自组织神经网络同样包含输入层、输出层两层网络,但在输出层引入网络的拓扑结构,以更好地模拟生物学中的侧抑制现象。,输入神经元与输出神经元通过权值相连,同时,近邻的输出神经元之间也通过权值向量相连。输出神经元被放置在一维、二维甚至多维的网格节点中,最常见的是二维拓扑结构。,.,4. SOM的学习算法,竞争网络与SOM网络的主要区别在于: 在竞争神经网络中不存在核心层之间的相互连接,在更新权值时采用了胜者全得的方式,每次只更新获胜神经元对应的连接权值; 而在自组织映射网络中,每个神经元附近一定邻域内的神经元也会得
5、到更新,较远的神经元则不更新,从而使几何上相近的神经元变得更相似。,.,4. SOM的学习算法,使用learnsom函数进行自组织映射网络的学习 。在learsom函数学习过程中,学习率与邻域大小是可调的。在训练过程中分为两个阶段进行调节:,排序阶段:在排序阶段,随着迭代的进行,学习率从下降到,邻域大小从下降到。在这个阶段,权值根据输入向量进行调整,使其相对位置体现了输入样本的分布。 调整阶段:在这个阶段,学习率从开始以缓慢的速度下降,邻域大小则保持为不变,以确保学习的稳定性,学习率有 、 两个给定的参考值,且 ,邻域大小也有两个给定的参考值:,.,4. SOM的学习算法,(1)设定变量。,(
6、2)初始化。权值使用较小的随机值进行初始化,并对输入向量和权值都做归一化处理,(3)将随机抽取的样本输入网络。,(4)更新权值。对获胜神经元拓扑邻域内的神经元,采用Kohonen规则进行更新,.,4. SOM的学习算法,(5)更新学习速率及拓扑邻域,并对学习后的权值进行重新归一化。学习率和邻域大小的调整按排序阶段、调整阶段两步来进行。 (6)判断是否收敛。判断迭代次数是否达到预设的最大值,若没有达到最大迭代次数则转到第三步,否则结束算法。,.,5.学习矢量量化网络,自组织映射网络具有有效的聚类功能,但由于没有采用导师信号,适合无法获知样本类别的情况。将自组织竞争的思想与有监督学习相结合,这就是
7、学习矢量量化网络(Learning Vector Quantization,LVQ) 。 LVQ是SOM网络的一种变形,它在原有两层结构的基础上增加了线性层,竞争层得到的类别称为子类,输出层又称线性层,线性层的类别标签是由导师信号给出的,是目标分类。,.,6.自组织竞争网络相关函数详解,gridtop网格拓扑函数,pos=gridtop(dim1,dim2,dimN) gridtop(2,3,4)表示 的三维拓扑结构,用gridtop创建一个包含40个输出层神经元节点的网格,并输入到selforgmap函数中。 pos = gridtop(8,5);% 创建网格 pos% 神经元的坐标 net
8、 = selforgmap(8 5,topologyFcn,gridtop); plotsomtop(net)% 显示网络,.,6.自组织竞争网络相关函数详解,hextop六边形拓扑函数,pos=hextop(dim1,dim2,dimN) 显示三维六边形拓扑结构。 pos = hextop(3,4,2);% 建立3*4的两层六边形 pos plot3(pos(1,:),pos(2,:),pos(3,:),o) % 显示节点位置 title(hex拓扑) set(gcf,color,w),.,6.自组织竞争网络相关函数详解,randtop随机拓扑结构函数 : pos=randtop(dim1,
9、dim2,dimN) 神经元节点被安排在N维的空间中,节点的位置都是随机给定的。 创建一个随机拓扑结构的自组织映射网络,并显示网络结构 pos = randtop(8,5); rng(2)% 设置随机数种子 net = selforgmap(8 5,topologyFcn,randtop); plotsomtop(net),.,6.自组织竞争网络相关函数详解,tritop三角拓扑函数 pos=tritop(dim1,dim2,dimN),神经元节点被安排在N维的空间中,节点按三角形的形状排列。 pos = tritop(8,5);% 三角拓扑函数 net = selforgmap(8 5,to
10、pologyFcn,tritop); plotsomtop(net),.,6.自组织竞争网络相关函数详解,dist、boxdist、linkdist、mandist距离函数,(1)欧氏距离,Z = dist(W,P),(2)boxdist函数用于求得的距离是向量个分量绝对差的最大值,(3)linkdist是newsom的默认距离函数,(4)Manhattan距离,即曼哈顿距离,也就是出租车几何距离,相当于向量之差的1-范数。,.,6.自组织竞争网络相关函数详解,网络中输入层包含3个神经元,输出层包含4个神经元,给定一个三维输入向量,计算其与各个输出神经元对应权值之间的欧氏距离。 网络中输入层包
11、含3个神经元,输出层包含4个神经元,给定一个三维输入向量,计算其与各个输出神经元对应权值之间的欧氏距离。 rng(0) W = rand(4,3)% 权值矩阵 P = rand(3,1)% 输入列向量 Z1 = dist(W,P),.,6.自组织竞争网络相关函数详解,newc竞争网络,net=newc(P,S,KLR,CLR) P:R*Q矩阵,包含Q个R维的输入样本向量。 S:标量,表示输出层神经元个数。 KLR:Kohonen学习率,默认值为 0.01 CLR:“良心”学习率,默认值为 0.001,.,6.自组织竞争网络相关函数详解,使用竞争神经网络将4个坐标点分为两类, P = .2 .8
12、 .1 .9; .3 .5 .4 .5;% 待分类坐标点 plot(P(1,:),P(2,:),o); % 绘制坐标点 axis(0,1,0,1) set(gcf,color,w) grid on title(四个坐标点的分类) net = newc(P,2);% 创建竞争层 net = train(net,P); Y = net(P) Yc = vec2ind(Y), P c1=P(:,Yc=1);% 绘制分类结果 c2=P(:,Yc=2); plot(c1(1,:),c1(2,:),ro,LineWidth,2) hold on plot(c2(1,:),c2(2,:),k,LineWid
13、th,2) title(四个坐标点的分类结果) axis(0,1,0,1),.,6.自组织竞争网络相关函数详解,competlayer新版竞争网络函数,net=competlayer(numClasses,kohonenLR,conscienceLR),numClasses:分类的类别数 kohonenLR:Kohonen学习率 conscienceLR:“良心”学习率,即阈值学习规则的学习率 iris_dataset是MATLAB自带的用于分类的样本数据,其中包含了150分鸢尾花数据,每份数据用一个4维向量表示。用竞争神经网络将其分为3类 inputs = iris_dataset;% 载入
14、数据 net = competlayer(3);% 创建竞争网络 net = train(net,inputs);% 训练 outputs = net(inputs);% 分类 classes = vec2ind(outputs)% 格式转换。classes为分类结果,这里仅列出部分数据 c=hist(classes,3)% 每个类别的数量,.,6.自组织竞争网络相关函数详解,newsom自组织特征映射网络,net=newsom(P,d1,d2,tfcn,dfcn,steps,in) P:R*Q矩阵,包含Q个典型的R维输入向量 di:拓扑结构中第i维的大小。默认值为 5,8,显示自组织映射网络
15、与竞争神经网络的结构差别 net1=competlayer(40);% 40个节点的竞争层 load simpleclass_dataset net2=newsom(simpleclassInputs,5 8); view(net1) view(net2),.,6.自组织竞争网络相关函数详解,selforgmap新版自组织映射网络函数,net=selforgmap(dimensions,coverSteps,initNeighbor,topologyFcn,distanceFcn) dimensions:一个表示拓扑结构的行向量,如表示二维结构 coverSteps:训练次数。 initNei
16、ghbor:邻域大小的初始值。 topologyFcn:表示拓扑函数的字符串,可选值有hextop,gridtop,randtop等 distanceFcn:表示距离函数的字符串,可选值有boxdist,dist,linkdist和mandist等,.,6.自组织竞争网络相关函数详解,simplecluster_dataset是MATLAB自带的用于聚类的简单数据,其中包含了1000个二维向量。用不同拓扑大小的自组织映射网络做聚类。, x = simplecluster_dataset;% 载入数据 plot(x(1,:),x(2,:),o)% 显示 set(gcf,color,w) titl
17、e(原始数据) 使用2*3拓扑网络进行聚类 net = selforgmap(2,3); net = train(net,x); y = net(x); classes = vec2ind(y); c=hist(classes,6)% 6个类别包含的样本个数 plotsomhits(net,x)% 显示每个类别的个数 plotsompos(net,x)% 显示类别中心点的位置,.,6.自组织竞争网络相关函数详解,newlvq学习矢量量化网络,net=newlvq(P,S1,PC,LR,LF) P:R*Q矩阵,包含Q个R维输入向量。 S1:竞争层神经元的个数。,用newlvq创建一个简单的学习矢
18、量量化网络,给出用newlvq解决一个分类问题的完整过程。 P = -3 -2 -2 0 0 0 0 +2 +2 +3; .% 输入样本是10个二维向量 0 +1 -1 +2 +1 -1 -2 +1 -1 0; Tc = 1 1 1 2 2 2 2 1 1 1;% 目标类别 T = ind2vec(Tc); net = newlvq(P,4,.6 .4);% 创建LVQ网络 view(net) net = train(net,P,T);% 训练 Y = net(P)% 测试 Yc = vec2ind(Y) Tc,.,6.自组织竞争网络相关函数详解,lvqnet新版学习矢量量化网络函数,net=
19、lvqnet(hiddenSize,lvqLR,lvqLF) hiddenSize:竞争层神经元节点个数 lvqLR:学习率。 lvqLF:学习函数。, x,t = iris_dataset;% 加载数据,x为输入样本,t为期望输出 rng(0) ri=randperm(150);% 划分训练与测试集 x1=x(:,ri(1:50); t1=t(:,ri(1:50); x2=x(:,ri(51:150); t2=t(:,ri(51:150); net = lvqnet(20);% 创建网络进行训练 net = train(net,x1,t1); y = net(x2);% 测试 yy=vec2
20、ind(y); ty=vec2ind(t2); sum(yy=ty)/length(yy),.,6.自组织竞争网络相关函数详解,mapminmax归一化函数,在神经网络和其他机器学习算法中,往往需要对输入的样本做归一化。mapminmax就是MATLAB提供的一个方便的归一化函数。 Y,settings=mapminmax(X) Y=mapminmax(apply,X,settings) x1_again=mapminmax(reverse,y,settings),.,6.自组织竞争网络相关函数详解,对一个矩阵进行归一化 x=1,2,3;1,2,4% 待归一化数据 xx,settings=ma
21、pminmax(x);% 归一化到0,1 xx settings.xmin,settings.xmax% 结构体settings中保存了每行的最大最小值 fp.ymin=0;fp.ymax=10 xx,settings=mapminmax(x,fp);% 映射到0,10区间 xx xx,settings=mapminmax(x,fp);% 按列进行归一化 xx,.,7.自组织竞争神经网络应用实例,手算实现坐标点的分类。,mycompet.m,.,7.自组织竞争神经网络应用实例,clear,clc % 使用工具箱函数实现坐标点分类 close all x0=4.1,1.8,0.5,2.9,4.0,0.6,3.8,4.3,3.2,1.0,3.0,3.6,3.8,3.7,3.7,8.6,9.1,. % 样本数据 7.5,8.1,9.0,6.9,8.6,8.5,9.6,10.0,9.3,6.9,6.4,6.7,8.7;. 8.1,5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江温州市第三十一中学编外护士招聘1人备考题库(含答案详解)
- 2026上半年海南文昌市校园招聘事业单位人员(海口考点)19人备考题库(5号)附答案详解(巩固)
- 2026春季江西铜业集团有限公司永平铜矿校园招聘9人备考题库及答案详解(典优)
- 2026重庆市九龙坡区统计局统计调查公益性岗位招聘1人备考题库附答案详解(典型题)
- 2026江苏徐州医科大学招聘85人备考题库附答案详解(综合题)
- 2026年温州市瓯海区面向全国引进教育人才6人备考题库含答案详解(巩固)
- 2026河南省商丘市第一人民医院招聘博士研究生备考题库及答案详解(典优)
- 2026上海复旦大学数学科学学院招聘讲师1人备考题库附答案详解(预热题)
- 2026集团粤港澳新闻中心招聘实习记者4人备考题库附答案详解(培优a卷)
- 2026陕西汉中职业技术学院及附属医院招聘高层次及急需紧缺专业人才31人备考题库及答案详解(真题汇编)
- 劳保用品发放记录
- 2024届浙江省镇海中学高三上学期首考12月模拟卷技术及答案
- 大件货物运输安全管理制度
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 工程热力学课后习题及答案第六版及工程热力学思考题及答案
- 消防设施故障处理与维修
- TNPM-全面规范化生产维护简述
- 全过程工程咨询服务方案
- 小学语文整本书阅读学习任务群设计案例
- 某农村综合性改革试点试验实施方案
- 牙髓血运重建术
评论
0/150
提交评论