异常检测 | Matlab基于GNN图神经网络的数据异常数据检测

异常检测 | Matlab基于GNN图神经网络的数据异常数据检测

目录

    • 异常检测 | Matlab基于GNN图神经网络的数据异常数据检测
      • 效果一览
      • 基本介绍
      • 模型描述
      • 程序设计
      • 参考资料

效果一览

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

基本介绍

Matlab基于GNN图神经网络的数据异常数据检测。其核心思想是学习一个函数映射。本次使用人类活动数据(包含 60 个通道的 24,075 个时间步长)进行异常检测。

模型描述

图神经网络(Graph Neural Networks,GNNs)是一类用于处理图数据的深度学习模型。它们被广泛应用于图分析、图表示学习和图结构预测等任务中。
GNN的设计灵感来源于人类思维中对图的处理方式。它通过在图的节点和边上定义神经网络模型,并通过信息传递和聚合来捕捉节点之间的关系。GNN的核心思想是通过迭代地更新节点的表示,使得每个节点可以考虑到其邻居节点的信息。
GNN模型的基本结构包括两个主要的步骤:信息传递和聚合。在信息传递步骤中,每个节点通过聚合其邻居节点的信息来更新自身的表示。这个过程可以通过在节点和边上定义神经网络模型来实现。在聚合步骤中,节点将更新后的表示聚合到全局图级别的表示中,以便进行后续的任务。
GNN模型通常具有多层结构,每一层都进行信息传递和聚合操作。通过多层的堆叠,GNN可以对节点的表示进行多次迭代,从而捕捉到更复杂的图结构信息。
GNN是一类强大的图表示学习模型,能够处理各种类型的图数据,并在图分析和预测任务中取得了显著的成果。

使用图神经网络 (GNN) 检测多元时间序列数据中的异常。
要检测多元时间序列数据中的异常或异常变量/通道,可以使用图偏差网络(GDN)。 GDN 是 GNN 的一种,它学习表示时间序列中通道之间关系的图结构,并通过识别与学习结构的偏差来检测异常通道和时间。 GDN 由四个主要部分组成:
节点嵌入:生成学习的嵌入向量来表示每个节点/变量/通道的独特特征。
图结构学习:计算节点嵌入之间的相似性,并用它来生成表示学习的图结构的邻接矩阵。
基于图注意力的预测:使用图注意力预测值。
图偏差评分:计算异常分数并识别异常节点和时间。
各组件如下图所示。

在这里插入图片描述

程序设计

  • 完整程序和数据资源私信博主回复Matlab基于GNN图神经网络的数据异常数据检测
function adjacency = graphStructure(embedding,topKNum,numChannels)
% graphStructure函数将通道嵌入embedding、前k个数topKNum和通道数numChannels作为输入,并返回表示通道之间关系的邻接矩阵。
% 使用余弦相似度计算通道之间的相似度得分。
% 对于每个通道,通过选择具有最高相似度得分的 topKNum 个通道,从整个通道集中确定相关通道(不包括考虑的通道)。
% Similarity score
normY = sqrt(sum(embedding.*embedding));
normalizedY = embedding./normY;
score = embedding.' * normalizedY;% Channel relations
adjacency = zeros(numChannels,numChannels);
for i = 1:numChannelstopkInd = zeros(1,topKNum);scoreNodeI = score(i,:);% Make sure that channel i is not in its own candidate setscoreNodeI(i) = NaN;for j = 1:topKNum[~, ind] = max(scoreNodeI);topkInd(j) = ind;scoreNodeI(ind) = NaN;endadjacency(i,topkInd) = 1;
end

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/124864369
[2] https://blog.csdn.net/kjm13182345320/article/details/127896974?spm=1001.2014.3001.5502

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

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

相关文章

抖音详情API:从零开始构建抖音应用

随着短视频的兴起,抖音已经成为了一个全球范围内的热门平台。对于开发人员而言,利用抖音详情API从零开始构建抖音应用具有巨大的潜力和机会。本文将为你提供从零开始构建抖音应用的指南,包括开发环境搭建、API请求格式、用户认证等关键环节&a…

很想写一个框架,比如,spring

很想写一个框架,比如,spring。 原理很清楚,源码也很熟悉。 可惜力不从心,是不是可以找几个小弟一起做。

【Docker-Dev】Mac M2 搭建docker的redis环境

Redis的dev环境docker搭建 1、前言2、官方文档重点信息提取2.1、创建redis实例2.2、使用自己的redis.conf文件。 3、单机版redis搭建4、redis集群版4.1、一些验证4.2、一些问题 结语 1、前言 本文主要针对M2下,相应进行开发环境搭建,然后做一个文档记录…

1.项目简介

本次项目建立的基础是基于Django后台admin管理功能上的二次加工以符合实际情况,所以需要读者对Django这个架构有一定的了解,具体可以查看作者的另一个专栏Django详解。 随着信息技术的迅猛发展,图书馆的借阅系统也在不断地进行更新和改进。传…

【AMD Xilinx】ZUBoard(2):通过AXI GPIO控制PL端的管脚输出

【AMD Xilinx】ZUBoard(2):通过AXI GPIO控制PL端的管脚输出 一、基本功能和流程二、Vivado工程1. 总体框图2. AXI GPIO相关部分3. 配置AXI GPIO4. 绑定管脚4.1 根据原理图查找对应管脚4.1.1 LED04.1.2 LED1 4.2 I/O Planning 5. XDC 三、ARM代…

requestAnimationFrame 解析

文章目录 什么是 requestAnimationFrame为什么 setInterval 实现动画会有一些抖动感使用 requestAnimationFramerequestAnimationFrame 对比 setInterval 本文将给大家介绍一个使用 js 实现动画的利器,requestAnimationFrame,我们一般情况下,…

2013年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

“一元复始,万象更新。行而不辍,未来可期。” 努力学习和奋斗的时光总是过得飞快,不知不觉,2024年已经悄然而至,今天是2024年1月1日,六分成长祝所有的读者朋友和孩子们新年快乐!学习进步&#…

【模拟电路】基础理论与实际应用

一、毫安时和毫瓦时 二、开关电路 三、继电器 四、半导体 五、二极管 六、三极管 七、三极管应用案例 一、毫安时和毫瓦时 毫安时(mAh)和毫瓦时(mWh)是两个不同的物理量,它们分别表示电量和能量的度量单位。下面的图…

LVS那点事

LVS 原理 IPVS LVS 的 IP 负载均衡技术是通过 IPVS 模块来实现的,IPVS 是 LVS 集群系统的核心软件,它的主要作用是:安装在 Director Server 上,同时在 Director Server 上虚拟出一个 IP 地址,用户必须通过这个虚拟的…

大华主动注册协议介绍

一、大华主动注册协议介绍 前面写了一篇文章,介绍一些设备通过大华主动注册协议接入到AS-V1000的文章,很多问我关于大华主动注册协议的相关知识。 由于大华主动注册协议是一种私有协议,通常不对外公开详细的协议规范和技术细节。因此…

[Angular] 笔记 25:指令

组件指令 (chatgpt 回答) 在 Angular 中,组件本身可以被视为指令,这种指令被称为组件指令。组件是 Angular 应用的构建块之一,它封装了一段具有特定功能和特性的用户界面,并且可以在应用中重复使用。 组件指令具有以下特征&…

学习SpringCloud微服务

SpringCloud 微服务单体框架微服务框架SpringCloud微服务拆分微服务差分原则拆分商品服务拆分购物车服务拆分用户服务拆分交易服务拆分支付服务服务调用RestTemplate远程调用 微服务拆分总结 服务治理注册中心Nacos注册中心服务注册服务发现 OpenFeign实现远程调用快速入门引入…