霍普菲尔得神经网络(Hopfield Neural Network)
设计一个反馈网络存储下列目标平衡点:
T = [ 1 -1; -1 1 ];
并用6组任意随机初始列矢量,包括一组在目标平衡点连线的垂直平分线上的一点作为输入矢量对所设计的网络的平衡点进行测试,观察3次循环的每一次的输出结果。给出最后收敛到各自平衡点(或不稳定的平衡点)结果的次数。
采用正交化方法设计的霍普菲尔德网络结构,如下图:
通过net=newhop(T);操作可得网络的权值和偏差为:
可见权值是对称的。
现在选取6组任意随机初始列矢量,并调整其中一组在目标平衡点连线的垂直平分线上,如下:
循环迭代60次效果如下图所示:
其中(0.5000,0.5000)点60次迭代收敛至不稳定平衡点(0,0),当迭代次数增大至1000时能改变这种情况。
最终收敛情况如下:


- T=[1 -1;-1 1];
- P=[ 0.8147 -0.1270 0.6324 0.5000 -0.9575 0.1576;
- 0.9058 0.9134 -0.0975 0.5000 0.9649 -0.9706];
- net=newhop(T);
- W=net.lw{1,1}
- b=net.b{1}
- plot(T(1,:),T(2,:),'r*');
- axis([-1 1 -1 1])
- max_epoes =1000;
- [Y,Pf,Af] = sim(net,{6,max_epoes},[],P);
- plot(T(1,:),T(2,:),'*y');
- hold on
- plot(P(1,:),P(2,:),'+');
- hold on
- A=zeros(2,max_epoes+1);
- for i=1:6
- for n=2:(max_epoes+1)
- A(1,n)=Y{n-1}(1,i);
- A(2,n)=Y{n-1}(2,i);
- hold on
- end
- A(1,1)=P(1,i);
- A(2,1)=P(2,i);
- title('Hopfield Network State Space')
- plot(A(1,:),A(2,:),'*-')
- end
- % for i=1:30
- % A=sim(net,P);
- % P=A;
- % end
- % [a(1,i),aa(1,i)]
- % hold on
- % plot(aa(1,1),aa(2,1),'wx',aa(1,:),aa(2,:))
- % Y_fanal=zeros(60,6);
- % for i=1:30
- % [Y,Pf,Af] =net(6,[],P)
- % Y_fanal(i,:)=Y(1,:);
- % Y_fanal(i+1,:)=Y(2,:);
- % end
- % for i=1:6
- % for j=1:2:30
- % plot(Y_fanal(j,i),Y_fanal(j+1,i),'o-');
- % hold on
- % end
- % end
霍普菲尔得神经网络(Hopfield Neural Network)的更多相关文章
- Hopfield Network 霍普菲尔德网络入门
简介 Hopfield Network (霍普菲尔德网络),是 Hopfield 在1982年提出的一种基于能量的模型,发表的文章是 Neural networks and physical syst ...
- 递归神经网络(Recursive Neural Network, RNN)
信息往往还存在着诸如树结构.图结构等更复杂的结构.这就需要用到递归神经网络 (Recursive Neural Network, RNN),巧合的是递归神经网络的缩写和循环神经网络一样,也是RNN,递 ...
- 卷积神经网络(Convolutional Neural Network, CNN)简析
目录 1 神经网络 2 卷积神经网络 2.1 局部感知 2.2 参数共享 2.3 多卷积核 2.4 Down-pooling 2.5 多层卷积 3 ImageNet-2010网络结构 4 DeepID ...
- 深度学习FPGA实现基础知识10(Deep Learning(深度学习)卷积神经网络(Convolutional Neural Network,CNN))
需求说明:深度学习FPGA实现知识储备 来自:http://blog.csdn.net/stdcoutzyx/article/details/41596663 说明:图文并茂,言简意赅. 自今年七月份 ...
- 人工神经网络 Artificial Neural Network
2017-12-18 23:42:33 一.什么是深度学习 深度学习(deep neural network)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高 ...
- [C4] 前馈神经网络(Feedforward Neural Network)
前馈神经网络(Feedforward Neural Network - BP) 常见的前馈神经网络 感知器网络 感知器(又叫感知机)是最简单的前馈网络,它主要用于模式分类,也可用在基于模式分类的学习控 ...
- 详解循环神经网络(Recurrent Neural Network)
本文结构: 模型 训练算法 基于 RNN 的语言模型例子 代码实现 1. 模型 和全连接网络的区别 更细致到向量级的连接图 为什么循环神经网络可以往前看任意多个输入值 循环神经网络种类繁多,今天只看最 ...
- 【原创】深度神经网络(Deep Neural Network, DNN)
线性模型通过特征间的现行组合来表达“结果-特征集合”之间的对应关系.由于线性模型的表达能力有限,在实践中,只能通过增加“特征计算”的复杂度来优化模型.比如,在广告CTR预估应用中,除了“标题长度.描述 ...
- 脉冲神经网络Spiking neural network
(原文地址:维基百科) 简单介绍: 脉冲神经网络Spiking neuralnetworks (SNNs)是第三代神经网络模型,其模拟神经元更加接近实际,除此之外,把时间信息的影响也考虑当中.思路是这 ...
随机推荐
- Java多线程——实现
"java多线程的实现--几乎都要和java.lang.Thread打交道" 方式一:继承于Thread类 1.创建一个继承于Thread类的子类 2.重写Thread类的run( ...
- LeetCode数组刷题——448、48、240、769
1.[LeetCode448]:448. 找到所有数组中消失的数字 题目分析: 1-n之间有重复的,有没出现的,有出现一次.使用hashmap,空间复杂度为O(n) 方法一:哈希表,但是空间复杂度超过 ...
- Python自定义排序及我实际遇到的一些题目实例
写在前面,本文主要介绍Python基础排序和自定义排序的一些规则,如果都比较熟悉,可以直接翻到第三节,看下实际的笔试面试题中关于自定义排序的应用. 一.基础排序 排序是比较基础的算法,与很多语言一样, ...
- ansible中的playbook脚本的介绍与使用
playbook的数据结构,遵循yaml 后缀名为yaml或者yml,这两个后缀名没有区别 字典{key:value} 列表[]或者- - alex - wusir - yantao - yuchao ...
- PowerJob高级特效-容器部署完整教程
介绍 powerjob提供了容器功能,用来做一些灵活的任务处理.这里容器为 JVM 级容器,而不是操作系统级容器(Docker).(至于为什么取"容器"这个有歧义的名字是因为作者没 ...
- 一条Sql的执行过程
一条sql内部是如何执行的: 学习MySQL实战45专栏 sql中的内部执行图: 可以分为两部分:server和存储引擎 server层包含: 连接器.分析器.优化器.执行器,涵盖了MySQL大多数核 ...
- 理解 Object.defineProperty
理解 Object.defineProperty 本文写于 2020 年 10 月 13 日 Object.defineProperty 用于在一个对象上定义新的属性或修改现有属性并返回该对象. 什么 ...
- 用c语言调用Easy X实现图像的输出,附带音乐的读取
要实现此功能需要用EasyX 一.下载VS编译环境和EasyX. ①Vs2019https://iwx.mail.qq.com/ftn/download?func=3&key=9e9b6c33 ...
- 机构:DARPA
DARPA,美国国防部高级研究计划局. 2021年3月19日,英特尔(Intel)宣布与美国国防部高级研究计划局(DARPA)达成的一项新合作,旨在推动在美制造的专用集成电路(ASIC)芯片的开发. ...
- unity---摄像机参数
2D游戏一般选择填充,减少性能浪费,也一般选择正交模式 Fiel of View 类似望远镜的效果 Clipping Planes 摄像机开始摄像和结束,两个平面的位置 Depth 决定摄像头的优先级 ...