本文小编为大家详细介绍“matlab怎么实现离散Hopfield神经网络的分类”,内容详细,步骤清晰,细节处理妥当,希望这篇“matlab怎么实现离散Hopfield神经网络的分类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
MATLAB神经网络工具箱中newhop()函数采用的权值修正法是正交化法,不是采用前面的外积法。通过正交化法设计Hopfield神经网络权系数矩阵:
保证系统在一部工作室的稳定性,即它的权值是对称的;
保证所有要求记忆的稳定平衡点都能收敛到自己;
使伪稳定点的数目尽可能地少;
使稳定点的吸引力尽可能地大。
%% 清空环境变量
clear
clc
%% 导入数据
load class.mat
%% 目标向量
T=[class_1 class_2 class_3 class_4 class_5];
%% 创建网络
net=newhop(T);
%% 导入待分类样本
load sim.mat
A={[sim_1 sim_2 sim_3 sim_4 sim_5]};
%% 网络仿真
Y=sim(net,{25 20},{},A);
%% 结果显示
Y1=Y{20}(:,1:5);
Y2=Y{20}(:,6:10);
Y3=Y{20}(:,11:15);
Y4=Y{20}(:,16:20);
Y5=Y{20}(:,21:25);
%% 绘图
result={T;A{1};Y{20}};
figure
for p=1:3
for k=1:5
subplot(3,5,(p-1)*5+k)
temp=result{p}(:,(k-1)*5+1:k*5);
[m,n]=size(temp);
for i=1:m
for j=1:n
if temp(i,j)>0
plot(j,m-i,'ko','MarkerFaceColor','k');
else
plot(j,m-i,'ko');
end
hold on
end
end
axis([0 6 0 12])
axis off
if p==1
title(['class' num2str(k)])
elseif p==2
title(['pre-sim' num2str(k)])
else
title(['sim' num2str(k)])
end
end
end
%
noisy=[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];
y=sim(net,{5 100},{},{noisy});
a=y{100};
读到这里,这篇“matlab怎么实现离散Hopfield神经网络的分类”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。