当前位置: 首页 > news >正文

HyperGraph(超图)

【图和超图-01】https://www.bilibili.com/video/BV1tQ4y1D7yj?vd_source=7c2b5de7032bf3907543a7675013ce3a

【超图理论与应用——XJTU高级图论研究生课程汇报】https://www.bilibili.com/video/BV1mz4y1t7gr?vd_source=7c2b5de7032bf3907543a7675013ce3a

图神经网络: 

卷积核:将下面的信息进行信息聚合得到新的信息

图神经网络:

操作与卷积(CNN)类似,但并不是规则化的;需要与邻居节点进行聚合,而不是所有的节点都可以聚合

 限制条件:只是与邻居节点相乘

缺点:当面对多个节点拥有同一属性的时候,普通图只能通过多条边将它们连接在一起,而超图结构仅用一条超边就能实现属性的关联建模,因此具有更好的表征能力 

超图:

背景:

两条边比一条边更重要,对于边属性较多的情况下,考虑给不同边赋值不同权重

问题:多种构图方式、多重边、有向图

于是,希望提出新的构图方式:

两两之间是对称的,避免有向图的问题;但图过大会产生爆炸问题

引入二元到多元概念:

二元:边 ,用(V,W)来表示

多元:超图拓展了边的概念,也就是超边,用(a,b,...,n)表示

超图基础知识:

超图的定义:

超图H=(V,E,W),其中\left | V \right |=n,\left | E \right |=m,分别表示超图的节点和边:

节点v_{i}\in V;1\leq i\leq n和普通图节点定义相同

超边e_{j}\in E;1\leq j\leq m,其中e\subseteq V,\left | e \right |\geq 2,超边并不是传统意义上的edge,而是一个区域(类似于面),即一条超边可以包含多个节点;如下图用一个圈表示一个超边

权重w_{j}\in W;1\leq j\leq m对应于每条超边,每个超边都与一个正权重w_{j}(e)相关联

把超图节点和超边看作两种实体,可以将超图转换为对应的二分图

超图描述:

 超边:如e_{1}可以连接三个节点(并不是多条边,而是二维无法绘制出的曲面)

 定义超图的关联矩阵H:\left | V \right |*\left | E \right |

经典分析方法:

将超图转成普通图包含两种方法:

①星型扩展:设一个虚拟中心,将超边拆分为星形图(二分扩展)

②团扩展:一条超边的所有节点进行全连接(clique),更常用 

模块度和社区发现:

 给定分区A,模块度函数定义为如下(第一部分为边贡献,第二部分为度税):

模块最大化算法:

argmax_{A\in A}q_{G}(A)--NP-hard 包括:

(2010)GN算法,FN算法

CNM算法(Fast Greedy快速贪心)

启发式算法Louvain、ECG等

 基于传统机器学习理论(谱聚类、层次聚类)

基于动力学(随机游走InfoMap、标签传播) 

超图社区检测算法:

Kumar算法:

LS&HA算法: 

从普通图算法切换到超图算法

Hypergraph CNM算法改进:

较为传统,但是更适用于实际

分析工具与课程推荐:

菲尔兹学员复杂网络夏令营:https;//github.com/ftheberge/ComplexNetworks2019

查普图可视化分析框架HyperNetX:https://github.com/pnnl/HyperNetX

b站up主uid:26575098

 HyperNetX:超图可视化分析功能(超边绘制,二分图绘制)

超图神经网络:

https://github.com/ilonajulczuk/hypergraph 

 step1:定义超边e_{1}连接n_{1},n_{2},n_{6},超边e_{4}连接n_{4},n_{5},n_{6};根据节点汇聚得到超边特征

step2:根据超边连接的节点,更新节点特征

step3:最终得到每个顶点的特征 

使用超边做分子属性:

A Hypergraph Convolutional Neural Network for Molecular Properties Prediction using Functional Group

问题:三个分子的图结构相似,但实际上三个分子所表达的图属性完全不同;从图卷积神经网络来看,基本一致

解决问题:引入超图的概念

创新:构建超边;引入function group 做超边,区别三个分子

构建超边:

 步骤:

①设置中心原子:选择一个原子类型(C, N, O, P 或 S)作为中心原子

②设置相邻原子:为特定功能基团类型设置相邻原子(C, N, O, P 或 S)及其键合类型(单键、双键或三键)

③添加到超图:将中心原子和相邻原子添加到超图H_{k}

④添加邻居:如果相邻原子不是碳原子和/或不是与中心原子单键相连,则将其邻居添加到超图H_{k}

构建网络:

上图为正常的图卷积神经网络,得到每个节点和每个边的特征(原子内部)

下图为超图,相当于在每个组里进行一系列操作,然后在超边上更新节点特征

使用VAE的框架构建超图:

Embedding of Molecular Structure Using Molecular Hypergraph Variational Autoencoder with Metric Learning

 问题:现有的VAE框架做图结构的特征提取不太好,相似的结构并不表征相同的属性

创新点:提出Metric Learning

根据物理特性生成正样本与负样本,根据超边语法规则Parse Tree according to MHG(2019 PAMR 提出一套如何将正常结构转换为超边的方法,然后使用VAE编码)

使用超图做推荐:

Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation

 将正常图聚合成超边

再度抽象出一个新图Line Graph

 超图正常使用超图神经网络,新图正常使用图神经网络

认为超图是从原始图中得到了一种view(视角),而Line Graph是另外一种视角,这两种视角都可以表达图的信息,引入对比学习做预训练

相关文章:

  • 【Redis数据结构】ziplist 压缩列表
  • nginx 反向代理 配置请求路由
  • 【网络编程】广播和组播
  • 【RK3588嵌入式图形编程】-SDL2-构建交互式按钮
  • 基于python+django的宠物商店-宠物管理系统源码+运行步骤
  • J4打卡—— ResNet 和 DenseNet结合实现鸟类分类
  • 用AI写游戏3——deepseek实现kotlin android studio greedy snake game 贪吃蛇游戏
  • 【quicker】调节PPT指定字号字体大小/快速调节WPS的PPT字体大小
  • 三级分类bug解决
  • 作用域的知识点总结
  • Day6 高精度加减算法+洛谷讲解
  • 开源RAG主流框架有哪些?如何选型?
  • 算法系列之分治算法
  • 从底层驱动到 OpenCV:深入解析 Linux 摄像头完整技术栈
  • 安全生产月安全知识竞赛主持稿串词
  • 基于Python和Neo4j开发的医疗辅助诊断系统的详细实现步骤和代码示例
  • Python--函数进阶(上)
  • Unity制作游戏——前期准备:Unity2023和VS2022下载和安装配置——附安装包
  • ESP32S3:解决RWDT无法触发中断问题,二次开发者怎么才能使用内部RTC看门狗中断RWDT呢?
  • 力扣热题100——滑动窗口
  • 停电催生商机,中国品牌 “照亮” 西班牙
  • 当农民跨进流动的世界|劳动者的书信①
  • 证监会:坚决拥护党中央对王建军进行纪律审查和监察调查决定
  • 软硬件企业集中发布未成年人模式使用手册
  • 中老铁路跨境国际旅客突破50万人次
  • 马上评丨别让“免费领养”套路坑消费者又坑宠物