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

news2024/9/23 9:21:46

1 案例背景

1.1离散 Hopfield 神经网络学习规则

        离散型 Hopfield神经网络的结构、工作方式,稳定性等问题在第9章中已经进行了详细的介绍,此处不再赘述。本节将详细介绍离散Hopfield神经网络权系数矩阵的设计方法。设计权系数矩阵的目的是:
        ①保证系统在异步工作时的稳定性,即它的权值是对称的;

        ②保证所有要求记忆的稳定平衡点都能收敛到自己;
        ③使伪稳定点的数目尽可能地少;
        ④使稳定点的吸引力尽可能地大。
        常用的设计方法有:外积法和正交化法。

1.2高校科研能力评价概述

        科研能力是高校的核心能力,其高低已成为衡量一所高校综合实力的重要指标。科研能力的高低不仅影响高校自身的发展,对高校所在地区的经济发展也有很大的影响。如何准确评价高校的科研能力已成为摆在政府、企业和高校面前的一个十分重要的问题。影响科研能力的因素众多,且互相交叉,互相渗透和互相影响,无法用确定的数学模型进行描述。目前,高校科研能力评价的方法很多,但普遍存在工作繁琐、时间滞后等缺点,且人为主观因素对评价结果有很大的影响。如何快速,准确地对众多高校的科研能力进行客观、公正地评价?这是一个目前亟待解决的问题。

1.3问题描述

        影响高校科研能力的因素很多,本书仅以较为重要的11个影响因素作为评价指标:科研队伍(X1)、科研基地(X2),科技学识及其相应的载体(图书情报资料)(X3)、科研经费(X4)、科研管理(X5),信息接收加工能力(X6)、学识积累与技术储备能力(X7)、科研技术创新能力(X8)、知识释放能力(X9)、自适应调节能力(X10)、科学决策能力(X11)。

        高校科研能力一般分为五个等级:很强(Ⅰ)、较强(Ⅱ)、一般(Ⅲ)、较差(Ⅳ)及很差(V)。某机构对20所高校的科研能力进行了调研和评价,试根据调研结果中较为重要的11个评价指标的数据,并结合离散Hopfield神经网络的联想记忆能力,建立离散 Hopfield高校科研能力评价模型。

2模型建立

2.1设计思路

        将若干个典型的分类等级所对应的评价指标设计为离散型 Hopfield神经网络的平衡点,Hopfield神经网络学习过程即为典型的分类等级的评价指标逐渐趋近于 Hopfield神经网络的平衡点的过程。学习完成后,Hopfield神经网络储存的平衡点即为各个分类等级所对应的评价指标。当有待分类的高校的评价指标输人时,Hopfield神经网络即利用其联想记忆的能力逐渐趋近于某个储存的平衡点,当状态不再改变时,此时平衡点所对应的便是待求的分类等级。

2.2设计步骤

        在设计思路的基础上,本案例的设计步骤主要包括如下5个步骤,如图10-1所示。

        1. 设计理想的等级评价指标
        本书所研究的 20 所高校的科研能力等 11 个评价指标之间的关系如表 10 -1所 列。

        将各个等级的样本对应的各评价指标的平均值作为各个等级的理想评价指标,即作为Hopfield神经网络的平衡点,如表10-2所列。

        2.理想的等级评价指标编码
        由于离散型Hopfield神经网络神经元的状态只有l和一l两种情况,所以将评价指标映射为神经元的状态时,需要将其进行编码。编码规则为:当大于或等于某个等级的指标值时,对应的神经元状态设为“1”,否则设为“一1”。理想的5个等级评价指标编码如图10-2所示.其中●表示神经元状态为“1”,即大于或等于对应等级的理想评价指标值,反之则用O表示。

        3.待分类的等级评价指标编码
        5所待分类的高校等级评价指标如表10-3所列,根据上述的编码规则得到对应的编码,如图10-3所示。

         4.创建网络
        设计好理想的5个等级评价指标及编码后,即可利用MATLAB自带的神经网络工具箱函数创建离散型 Hopfield神经网络。
        5.仿真、分析
        网络创建完毕后,将待分类的5所高校等级评价指标的编码作为Hopfield神经网络的输人,经过一定次数的学习,便可以得到仿真结果。将仿真结果与真实的等级进行比较,可以对该模型进行合理的评价。

3 MATLAB 实现

        利用MATLAB神经网络工具箱提供的函数,将设计步骤在MATLAB环境下实现。

%% 离散Hopfield的分类——高校科研能力评价

%% 清空环境变量
clear all
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}

        仿真结果如图10-4所示。其中,第一行与图10-2相对应,表示5个理想的等级评价指标编码;第二行与图10-3相对应,表示5所待分类的高校等级评价指标编码;第三行为设计的 Hopfield神经网络分类的结果。从图中可以清晰地看出,设计的Hopfield网络可以有效地进行分类,从而可以对高校的科研能力进行客观公正地评价。

4案例扩展

        值得注意的是,本书中所设计的离散型 Hopfield神经网络并非适用于任何场合。当某所高校的优势与劣势并存且相当明显(即一些影响因素得分很高,一些影响因素得分很低)时,Hopfield神经网络将得不到确切的分类。:

% 案例扩展(无法分辨情况)
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}

        如图10-5所示,从仿真结果中可以看出,其不属于五种典型等级类别即意味着所设计的Hopfield神经网络寻找不到与之最为接近的平衡点,因此无法将其正确分类。在这一点上,和专家打分法的结果是一致的。

5.完整代码

https://download.csdn.net/download/weixin_44209907/88162199

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/834242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Consul实战

Consul实战 什么是Consul Consul是一种为分布式系统提供服务发现、配置共享和健康检查的开源工具; 可以用来做微服务架构里的注册中心和配置中心。Consul的特定和功能有: 1.服务发现 consul允许微服务注册自己的实例到Consul, 并查询consul来获取可用的…

flex 弹性布局

Flex 布局的使用 任何一个容器都可以指定为 Flex 布局。 .box{ display: flex; //flex作为display的一个属性使用 } 行内元素也可以使用 Flex 布局。 .box{ display: inline-flex; } 注意:设为 Flex 布局以后,子元素的float、clear和vertical-align…

jmeter使用步骤

jmeter 使用步骤 1,进入jmeter目录中的bin目录,双击jmeter.bat 打开 2,右键test plan 创建线程组 3,配置线程组参数 4,右键刚刚创建的线程组,创建请求,填写请求地址 5,需要携带to…

【力扣刷题 | 第二十四天】

目录 前言: 416. 分割等和子集 - 力扣(LeetCode) 总结 前言: 今晚我们爆刷动态规划类型的题目。 416. 分割等和子集 - 力扣(LeetCode) 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这…

MPP架构和Hadoop架构的区别

1. 架构的介绍 mpp架构是将许多数据库通过网络连接起来,相当于将一个个垂直系统横向连接,形成一个统一对外的服务的分布式数据库系统。每个节点由一个单机数据库系统独立管理和操作该物理机上的的所有资源(CPU,内存等&#xff09…

flask------消息闪现 flash

1介绍 flask提供了一个非常有用的flash()函数,它可以用来“闪现”需要提示给用户的消息,比如当用户登录成功后显示“欢迎回来!”。在视图函数调用flash()函数,传入消息内容,flash()函数把消息存…

【网络基础进阶之路】设计网络划分的实战详解

PS:本要求基于华为的eNSP模拟软件进行 具体要求: 完成步骤: 1、对192.168.1.0/24进行子网划分 2、对每一个路由器进行IP的配置 3、开始静态路由的书写,在写之前,我们可以先对每一个路由器写一条通向右边的缺省路由&…

【C++入门到精通】C++入门 —— 内存管理(new函数的讲解)

目录 一、C/C内存分布 1. 栈(Stack) 2. 堆(Heap) 3. 全局区/静态区(Global Area/Static Area) 4. 常量区(Constant Area) 5. 代码区(Code Area) 二、C…

【HAL库】STM32CubeMX开发----STM32F407----LAN8720A----移植FreeModbus实现ModbusTCP

前言 本次实验以 STM32F407VET6 芯片为MCU,使用 25MHz 外部时钟源。 以太网PHY层芯片为 LAN8720A,移植FreeModbus实现ModbusTCP网口通信。 具体内容参考文章:【HAL库】STM32CubeMX开发----STM32F407----ETHLAN8720ALWIP----ping通 本次移植…

基于开源模型搭建实时人脸识别系统(三):人脸关键点、对齐模型概览与模型选型

续 基于开源模型搭建实时人脸识别系统(二):人脸检测概览与模型选型_CodingInCV的博客-CSDN博客 摘要 人脸对齐(face alignment)或者人脸关键点(face alignment)是定位人脸上的关键点&#xff…

chatGLM 本地部署(windows+linux)

chatGLM算是个相对友好的模型,支持中英文双语的对话交流,清华出的 我的教程无需特别的网络设置,不过部分情况因为国内网络速度慢,需要反复重复 chatGLM github地址 一、硬件需求 N卡8G显存以上,最好16G以上&#xff…

redis 集群 1:李代桃僵 —— Sentinel

目前我们讲的 Redis 还只是主从方案,最终一致性。读者们可思考过,如果主节点凌晨 3 点突发宕机怎么办?就坐等运维从床上爬起来,然后手工进行从主切换,再通知所有的程序把地址统统改一遍重新上线么?毫无疑问…

电路暂态过程

本文仅提取了课程的部分内容,原视频课程如下:姜三勇《电工学》暂态过程 电路暂态过程——产生的原因: 1、内部原因:电路内部含有储能元件(如:电容、电感),其中存储的能量不能发生改…

vscode如何退出/切换 github 账号

退出/切换 github 账号 左下角点击头像按钮,选择注销,然后再重新登录

GateOne任意文件读取

人的生命力,是在痛苦的煎熬中强大起来的。 简介 GateOne 是一款使用 HTML5 技术编写的网页版 SSH 终端模拟器。基于现代的 HTML5技术,无需任何浏览器插件、支持多个 SSH 进程、可以嵌入到其他任意应用程序中、支持使用 JavaScript,Python 甚…

SaaS销售打法:常规有效的四种SaaS营销策略,落地执行增长突破

在外面常规的认知中:SaaS营销与常规的营销其实没有什么不同,都在遵循着传统的推广和销售策略,简单来说就是将自己的产品卖给更多的用户,从而换取利润。 SaaS营销策略 但是SaaS产品与其他产品不同的地方在于它本身是没有实体的&am…

如何基于eBPF实现跨语言、无侵入的流量录制?

测试是产品发布上线的一个重要环节,但随着业务规模和复杂度不断提高,每次上线需要回归的功能越来越多,给测试工作带来了巨大的压力。在这样的大背景下,越来越多的团队开始使用流量回放对服务进行回归测试。 在建设流量回放能力之前…

一台电脑给另外一台电脑共享网络

这里写自定义目录标题 有网的电脑上操作一根网线连接两台电脑没网的电脑上 有网的电脑上操作 右键->属性->共享 如同选择以太网,勾选。确认。 一根网线连接两台电脑 没网的电脑上 没网的电脑为mips&麒麟V10 新增个网络配置ww,设置如下。 …

产品设计中的小体验:带来大问题解决之道

在激烈的市场竞争中,产品的体验设计已成为区分优劣的重要标志。用户不仅仅关注产品的核心功能,更重视产品在使用过程中的舒适度、易用性和情感体验。产品设计中的细节体验,看似微不足道,却往往能带来意想不到的效果。这是因为&…

线上服务挂了 3 分钟

在一个风和日丽的下午,刚打算饮茶,线上就开始报警了,一看情况网关报 500 了。。 网关(用的是Spring Cloud Gateway)挂了可还行,这可是对外的们,门没了岂不是所有请求都进不来了! 说…