温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-01-14 10:35:48 来源:亿速云 阅读:293 作者:iii 栏目:大数据

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

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

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

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

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

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

%% 清空环境变量

clear

clc

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

%% 导入数据

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);

%% 绘图

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI