神经网络系列讲解之离散型Hopfield网络
来源:互联网 发布:什么是数据存储 编辑:程序博客网 时间:2024/06/06 03:57
这个真心不错,有sim函数的介绍,连我借的图书馆的书上介绍的都很少,只知道粘程序。。。
转自http://www.matlabsky.com/thread-9234-1-1.html
Hopfield网络及学习算法最初是由美国物理学家J.J Hopfield于1982年首先提出的,曾经为人工神经网络的发展进程开辟了新的研究途径。它利用与阶层型神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。
Hopfield最早提出的网络是二值神经网络,神经元的输出只取1和0,所以,也称离散Hopfield神经网络(Discrete Hopfield Neural Network,DHNN)。在离散Hopfield网络中,所采用的神经元是二值神经元,因此,所输出的离散值1和0分别表示神经元处于激活和抑制状 态。
离散型Hopfield神经网络的结构如下图所示。
从DHNN的结构可以看出:它是一种多输入、含有阈值的二值非线性动态系统。在动态系统中,平衡稳定状态可以理解为系统某种形式的能量函数在系统运动过程 中,其能量值不断减小,最后处于最小值。Coben和Grossberg在1983年给出了关于Hopfield网络稳定的充分条件,他们指出:如果 Hopfield网络的权系数矩阵是一个对称矩阵,并且对角线元素为0,则这个网络是稳定的。应该指出,这只是Hopfield网络稳定的充分条件,而不 是必要条件。在实际中有很多稳定的Hopfield网络,但是它们并不满足权系数矩阵 是对称矩阵这一条件。
第二部分 工具箱讲解
Hopfield神经网络工具箱主要包括newhop和sim函数。
1 newhop
函数功能:创建一个离散型Hopfield网络。
调用格式:net=newhop(T);
T:具有Q个目标向量的R*Q矩阵(元素必须为-1或1);
net:生成的神经网络,具有在T中的向量上稳定的点。
2 sim
函数功能:对训练好的神经网络进行仿真。
调用格式:[Y,Af,E,perf] = sim(net,P,Ai,T)
[Y,Af,E,perf] = sim(net,{Q TS},Ai,T)
P,Q:测试向量的个数;
Ai:初始的层延时,默认为0;
T:测试向量;
TS:测试的步数;
Y:网络的输出矢量;
Af:训练终止时的层延迟状态;
E:误差矢量;
perf:网络的性能。
说明:函数中用到的参数采取了两种不同的形式进行表示:矩阵和元胞数组。矩阵的形式只用于仿真的时间步长TS=1的场合,元胞数组形式常用于一些没有输入信号的神经网络。
第三部分 程序示范
转自http://www.matlabsky.com/thread-9234-1-1.html
Hopfield网络及学习算法最初是由美国物理学家J.J Hopfield于1982年首先提出的,曾经为人工神经网络的发展进程开辟了新的研究途径。它利用与阶层型神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。
第二部分 工具箱讲解
Hopfield神经网络工具箱主要包括newhop和sim函数。
1 newhop
函数功能:创建一个离散型Hopfield网络。
调用格式:net=newhop(T);
T:具有Q个目标向量的R*Q矩阵(元素必须为-1或1);
net:生成的神经网络,具有在T中的向量上稳定的点。
2 sim
函数功能:对训练好的神经网络进行仿真。
调用格式:[Y,Af,E,perf] = sim(net,P,Ai,T)
P,Q:测试向量的个数;
Ai:初始的层延时,默认为0;
T:测试向量;
TS:测试的步数;
Y:网络的输出矢量;
Af:训练终止时的层延迟状态;
E:误差矢量;
perf:网络的性能。
说明:函数中用到的参数采取了两种不同的形式进行表示:矩阵和元胞数组。矩阵的形式只用于仿真的时间步长TS=1的场合,元胞数组形式常用于一些没有输入信号的神经网络。
第三部分 程序示范
- % ------------------------------number array---------------------------------
- one=[-1 -1 -1 -1 -1 -1 -1 -1 -1 -1;...
-
-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -
-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -
-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -
-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -
-1 -1 -1 -1 1 1 -1 -1 -1 -1;-1 -1 -1 -1 1 1 -1 -1 -1 -1;... -
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1]; - two=[-1 -1 -1 -1 -1 -1 -1 -1 -1 -1;...
-
-1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1;... -
-1 -1 -1 -1 -1 -1 -1 1 1 -1;-1 -1 -1 -1 -1 -1 -1 1 1 -1;... -
-1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1;... -
-1 1 1 -1 -1 -1 -1 -1 -1 -1;-1 1 1 -1 -1 -1 -1 -1 -1 -1;... -
-1 1 1 1 1 1 1 1 1 -1;-1 1 1 1 1 1 1 1 1 -1;... -
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1]; - %
--------------------------plot standard number figure-------------- - subplot(2,3,1)
- imshow(imresize(one,20))
- title('standard number')
- subplot(2,3,4)
- imshow(imresize(two,20))
- title('standard number')
- % ---------------------------creat hopfield net---------------------
- T=[one;two]';
- net=newhop(T);
- % --------------------------generate rand noise------------------
- for i=2:11
-
for j=2:9 -
a=rand; -
if a<=0.1 -
one(i,j)=-one(i,j); -
two(i,j)=-two(i,j); -
end -
end - end
- noise_one=one
- noise_two=two
- % -------------------------plot noise figure----------------------------
- subplot(2,3,2)
- imshow(imresize(noise_one,20))
- title('noise number')
- subplot(2,3,5)
- imshow(imresize(noise_two,20))
- title('noise number')
- % ------------------------plot identify figure---------------------------
- noise1={(noise_one)'};
- tu1=sim(net,{12,3},{},noise1);
- tu1{3}'
- subplot(2,3,3)
- imshow(imresize(tu1{3}',20))
- title('identify number')
- noise2={(noise_two)'};
- tu2=sim(net,{12,3},{},noise2);
- tu2{3}'
- subplot(2,3,6)
- imshow(imresize(tu2{3}',20))
- title('identify number')
阅读全文
0 0
- 神经网络系列讲解之离散型Hopfield网络
- 神经网络系列讲解之离散型Hopfield网络
- 离散型Hopfield神经网络
- 离散Hopfield神经网络
- 神经网络6--离散Hopfield神经网络
- 反馈神经网络Hopfield网络
- 什么是离散的Hopfield网络?
- 系统学习机器学习之神经网络(九) --Hopfield网络
- 离散Hopfield神经网络的联想记忆
- 【神经网络学习笔记】基于离散Hopfield神经网络的数字识别
- 外积法设计离散型 Hopfield 神经网络的权系数矩阵_资料整理
- 外积法设计离散型 Hopfield 神经网络的权系数矩阵_资料整理
- 离散型Hopfield神经网络在联想和识别上的应用
- 如何利用离散Hopfield神经网络进行数字识别(1)
- 如何利用离散Hopfield神经网络进行数字识别(2)
- 实战——离散Hopfield神经网络的实现
- Hopfield神经网络
- Hopfield神经网络
- Javascript 中 include 文件
- 深入分析单例模式
- POJ 2689 Prime Distance
- Django进阶
- xposed的总开关
- 神经网络系列讲解之离散型Hopfield网络
- LeetCode-70-Climbing Stairs(爬楼梯)
- java-static和final
- 静态锁问题
- Form表单提交新窗口打开
- 规格模式,对象筛选
- JQuery的父、子、兄弟节点查找,节点的子节点循环
- 界面层bug笔记
- JAVA SE面试题 01