千家信息网

matlab怎么实现离散Hopfield神经网络的分类

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本文小编为大家详细介绍"matlab怎么实现离散Hopfield神经网络的分类",内容详细,步骤清晰,细节处理妥当,希望这篇"matlab怎么实现离散Hopfield神经网络的分类"文章能帮助大家解决
千家信息网最后更新 2025年02月02日matlab怎么实现离散Hopfield神经网络的分类

本文小编为大家详细介绍"matlab怎么实现离散Hopfield神经网络的分类",内容详细,步骤清晰,细节处理妥当,希望这篇"matlab怎么实现离散Hopfield神经网络的分类"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

MATLAB神经网络工具箱中newhop()函数采用的权值修正法是正交化法,不是采用前面的外积法。通过正交化法设计Hopfield神经网络权系数矩阵:

  1. 保证系统在一部工作室的稳定性,即它的权值是对称的;

  2. 保证所有要求记忆的稳定平衡点都能收敛到自己;

  3. 使伪稳定点的数目尽可能地少;

  4. 使稳定点的吸引力尽可能地大。

%% 清空环境变量

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神经网络的分类"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

0