/Complex-Network

复杂网络研究资源整理和基础知识学习

Primary LanguageJupyter Notebook

复杂系统和复杂网络


知名学者

可以通过谷歌学术 Follow 大佬的最新研究

排名不怎么分先后😊

年轻学者:


研究小组

复杂性科学研究机构推荐 by 集智俱乐部


网络学习资源

基础知识课程

  • 🌟 CS224W: Machine Learning with Graphs

    斯坦福大学 Jure Leskovec 大佬小组的课程, 包含基本的图结构,图表征介绍,以及最新的 图神经网络,知识图谱的讲述。 主页有课程 PPT (PS:如果不能访问,可以直接下载我存好的讲义

  • 🌟 Barabási Lab

    上面介绍的 Barabási 巨佬实验室出的复杂网络相关课程。 也可以直接看在线书,内容相同。 (PS:如果不能访问,可以直接下载我存好的讲义)

  • Complexity- Explore(introduction to complexity

    上面介绍的 Santa Fe Institute 出的在线课程

  • 集智俱乐部

    北京师范大学张江老师创建的一个研究复杂网络的社区, 会实时推送有关复杂网络的研究新进展,也有一些课程,部分付费

相关书籍

支持正版

Github相关项目

  • 🌟🌟 thunlp/GNNPapers

    清华大学 nlp 实验室(刘知远大神小组)整理的有关 图神经网络(GNN) 的重要论文。

  • 🌟 Literature of Deep Learning for Graphs

    唐建老师小组收集 Deep Learning for Graphs, 可按主题和会议分别筛选

  • Graph-based deep learning literature

    按照会议收集的图相关论文

  • Graph Adversarial Learning Literature

    图结构数据的对抗攻击和防御论文收集

  • awesome-self-supervised-gnn

    self-supervised learning on Graph Neural Networks

  • 🌟 thuDM/cogdl

    清华大学 CogDL: An Extensive Research Toolkit for Graphs。 : 快速实现网络任务 Baseline ,目前还不太完善

  • snap-stanford/ogb

    Snap 小组 Open Graph Benchmark : Benchmark datasets, data loaders, and evaluators for graph machine learning

  • GraphVite

    graph embedding at high speed and large scale: node embedding, knowledge graph embedding and graph & high-dimensional data visualization ( works on any Linux distribution with CUDA >= 9.2.)

  • 🌟🌟 pytorch_geometric

    基于 Pytorch 实现的 geometric deep learning models: deep learning on graphs and other irregular structures. 包含 node2vec, GCN GAT,GraphSAGE,JK-Net, GIN 等经典模型, 也有最新的 Dropedge, GraphSAINT 等模型。 (ps: macos 目前只支持 cpu)

  • 🌟 PyTorch Geometric Temporal

    A temporal (dynamic) extension library for PyTorch Geometric. Temporal graph neural networks : Recurrent Graph Convolutions,Temporal Graph Convolutions, Auxiliary Graph Convolutions.

  • dgl

    基于 PyTorch, MXNet, Gluon etc.实现 graph neural network models (ICLR 2019 workshop)

  • Spektral

    基于 Keras and TensorFlow 2 实现的 graph deep learning。 包含 GCN,GAT,GraphSAGE,GIN 等经典模型, 还有一些 pooling 模型 (ICML 2020 workshop)

  • BUPTDM-OpenHINE

    北邮石川老师组异质信息网络表示学习训练和测试框架, 包括:DHNE、HAN、HeGAN、HERec、HIN2vec、Metapath2vec、MetaGraph2vec、RHINE 等模型

微信公众号

  • 🌟 极验(geetest_jy) : 图神经网络每日资料分享

  • 🌟 深度学习与图网络(AIGraph) : 图网络最近顶会动态

  • 复杂网络(ComplexNetworks) : 不定期分享一些网络研究工具和书籍

  • 开放知识图谱(OpenKG) : 几乎每天都有关于知识图谱的论文分享

  • 人工智能前沿讲习(AIFrontier) : 较多研究论文解读分享

  • 网络科学研究速递(netsci): Arxiv等来源的网络科学最新研究翻译推送(翻译纯是机翻,可以浏览)

  • 北邮 GAMMA Lab(BUPT_GAMMA) : 北邮图数据挖掘与机器学习实验室, 石川老师的小组

  • telegram : Graph Machine Learning : 每天更新有关图机器学习的 paper 会议以及相关内容, 很不错.

个人博客

B 站 UP 主


图神经网络学习

Workshop_graph

有关图表征和图神经网络的 workshop

GNN_tutorial

个人看完觉得很有收获的几个 tutorial :

GCN_code

GCN 基本模型实现代码, 用到的数据集在这里

GraphSAGE_code


网络基础知识学习

用到的数据在这里


研究数据集收集


研究软件工具

  • 🌟 Networkx

    Python 语言开发的图论与复杂网络建模,支持创建简单无向图、有向图和多重图,内置许多标准图算法。

    安装容易, 社区活跃, 100,000 节点下表现可接受

    缺少可视化输出 (可视化结果不好看)

  • iGraph

    高效,易于创建,操作,分析图的一个库, 支持 python, R, C 语言。 使用 C 语言的速度比使用 python 包分析速度快两个数量级。

    支持 社区检测, 有内置的搜索机制去定位边和节点

    支持较高质量的图片输出

    iGraph 运行速度是 NetworkX 的 10-50倍。(10w 节点以上的网络,networkX 不太适合)

    安装较为麻烦, 需要 C 编辑器。

  • graph-tool

    整个库全部由 C / C++ 完成,加速运行

    支持 并行计算,多个子任务同时运行

    支持多种形式的图形输出

    内置很多图 统计分析工具, 社区检测, blockmodeling 算法

    安装和编译较为麻烦

  • NetworKit

    支持并行计算

    和 NetworkX 兼容, 在 NeworkX 建立网络, 可以直接移植到 Networkit

可视化工具(large graph)

  • 🌟 Gephi

    GUI ,使用方便。 社区有很多插件,但是开发者好像不再更新 Gephi 了。

  • GraphViz

    命令行工具,容易自动化,但是交互性较差

  • iGraph

    C 编译,有 python 库。 但是 Python 的 API 看起来有点乱(难受)。

  • LargeVis

    前面提到的唐建大佬的工作(相关paper)。 处理超大规模的数据(百万量级),命令行工具,速度快,占用内存少。

  • Graphistry

    GUI 好看,出图较炫。 但是按小时付费,功能不全,节点有限制。

  • Network 3D

    Mac os 上 网络三维可视化工具, 目前是 beta 版,还有些功能没有实现

  • pajek

    mac 和 linux 大型网络可视化, 完整中文教程,和相关的试验数据集

  • cytoscape

    开源的可视化软件

  • Ployly

    基于 dash 库 pip install dash dash-cytoscape,感觉稍微有点麻烦而且不提供对 notebook 的支持。

  • PyEcharts

    百度开源的图表可视化项目, 不可以随意拖动节点。

  • 🌟 AnyChart

    节点和边的形状、标签信息可以高度定制化,而且节点可以任意拖动,可以基于 Java、Scala、JavaScript、Python等语言使用。虽然 AnyChart 支持 Python,但是需要配合 Django、MySQL 一起使用就有点复杂,这个库比较适合中大型项目的图展示

  • PyVis

    可交互的图可视化库, 提供了基本的节点显示和操作,可以有不同的布局.



参考