DeepHypergraph入门指南:5分钟掌握图与超图神经网络的核心功能

DeepHypergraph入门指南:5分钟掌握图与超图神经网络的核心功能

【免费下载链接】DeepHypergraphA pytorch library for graph and hypergraph computation.项目地址: https://gitcode.com/gh_mirrors/de/DeepHypergraph

DeepHypergraph是一个基于PyTorch的深度学习库,专门用于图神经网络和超图神经网络的学习。无论你是机器学习新手还是经验丰富的研究者,这个库都能帮助你轻松处理复杂的图结构数据。😊 它支持从顶点到顶点、顶点到超边、顶点集到顶点集等多种消息传递方式,涵盖了从低阶结构(如图、有向图、二分图)到高阶结构(如超图)的完整计算框架。

🚀 为什么选择DeepHypergraph?

在传统的图神经网络中,你只能处理成对关系,但现实世界中的许多关系是超越成对的。比如一个研究团队可能有5个成员合作发表论文,或者一个菜谱包含多种食材。DeepHypergraph通过超图结构完美解决了这个问题,让你能够建模复杂的多体关系。

DeepHypergraph的数据集系统采用模块化设计,实现了从数据下载、加载到预处理的全流程自动化。你只需几行代码就能获取高质量的图数据,无需担心繁琐的数据准备工作。

📊 图与超图:理解两者的核心差异

(左侧)使用简单的边连接两个顶点,适合建模成对关系,如社交网络中的好友关系。超图(右侧)使用超边连接多个顶点,能够捕捉更复杂的群组关系,如研究团队的合作关系。

🛠️ 快速开始:三行代码创建可视化

import matplotlib.pyplot as plt import dhg # 创建并绘制图 g = dhg.random.graph_Gnm(10, 12) g.draw() # 创建并绘制超图 hg = dhg.random.hypergraph_Gnm(10, 8) hg.draw() plt.show()

📚 丰富的数据集支持

DeepHypergraph内置了20+个经典数据集,覆盖了从学术引文网络到社交网络、推荐系统等各个领域:

经典图数据集

  • Cora:2,708篇学术论文的引文网络,7个主题类别
  • PubMed:19,717篇生物医学文献,3个类别,适合测试模型可扩展性
  • Citeseer:3,327篇计算机科学论文,6个类别

超图数据集

  • Cooking200:食谱配料关系数据集,将菜谱建模为超图
  • MovieLens1M:电影评分数据集,用于推荐系统
  • AmazonBook:亚马逊图书评价数据集

二分图数据集

  • CoraBiGraph:Cora的二分图版本
  • PubMedBiGraph:PubMed的二分图版本

🔧 核心功能模块详解

1. 消息传递机制

DeepHypergraph提供了灵活的消息传递函数,支持多种聚合方式:

import torch import dhg # 在图上进行消息传递 g = dhg.random.graph_Gnm(5, 8) X = torch.rand(5, 2) X_ = g.v2v(X, aggr="mean") # 顶点到顶点消息传递 # 在超图上进行消息传递 hg = dhg.random.hypergraph_Gnm(5, 4) X = torch.rand(5, 2) Y_ = hg.v2e(X, aggr="mean") # 顶点到超边 X_ = hg.e2v(Y_, aggr="mean") # 超边到顶点

2. 平滑操作

DeepHypergraph内置了多种拉普拉斯矩阵,支持GCN、HGNN等模型的平滑操作:

# GCN平滑 X_ = g.smoothing_with_GCN(X) # HGNN平滑 X_ = hg.smoothing_with_HGNN(X)

3. 图与超图的相互转换

DeepHypergraph提供了图与超图之间的转换函数,让你能够:

  • 从超图构建图(团扩展、星扩展)
  • 从图构建超图(k跳邻居、k最近邻)

🏗️ 内置模型库

DeepHypergraph实现了多种先进的图神经网络和超图神经网络模型:

图神经网络模型

  • GCN:图卷积网络,ICLR 2017
  • GAT:图注意力网络,ICLR 2018
  • GraphSAGE:可扩展的归纳式图表示学习,NeurIPS 2017
  • LightGCN:轻量级图卷积网络,SIGIR 2020

超图神经网络模型

  • HGNN:超图神经网络,AAAI 2019
  • HGNN+:通用超图神经网络,IEEE T-PAMI 2022
  • HyperGCN:超图上的图卷积网络,NeurIPS 2019
  • DHCF:双通道超图协同过滤,KDD 2020

🎯 评估指标全面覆盖

DeepHypergraph提供了完整的评估指标系统:

分类任务

  • 准确率(Accuracy)
  • F1分数(F1-Score)
  • 混淆矩阵(Confusion Matrix)

推荐系统任务

  • 精确率@k(Precision@k)
  • 召回率@k(Recall@k)
  • NDCG@k(归一化折损累计增益)

检索任务

  • 平均精确率@k(mAP@k)
  • 平均倒数排名@k(mRR@k)
  • PR曲线(Precision-Recall Curve)

⚡ 自动机器学习(Auto-ML)

DeepHypergraph集成了Optuna库,提供了强大的Auto-ML功能:

from dhg.experiments import GraphVertexClassification # 自动调优GCN模型 tuner = GraphVertexClassification("Cora", "GCN", enable_tune=True) tuner.run()

这个功能能够自动搜索最优的图结构构建配置、模型超参数和训练参数,让你轻松超越现有最先进的模型。

📦 安装与使用

安装DeepHypergraph非常简单:

pip install dhg

或者安装开发版本:

pip install git+https://gitcode.com/gh_mirrors/de/DeepHypergraph.git

🎨 强大的可视化工具

DeepHypergraph提供了丰富的可视化功能,让你能够直观地理解图结构和学习过程:

你可以自定义顶点颜色、大小和标签,创建美观的图可视化效果。

🔄 图与超图转换的实际应用

在实际应用中,DeepHypergraph的图与超图转换功能非常有用:

  1. 从超图构建图:当你需要将超图数据输入到传统图神经网络时
  2. 从图构建超图:当你需要挖掘图中潜在的高阶关系时
  3. 结构优化:通过转换发现更好的数据表示方式

💡 最佳实践建议

  1. 数据准备:首次使用让数据集自动下载到默认路径(~/.dhg/datasets/
  2. 模型选择:根据任务类型选择合适的模型架构
  3. 超参数调优:充分利用Auto-ML功能自动寻找最优配置
  4. 可视化分析:使用可视化工具理解模型的行为和结果

🚀 开始你的DeepHypergraph之旅

DeepHypergraph为图神经网络和超图神经网络的学习提供了一个完整、易用的解决方案。无论你是想快速上手图计算,还是需要处理复杂的超图数据,这个库都能满足你的需求。

通过dhg/data/目录下的数据集模块和dhg/models/目录下的模型实现,你可以快速构建和训练自己的图神经网络应用。现在就开始探索DeepHypergraph的强大功能吧!✨

【免费下载链接】DeepHypergraphA pytorch library for graph and hypergraph computation.项目地址: https://gitcode.com/gh_mirrors/de/DeepHypergraph

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考