7.第8章 自组织竞争神经网络

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

>> 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)
6.自组织竞争网络相关函数详解
i k i k
(3)将随机抽取的样本输入网络。
(4)更新权值。对获胜神经元拓扑邻域内的 神经元,采用Kohonen规则进行更新
k 1 k x k
4. SOM的学习算法
(5)更新学习速率及拓扑邻域,并对学习后的权值进行重新归一化。 学习率和邻域大小的调整按排序阶段、调整阶段两步来进行。
X1 X2
. . . . . .
Y1 YN
XN
输入层 核心层
“胜者为王,败者为寇” 。兴奋最强的神经元“战胜”了其他神经元, 在权值调制中其兴奋程度得到进一步加强,而其他神经元则保持不变。 竞争神经网络通过这种竞争学习的方式获取训练样本的分布信息,每个 训练样本都对应一个兴奋的核心层神经元,也就是对应一个类别,当有新样 本输入时,就可以根据兴奋的神经元进行模式分类。
competlayer——新版竞争网络函数 net=competlayer(numClasses,kohonenLR,conscienceLR) numClasses:分类的类别数 kohonenLR:Kohonen学习率 conscienceLR:“良心”学习率,即阈值学习规则的学习率
iris_dataset是MATLAB自带的用于分类的样本数据,其中包含了150分鸢尾花数 据,每份数据用一个4维向量表示。用竞争神经网络将其分为3类
>> inputs = iris_dataset; >> net = competlayer(3); % 载入数据 % 创建竞争网络
>> net = train(net,inputs);
>> outputs = net(inputs);
% 训练
% 分类
>> classes = vec2ind(outputs) % 格式转换。classes为分类结果,这里仅列出部分数据 >> c=hist(classes,3) % 每个类别的数量
(6)判断是否收敛。判断迭代次数是否达到预设的最大值,若没有达 到最大迭代次数则转到第三步,否则结束算法。
5.学习矢量量化网络
自组织映射网络具有有效的聚类功能,但由于没有采用导师信号, 适合无法获知样本类别的情况。将自组织竞争的思想与有监督学习相 结合,这就是学习矢量量化网络(Learning Vector Quantization, LVQ) 。
>> title('hex拓扑')
>> set(gcf,'color','w')
6.自组织竞争网络相关函数详解
randtop——随机拓扑结构函数 :
pos=randtop(dim1,dim2,…,dimN) 神经元节点被安排在N维的空间中,节点的位置都是 随机给定的。
创建一个随机拓扑结构的自组织映射网络,并显示 网络结构
6.自组织竞争网络相关函数详解
newc——竞争网络
net=newc(P,S,KLR,CLR) P:R*Q矩阵,包含Q个R维的输入样本向量。 S:标量,表示输出层神经元个数。
KLR:Kohonen学习率,默认值为 0.01
CLR:“良心”学习率,默认值为 0.001
6.自组织竞争网络相关函数详解
使用竞争神经网络将4个坐标点分为两类
自组织映射网络除了能学习输入样本的 分布外,还能够识别输入向量的拓扑结构
3.自组织特征映射网络
自组织神经网络同样包含输入层、输出层两层网络,但在输出层引入网络 的拓扑结构,以更好地模拟生物学中的侧抑制现象。
...
Y j f xiij i
输入神经元与输出神经元通过权值相连,同时,近邻的输出神经元 之间也通过权值向量相连。输出神经元被放置在一维、二维甚至多 维的网格节点中,最常见的是二维拓扑结构。
>> net = selforgmap([8 5],'topologyFcn','gridtop'); >> plotsomtop(net) % 显示网络
6.自组织竞争网络相关函数详解
hextop——六边形拓扑函数
pos=hextop(dim1,dim2,…,dimN) 显示三维六边形拓扑结构。 >> pos = hextop(3,4,2); >> pos >> plot3(pos(1,:),pos(2,:),pos(3,:),‘o’) % 显示节点位置 % 建立3*4的两层六边形
2.竞争神经网络的学习算法
内星学习规则
P 1
P2
P3
2
3 4
1
Y
Pr
内星模型训练的目标是使得神经元只对某些特定的输入向量产生 兴奋。这一点是通过连接权值的逐步调整得到的。
ij Pi ij Y
随机权值中有一个被激活,其权值按上式向输入样本的方向 调整,会变得越来越“像”输入样本 如果对内星模型输入多个样本进行训练,最终得到的网络权 值趋近于各输入向量的平均值。
6.自组织竞争网络相关函数详解
newsom——自组织特征映射网络 net=newsom(P,[d1,d2,…],tfcn,dfcn,steps,in) P:R*Q矩阵,包含Q个典型的R维输入向量 di:拓扑结构中第i维的大小。默认值为 [5,8]
显示自组织映射网络与竞争神经网络的结构差别 >> net1=competlayer(40); >> load simpleclass_dataset >> net2=newsom(simpleclassInputs,[5 8]); >> view(net1) >> view(net2) % 40个节点的竞争层
4. SOM的学习算法
竞争网络与SOM网络的主要区别在于: 在竞争神经网络中不存在核心层之间的相互连接,在更新权值时 采用了胜者全得的方式,每次只更新获胜神经元对应的连接权值; 而在自组织映射网络中,每个神经元附近一定邻域内的神经元也 会得到更新,较远的神经元则不更新,从而使几何上相近的神经元 变得更相似。
(1)欧氏距离
d
x1 y1
2
x2 y2 L xn yn
2
2
Z = dist(W,P) (2)boxdist函数用于求得的距离是向量个分量绝对差的最大值
d max x1 y1 , x2 y2 ,L , xn yn
(3)linkdist是newsom的默认距离函数
1
2
3
4
5
1
2
3
4
5
6
7
8
9
10
6
7
8
9
10
11
12
13
来自百度文库
14
15
11
12
13
14
15
16
17
18
19
20
16
17
18
19
20
21
22
23
24
25
21
22
23
24
25
4. SOM的学习算法
使用learnsom函数进行自组织映射网络的学习 。在learsom函 数学习过程中,学习率与邻域大小是可调的。在训练过程中分为 两个阶段进行调节:
>> P = [.2 .8 .1 .9; .3 .5 .4 .5]; >> plot(P(1,:),P(2,:),'o');
% 待分类坐标点 % 绘制坐标点 >> 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^','LineWidth',2) >> title('四个坐标点的分类结果') >> axis([0,1,0,1]) % 绘制分类结果
第8章 自组织竞争神经网络
编 者
Outline
1.竞争神经网络 2.竞争神经网络的学习算法 3.自组织特征映射网络 4. SOM的学习算法 5.学习矢量量化网络 6.自组织竞争网络相关函数详解 7.自组织竞争神经网络应用实例

1.竞争神经网络
采用竞争学习的规则即可构成最简单的竞争神经网络,在此基础 上,还发展了形形色色的自组织网络。
lr _ tuning 学习率有 lr _ order 、 lr _ tuning 两个给定的参考值,且 lr _ order , 邻域大小也有两个给定的参考值:nd _ max nd _ tuning
排序阶段:在排序阶段,随着迭代的进行,学习率从下降到, 邻域大小从下降到。在这个阶段,权值根据输入向量进行调整,使其 相对位置体现了输入样本的分布。 调整阶段:在这个阶段,学习率从开始以缓慢的速度下降,邻 域大小则保持为不变,以确保学习的稳定性
3.自组织特征映射网络
自组织特征映射网络(Self-Organizing Feature Maps,SOFM)又称 自组织映射网络(SOM)。自组织映射网络是一种竞争性神经网络,同 时引入了自组织特性。
自组织现象来源于人脑细胞的自组织性:大脑中不同区域有着不同的 作用,不同的感官输入由不同位置的脑细胞进行处理,这种特性不完全来 自遗传,更依赖于后天的学习和训练。
4. SOM的学习算法
(1)设定变量。 x
x1 , x2 ,L , xm
i k i1 k ,i 2 , k L ,in k
(2)初始化。权值使用较小的随机值进行初始 化,并对输入向量和权值都做归一化处理
x
x x
i k
LVQ是SOM网络的一种变形,它在原有两层结构的基础上增加了 线性层,竞争层得到的类别称为子类,输出层又称线性层,线性层的 类别标签是由导师信号给出的,是目标分类。
X1 X2
. . .
Y1 Y2
XN
输入层 竞争层 线性层
6.自组织竞争网络相关函数详解
gridtop——网格拓扑函数 pos=gridtop(dim1,dim2,…,dimN) gridtop(2,3,4)表示 2 3 4 的三维 拓扑结构 用gridtop创建一个包含40个输出层神经元节点的 网格,并输入到selforgmap函数中。 >> pos = gridtop(8,5); >> pos % 创建网格 % 神经元的坐标
>> pos = randtop(8,5); >> rng(2) % 设置随机数种子
>> net = selforgmap([8 5],'topologyFcn','randtop'); >> plotsomtop(net)
6.自组织竞争网络相关函数详解
tritop——三角拓扑函数 pos=tritop(dim1,dim2,…,dimN)

(4)Manhattan距离,即曼哈顿距离,也就是出租车几何距离,相当 于向量之差的1-范数。
d x1 y1 x2 y2 L xn yn
6.自组织竞争网络相关函数详解
网络中输入层包含3个神经元,输出层包含4个神经元,给定一个 三维输入向量,计算其与各个输出神经元对应权值之间的欧氏距离。 网络中输入层包含3个神经元,输出层包含4个神经元,给定一个 三维输入向量,计算其与各个输出神经元对应权值之间的欧氏距离。 >> rng(0) >> W = rand(4,3) >> P = rand(3,1) >> Z1 = dist(W,P) % 权值矩阵 % 输入列向量
神经元节点被安排在N维的空间中,节点按三 角形的形状排列。
>> pos = tritop(8,5); >> net = selforgmap([8 5],'topologyFcn','tritop'); >> plotsomtop(net) % 三角拓扑函数
6.自组织竞争网络相关函数详解
dist、boxdist、linkdist、mandist——距离函数
2.竞争神经网络的学习算法
Kohonen学习规则
竞争神经网络采用的Kohonen学习规则是从内星学习规则发展而来的。 阈值学习规则 在竞争型神经网络中,有可能某些神经元始终无法赢得竞争,其 初始值偏离所有样本向量,因此无论训练多久都无法成为获胜神经 元。这种神经元称为“死神经元”。
可以给很少获胜的神经元以较大的阈值,使其在输入向量与权值相 似性不太高的情况下也有可能获胜;而对那些经常获胜的神经元则 给以较小的阈值 。有效解决了“死神经元”问题。
相关文档
最新文档