1、可以调用MATLAB工具箱里的函数创建竞争性神经网络:  主要进行分类:

newc(p,s,KLR,CLR)   --------------------------------------p表示输入的范围,

s-------------------------------表示神经元的个数                KLR表示Kohonen学习速率,-------------------------------CLR表示Conscience的学习速率

<span style="font-size:18px;">p=[0.1 0.8 0.1 0.9;0.2 0.9 0.1 0.8];net=newc([0 1;0 1],2);
net.iw{1,1}
net.b{1}</span>

该网络的训练:

<span style="font-size:18px;">p = [.1 .8 .1 .9; .2 .9 .1 .8]net = newc([0 1; 0 1],2);wts = net.IW{1,1}biases = net.b{1}net.trainFcnnet.trainParam.epochs = 500;
net = train(net,p);a = sim(net,p)
ac = vec2ind(a)</span>

2、自组织特征映射类型的神经网络

net=newsom(p,[d1 d2 .....],tfcn,dfcn,steps,in)

p表示输入向量,di表示第i层大小,,默认[5 8], tfcn表示网络的拓扑结构,默认的是hextop,   dfcn表示网络的距离函数,默认的是linkdist

step表示调整阶段的邻域变为1的步骤,默认100, in表示初始网络的大小,默认3

SOFM网络的建立:

<span style="font-size:18px;">net = newsom([0 2; 0 1],[2 3]);P = [.1 .3 1.2 1.1 1.8 1.7 .1 .3 1.2 1.1 1.8 1.7;...
0.2 0.1 0.3 0.1 0.3 0.2 1.8 1.8 1.9 1.9 1.7 1.8]plot(P(1,:),P(2,:),'o','markersize',8)
hold on
plotsom(net.iw{1,1},net.layers{1}.distances)
hold offnet.iw{1,1}</span>

网络的训练:

<span style="font-size:18px;">net = newsom([0 2; 0 1],[2 3]);P = [.1 .3 1.2 1.1 1.8 1.7 .1 .3 1.2 1.1 1.8 1.7;...
0.2 0.1 0.3 0.1 0.3 0.2 1.8 1.8 1.9 1.9 1.7 1.8]plot(P(1,:),P(2,:),'o','markersize',8)
hold on
plotsom(net.iw{1,1},net.layers{1}.distances)
hold offnet.iw{1,1}net.trainParam.epochs = 1000;
net = train(net,P);plotsom(net.iw{1,1},net.layers{1}.distances)</span>

LVQ神经网络

主要用于模式分类:

netnewlvq(pr,sl,pc,ir,if)

pr表示R*2的矩阵,代表输入向量元素的最大值和最小值

s1表示隐含层的神经元数目;

pc为二元向量,表示典型的类别权重百分比;

ir表示学习速度

if学习函数

<span style="font-size:18px;">P = [-3 -2 -2 0 0 0 0 2 2 3; 0 1 -1 2 1 -1 -2 1 -1 0],
Tc = [1 1 1 2 2 2 2 1 1 1],plotvec(P,Tc,'*'),T = ind2vec(Tc);%稀疏矩阵targets = full(T)   %对稀疏矩阵进行填充net = newlvq(P,4,[.6 .4]);  %表示第二层的权值重60的对应着targets第一行的元素1,40对应着第二行元素1net.IW{1,1}net.LW{2,1}Y = sim(net,P);
Yc = vec2ind(Y)
</span>

竞争性网络的一个分类:

<span style="font-size:18px;">X = [0 1; 0 1];   % 定义输入类别范围
clusters = 8;     % 类别数目
points = 10;      % 每一类中的样本数
std_dev = 0.05;   % 每一类的标准差
P = nngenc(X,clusters,points,std_dev);    %生成输入样本向量系列plot(P(1,:),P(2,:),'+r');
title('Input Vectors');
xlabel('p(1)');
ylabel('p(2)');net = newc([0 1;0 1],8,.1);
w = net.IW{1};
plot(P(1,:),P(2,:),'+r');
hold on;
circles = plot(w(:,1),w(:,2),'ob');net.trainParam.epochs = 7;
net = train(net,P);
w = net.IW{1};
delete(circles);
plot(w(:,1),w(:,2),'ob');p = [0; 0.2];
a = sim(net,p)
</span>

自组织特征映射网络的实验:

<span style="font-size:18px;">angles = 0:0.5*pi/99:0.5*pi;
P = [sin(angles); cos(angles)];
plot(P(1,:),P(2,:),'+r')net = newsom([0 1;0 1],[10]);net.trainParam.epochs = 10;
net = train(net,P);plotsom(net.iw{1,1},net.layers{1}.distances)p = [1;0];
a = sim(net,p)
</span>

LVQ神经网络的运用:分类:

<span style="font-size:18px;">P = [-3 -2 -2  0  0  0  0 +2 +2 +3;0 +1 -1 +2 +1 -1 -2 +1 -1  0];
C = [1 1 1 2 2 2 2 1 1 1];
T = ind2vec(C);cla
for i=1:10
if(C(i)==1)
plot(P(1,i),P(2,i),'+')
hold on;
else
plot(P(1,i),P(2,i),'o')
hold on;
end
endnet = newlvq(minmax(P),4,[.6 .4],0.1);hold on
W1 = net.IW{1};
plot(W1(1,1),W1(1,2),'*')
title('Input/Weight Vectors');
xlabel('P(1), W(1)');
ylabel('P(2), W(3)');net.trainParam.epochs=150;
net=train(net,P,T);W1 = net.IW{1};
W2 = vec2ind(net.IW{1});cla;
for i=1:10
if(C(i)==1)
plot(P(1,i),P(2,i),'+')
hold on;
else
plot(P(1,i),P(2,i),'o')
hold on;
end
end
for i=1:4
if(W2(i)==1)
plot(W1(i, 1),W1(i, 2),'*')
hold on;
else
plot(W1(i, 1),W1(i, 2),'.')
hold on;
end
endp = [0.2; 1];
a = vec2ind(sim(net,p)),
</span>

自组织神经网络的实现相关推荐

  1. 自组织神经网络SOM——MATLAB

    Kohonen网络的拓扑结构 下图是1维和2维的两个SOM网络示意图. 网络上层为输出结点(假设为m个),按二维形式排成一个结点矩阵. 输入结点处于下方,若输入向量由n个元素,则输入端共有n个结点. ...

  2. SOM自组织神经网络

    SOM自组织神经网络是神经网络的一种.个人感觉属于仿生学的一种方法.这种网络是基于生理学和脑科学研究成果提出的.与前向神经网络不同,它是一种无监督的学习.适用于数据聚类. 应用:数据聚类,数据降维(如 ...

  3. 自组织神经网络:Kohonen网络训练算法

    自组织神经网络:Kohonen网络训练算法   Kohonen网络的拓扑结构    网络上层为输出结点(假设为m个),按二维形式排成一个结点矩阵. 输入结点处于下方,若输入向量由n个元素,则输入端共有 ...

  4. 大脑神经网络是如何形成的,大脑自组织神经网络

    人的大脑装入多少知识,生理前后会发生怎样变化? 大脑装入知识在于记忆,而记忆的关键是神经元突触形成和重构,因此记忆分近期记忆和远期记忆,而记忆又有不断的加强或者逐渐遗忘,生理的变化在于神经元突触. 对 ...

  5. 自组织神经网络SOM原理——结合例子MATLAB实现

    本文主要内容为SOM神经网络原理的介绍,并结合实例给出相应的MATLAB代码实现,方便初学者接触学习,本人才疏学浅,如有纰漏,还望各路大神积极指点. 一.SOM神经网络介绍 自组织映射神经网络, 即S ...

  6. 自组织神经网络SOM算法对Iris数据集进行聚类的matlab实现

    SOM算法原理 SOM算法是一种将高维数据通过两层神经网络(输入层和竞争层)映射至用户定义的拓扑结构中,一般常用2D矩阵拓扑结构.下图是对SOM的形象展示: 所以算法一般分为以下几步: 第一:用户自定 ...

  7. 自组织神经网络聚类算法,神经网络聚类预测分析

    1.bp神经网络 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经 ...

  8. 自组织(竞争型)神经网络

    1.背景:自组织(竞争型)神经网络 SOM是一种自组织(竞争型)神经网络,除了SOM外,其他常见的自组织(竞争型)神经网络还有对偶传播(Counter propagation)网络,自适应共振理论(A ...

  9. 经典神经网络分类器之BP算法和自组织竞争网络

    经典神经网络分类器 感知器 感知器学习算法是误分类驱动的在线学习算法,任意选取一个具有参数的分离超平面,采用随机梯度下降法不断极小化损失函数,多次迭代训练得到感知器参数w b. 定义损失函数(训练样本 ...

最新文章

  1. socket recv 服务端阻塞 python_网络编程(基于socket编程)
  2. 网络故障排除工具NeoTraceProTrial325
  3. python 装饰器 参数-如何将额外的参数传递给Python装饰器?
  4. js中的鼠标滚轮事件
  5. 使用ffmpeg视频切片并加密
  6. kafka依赖_kafka的简单学习
  7. Ubuntu 10.10用LibreOffice替换OpenOffice
  8. java中注解操作redis_spring boot —— redis 缓存注解使用教程
  9. java中osend,如何从java o javafx向windows任务栏发送信息
  10. 生活,不求深刻,只求简单。
  11. 计算机组成第五章课后答案,计算机组成原理第5章部分习题参考答案
  12. Linux系统,Hadoop,R语言,RHadoop的安装
  13. U盘因为有写保护,不能格式化,该怎么办
  14. 【C/C++】多线程中的几种锁
  15. DarkComet RAT简介
  16. 第7-5课:格式化文件读写与 PCX 图像文件
  17. Linux命令:reboot
  18. 图片加载oom以及photoView缩放崩溃问题
  19. One Mathematic Problem
  20. access字段相加_access如何对一行的几列求和

热门文章

  1. vs2005编译DNW050A
  2. 尚硅谷spring和spring boot笔记_手机标准内存达12G,比笔记本电脑还高!可为何系统总能占一半?...
  3. Windows最经典应用大变脸:学生爽翻!
  4. requests记录
  5. Linux集群架构(下)——DR模式、keepalived+LVS
  6. Objective-C:三种文件导入的方式以及atomic和nonatomic的区别
  7. windows ubuntu Android studio安装好启动没反应解决方法
  8. Skin设计小组新作品发布—绿草蓝天
  9. 浅析Java内存模型--ClassLoader
  10. vc应用CPictureEx类(重载CStatic类)加载gif动画