m基于GNN图神经网络的目标匹配分析matlab仿真

news/2024/5/4 3:04:25/文章来源:https://blog.csdn.net/hlayumi1234567/article/details/128422444

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

        在一些应用领域数据可以自然而然地表示成图结构,包括 蛋白质组学,图像分析,场景描述 ,软件工程,和自然语言处理。最简单的图结构包括单一节点和序列。但在一些应用中,信息组织在一些更为复杂的图结构中,比如树,非循环图或循环图中,数据关系开采 已经成为归纳逻辑设计工作室许多研究的主题,并且近年来这项研究主题已经深化到诸多不同领域,当然这和数理统计和神经网络的相关概念在这些领域的应用密不可分。

        在机器学习中,结构化数据和通过对样本(有监督或无监督的)学习的目标有关,通过一个将图像G映射到实数矢量的函数。 在这篇论文中,图像领域的应用大致可以区分为两大类:聚焦线和聚焦节点的应用。在聚焦连线的应用中,该函数不依赖节点并将一个分类或回归量运用于图结构数据集。比如,一个化合物可以用图建立模型,其中那些节点表示原子,边表示将原子联系起来的化学键[见图.1(a)]。这种映射可以用于估计该化合物造成某种疾病的概率。在图.1(b),一张图片由区域邻接的图表示,其中节点表示强度上具有同性质的区域,弧线表示他们的邻接关系。在这个例子中,被用于对图片归类,根据图中城堡,车,人等内容。

在聚焦节点的应用中,依赖节点,以此其分类或统计回归依赖于每个节点的固有关系。目标侦查是这类应用的一个例子。找出一张图片是否包含了被搜寻目标,并且如果有,标示其位置。这个问题可以由一个函数解决,它能将邻接区域图的节点分类,根据对应区域是否符合目标。比如,图1.(b)的输出可能是1标示契合城堡的黑色节点,并且其他的用0表示。另一个例子来自网络。网站可以由图表示,节点表示网页,边表示之间的超链接[图.1(c)]。网站连通性可以被利用,通过网页内容,来达到一些目的,比如将网页划分为一组主题。

       传统机器学习的应用通过使用一个预处理阶段处理图结构数据,这一阶段将图结构信息映射为一个简单的表述,比如实数向量。换句话说,预处理步骤将图结构“压扁”成实数向量,之后通过基于列表的数据处理技术处理预加工数据。然而,重要信息,比如每个节点的拓扑从属信息可能会在预处理阶段损失并最终结果会以不可预测的方法取决于预处理算法的细节。更近年来,有各种方法,尝试保留数据的图结构属性。这种思路想将存在潜在图结构的数据编码,通过使用图中节点的拓扑关系,借此将图结构信息包含在数据处理阶段。

       GNNs是基于信息扩散机理。一个图被处理为一系列单元,每个相当于图的节点,他们根据图的连通性联结着。这些单元刷新它们的状态并交换信息直到它们达到稳定平衡。之后基于单元的状态,GNN的输出可以在节点层间计算出。扩散机理的限制使得一个独特的稳定平衡总是存在。这种认识机制已被用在蜂窝神经网络及Hopfield神经网络。在这些神经网络模型中,连通性根据预定义的图描述,网络的连接自然属性上是循环周期性的,神经元的状态通过达到一个平衡点来计算。GNNs有别于蜂窝神经网络及Hopfield神经网络在于它们可以用在处理更广泛类型的图,如无向图,并且它们采用更综合的扩散机制。

GNN神经网络,整个训练的算法流程我们按如下的步骤进行:

---------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------

2.仿真效果预览

matlab2022a仿真结果如下:

 

 

 

 

 

 

3.MATLAB核心程序

Nodes = [40:5:200];
Index = 0;
for nn = 1:length(Nodes)
Nodes(nn)    
tic;
Index = Index + 1;
%初始参数
%学习率
Learn_rate = 0.2;
%惯性
lemda      = 0.01;
%网络结构参数
Num_I      = 40;
Num_Hide   = 120;
Num_O      = 1;
%训练次数
Train_Time = 40;
%初始化神经元输入信号
dw         = cell(1,Num_I);
delta      = [zeros(1,Num_Hide)];
x          = [zeros(1,Num_I)];
Yout       = 0;
du         = 0;
Yout_Delay = zeros(1,Num_I);
l          = zeros(1,Num_I);
%隐藏层神经元的输出
Oh         = zeros(Num_Hide,1);
I          = Oh;
Oh_delay   = Oh;%初始化突触权值参数
Net        = func_initialize(Num_I,Num_Hide,Num_O);
%forward
x          = func_forward(Net,l);
k          = 0;
while(k <= Train_Time | k <= Nodes(nn))k = k + 1;%模拟训练数据和训练目标P(k)    = 1;Yout(k) = (0.5*Yout_Delay(1)+P(k))/(1 + Yout_Delay(1)^2);[Yout_Est(k),I,Oh] = func_backward(x,Net,Oh_delay,Num_Hide);Err(k)             = Yout(k) - Yout_Est(k);%JacobianJacobian_out(k)    = func_Jacobian(Net,delta,Num_Hide);%更新网络系数w[Net,dw,delta]     = func_w_update(x,I,Net,dw,Err(k),Learn_rate,lemda,Oh,Oh_delay,Num_I,Num_Hide);%FORWARDl                  = [Err(k),Yout(k),Yout_Delay(1:end-2)];x                  = func_forward(Net,l);%Delay;Yout_Delay(1) = Yout(k);for idx = 2:Num_IYout_Delay(idx)=Yout_Delay(idx-1);endNet.wd2{1} = Net.wd1{1};Net.wd1{1} = Net.w{1};Net.wd2{3} = Net.wd1{3};Net.wd1{3} = Net.w{3};    Net.wd2{2} = Net.wd1{2};Net.wd1{2} = Net.w{2};   
end
toc;
time(Index) = toc;
end
05_017_m

4.完整MATLAB

V

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【SwinTransformer】GitHub源码,main.py,swin_transformer.py...

声明:仅学习使用~ “我们抬头便看到星光,星星却穿越了万年”。 Contents 数据与环境配置解读main.pyswin_transformer.py数据与环境配置解读 来看 SwinTransformer 的github官网。已经开源了。(想不到在家里居然可以直接上GItHub,真好啊!) 进去后可以看到如下界面: I…

CentOS7迷你版安装Redis并配置基础信息

1. 安装gcc、wget依赖 yum install gcc yum install wget 2. 使用命令&#xff1a;wget http://download.redis.io/releases/redis-6.2.5.tar.gz 下载安装包&#xff0c;注意要先cd到要下载到的目标位置&#xff09; 3. tar -zxvf redis-6.2.5.tar.gz 解压压缩包 4. cd redis-…

2023年企业固定资产管理怎么破局?

2022年已经在风雨中过去&#xff0c;转眼我们迎来了2023年。过去的一年&#xff0c;固定资产管理的痛依旧历历在目&#xff0c;如何让新的一年中&#xff0c;固定资产管理工作有所突破&#xff0c;不再承受固定资产资产管理的痛处&#xff0c;是每个企业管理者和企业固定资产管…

数字化时代,看商业智能BI与业务发展分析

每一家企业我们都可以从模式、问题和求解这三个角度对企业的业务经营管理进行探讨&#xff0c;比如模式&#xff0c;公司目前的管理模式和运营模式效果如何&#xff0c;是否符合公司长期战略目标或中短期业绩增长目标&#xff1f; 数据分析 - 派可数据商业智能BI可视化分析平台…

【Kotlin 协程】Flow 异步流 ⑥ ( 调用 Flow#launchIn 函数指定流收集协程 | 通过取消流收集所在的协程取消流 )

文章目录一、调用 Flow#launchIn 函数指定流收集协程1、指定流收集协程2、Flow#launchIn 函数原型3、代码示例二、通过取消流收集所在的协程取消流一、调用 Flow#launchIn 函数指定流收集协程 1、指定流收集协程 响应式编程 , 是 基于事件驱动 的 , 在 Flow 流中会产生源源不断…

数据改版 | CnOpenData中国工业企业基本信息扩展数据

CnOpenData中国工业企业基本信息扩展数据 一、数据简介 拉动中国经济的三个产业中&#xff0c;工业企业占有特殊的地位&#xff0c;是推动国内经济发展的重要产业。工业是最主要的物质生产部门&#xff0c;为居民生活、各行业的经济活动提供物质产品&#xff0c;这一重要作用是…

垃圾回收机制之v8引擎

v8的内存分配 &#xff08;栈&#xff08;执行环境&#xff09;跟堆&#xff09; 堆内存负责垃圾回收机制&#xff0c;只有新生代和老生代两部分 新生代&#xff1a;对等分的&#xff08;严格&#xff09; 老生代&#xff1a; 都是由新生代转变的&#xff08;连续的空间&…

截至2022年12月共计451个信息安全国家标准 汇总

写在前面 早年刚参加信息安全工作更多的学点皮毛技术&#xff0c;到处找安全工具&#xff0c;跟踪poc&#xff0c;拿到一个就全网扫一遍&#xff0c;从来没有想过&#xff0c;系统化的安全工作应该怎样搞?我做的工作在安全体系中处于哪个阶段? 后来有机会做企业安全建设&…

五、Kubernetes命令行工具 (kubectl)

1、概述 kubectl 是 Kubernetes 集群的命令行工具&#xff0c;通过 kubectl 能够对集群本身进行管理&#xff0c;并能 够在集群上进行容器化应用的安装部署。 2、语法 使用以下语法从终端窗口运行 kubectl 命令&#xff1a; kubectl [command] [TYPE] [NAME] [flags] 其中 …

数据仓库基础与Apache Hive入门

数据仓库基本概念 数据仓库&#xff0c;简称数仓&#xff0c;用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境&#xff0c;分析结果为企业提供决策支持。 数据仓库本身并不生产任何数据&#xff0c;其数据来源于不同的外部系统同时数据仓库自…

Adobe Acrobat XI 一进去就闪退;解决Acrobat的闪退问题

一、原因分析 闪退是因为网络中校验版权时出现问题 二、解决办法 域名欺骗&#xff0c;添加伪造的host条目 1. 进入C:\Windows\System32\drivers\etc 找到hosts文件 2. 右机hosts&#xff0c;选择属性&#xff0c;在安全选项里&#xff0c;点击高级&#xff1a; 3. 在ho…

C++——哈希

文章目录1. unorder无序1.1unordered_map文档介绍接口说明1.2 unordered_set2.哈希常见的哈希函数2.1 直接定址法--(常用)2.2 除留余数法--(常用)(1).闭散列——开方定址发&#xff08;已被淘汰&#xff09;a.线性探测——冲突越多效率越低。b.二次探测(2).开散列——拉链法/哈…

深入浅出synchronized关键字

前言 无论在日常工作还是面试过程中&#xff0c;synchronized关键字作为并发场景下的操作&#xff0c;是一定要掌握的&#xff0c;本文从synchronized的使用方式、原理及优化三个方面&#xff0c;对synchronized关键字作一个系统化的说明。 使用方式 synchronized主要有三种…

Java: static,final,代码块 的详解

Java: static&#xff0c;final&#xff0c;代码块 的详解 每博一文案 山本文绪说过这样一句话&#xff1a;哪些决定放弃了的事&#xff0c;就请放弃得干干净净。哪些决定再也不见面的人&#xff0c;就真 的不要再见面了&#xff0c;不要再做背叛自己的事&#xff0c;如果想要…

操作手册(GB8567——88)基于协同的在线表格forture-sheet

操作手册&#xff08;GB8567——88&#xff09; 1引言 1.1编写目的 为了帮助用户更好的上手本系统&#xff0c;加快用户对forture-sheet在线表格的快速入门&#xff0c;本操作手册详细介绍使用forture-sheet的部分基础操作以及注意细节。 1.2前景 待开发系统的名称&#x…

ASP.NET开发的医疗健康咨询平台源码 养生知识咨询 寻根问药平台源码 C#源码

一、源码特点&#xff1a; 爱心医生健康知识门户网站是一个权威的医疗科普视频、语音、知识、医疗健康问答平台。 包含所有源代码和数据库&#xff0c;可以直接部署到IIS中使用。 二、菜单功能 网站页面&#xff1a; 1、首页&#xff1a;包含幻灯片。 2…

InnoDB详解2

文章目录InnoDB详解21 行格式1 Compact行格式详解1 变长字段长度列表&#xff08;两个字节&#xff09;2 NULL值列表&#xff08;1个字节&#xff09;3 记录头信息 &#xff08;重点&#xff09;2 Dynamic行格式2 页的上层结构InnoDB详解2 1 行格式 规定每条记录是怎么存储的…

解决资源消耗,top的运用记录

第一条命令uptime load average 后面的三个数字&#xff0c;分别代表1分钟、5分钟和15分钟内机器的平均负载 使用top命令解决负载问题 Cpu(s)这一行提供了CPU运行情况信息 这些缩写分别代表了不同含义 (1)us&#xff1a;用户CPU时间 运行非优雅的用户进程所占CPU时间的百…

Python学习笔记(十九)——Matplotlib入门上

目录 Matplotlib简介 导入matplotlib模块 图的参数说明 matplotlib图像组成部分介绍 matplotlib绘图步骤分析 matplotlib实现简单图像 matplotlib画布 画布-plt.figure() 实例 同一画布制作多张图像 创建多个子图 实例 plt.subplots 相关参数 调整subplot周围的间距…

简单记录一下怎么看package.json文件

首先每个vue工程文件从仓库克隆代码下来的时候&#xff0c;一般都会包含这个文件&#xff0c;这个文件非常重要&#xff0c;package.json包含了关于项目重要信息&#xff0c;如下图所示 其中包含了name、version、description、author、scripts、dependencies、devDependencies…