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的图与超图转换功能非常有用:
- 从超图构建图:当你需要将超图数据输入到传统图神经网络时
- 从图构建超图:当你需要挖掘图中潜在的高阶关系时
- 结构优化:通过转换发现更好的数据表示方式
💡 最佳实践建议
- 数据准备:首次使用让数据集自动下载到默认路径(
~/.dhg/datasets/) - 模型选择:根据任务类型选择合适的模型架构
- 超参数调优:充分利用Auto-ML功能自动寻找最优配置
- 可视化分析:使用可视化工具理解模型的行为和结果
🚀 开始你的DeepHypergraph之旅
DeepHypergraph为图神经网络和超图神经网络的学习提供了一个完整、易用的解决方案。无论你是想快速上手图计算,还是需要处理复杂的超图数据,这个库都能满足你的需求。
通过dhg/data/目录下的数据集模块和dhg/models/目录下的模型实现,你可以快速构建和训练自己的图神经网络应用。现在就开始探索DeepHypergraph的强大功能吧!✨
【免费下载链接】DeepHypergraphA pytorch library for graph and hypergraph computation.项目地址: https://gitcode.com/gh_mirrors/de/DeepHypergraph
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考