霍普菲尔得神经网络(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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧