这篇文章主要介绍“matlab离散Hopfield神经网络的概念是什么”,在日常操作中,相信很多人在matlab离散Hopfield神经网络的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”matlab离散Hopfield神经网络的概念是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1982年,J.Hopfield 提出了可用作联想存储器的互连网络,这个网络称为 Hopfield 网络模型,也称 Hopfield 模型。Hopfield 神经网络模型是一种循环神经网络,从输出到输入有反馈连接。Hopfield 网络有离散型和连续型两种。
反馈神经网络由于其输出端有反馈到其输入端;所以,Hopfield 网络在输入的激励下,会产生不断的状态变化。当有输入之后,可以求取出Hopfield 的输出,这个输出反馈到输入从而产生新的输出,这个反馈过程一直进行下去。如果Hopfield 网络是一个能收敛的稳定网络,则这个反馈与迭代的计算过程所产生的变化越来越小,一旦到达了稳定平衡状态;那么Hopfield 网络就会输出一个稳定的恒值。对于一个Hopfield 网络来说,关键是在于确定它在稳定条件下的权系数。
%% 清空环境变量
clc
clear
%% 数据导入
load data1 array_one
load data2 array_two
%% 训练样本(目标向量)
T=[array_one;array_two]';
%% 创建网络
net=newhop(T);
%% 数字1和2的带噪声数字点阵(固定法)
load data1_noisy noisy_array_one
load data2_noisy noisy_array_two
%% 数字识别
noisy_one={(noisy_array_one)'};
identify_one=sim(net,{10,10},{},noisy_one);
identify_one{10}';
noisy_two={(noisy_array_two)'};
identify_two=sim(net,{10,10},{},noisy_two);
identify_two{10}';
%% 结果显示
Array_one=imresize(array_one,20);
subplot(3,2,1)
imshow(Array_one)
title('标准(数字1)')
Array_two=imresize(array_two,20);
subplot(3,2,2)
imshow(Array_two)
title('标准(数字2)')
subplot(3,2,3)
Noisy_array_one=imresize(noisy_array_one,20);
imshow(Noisy_array_one)
title('噪声(数字1)')
subplot(3,2,4)
Noisy_array_two=imresize(noisy_array_two,20);
imshow(Noisy_array_two)
title('噪声(数字2)')
subplot(3,2,5)
imshow(imresize(identify_one{10}',20))
title('识别(数字1)')
subplot(3,2,6)
imshow(imresize(identify_two{10}',20))
title('识别(数字2)')
到此,关于“matlab离散Hopfield神经网络的概念是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。