1基本概念
- 图:描述关联数据的通用语言
- 图的应用场景:计算机网络、疾病传播路径、食物链、地铁站、社交网络、经济网络、通讯网络、论文引用网络、互联网(网页引用)、人脑神经网络、医疗知识图谱、基因和蛋白质的调控网络、场景网络(场景间的关系)、化学分子(原子和化学键)、代码图(计算图)
2 如何对带关联的图数据进行数据挖掘
2.1学习任务分类
- 传统机器学习:在分类、回归任务中,数据样本之间独立同分布(拟合一条决策边界)
- 现代深度学习:主要用于处理序列、矩阵、表格类数据,包括全连接神经网络、卷积神经网络(CS231N)、循环神经网络(CS224N)、Transformer、图神经网络(CS244W)
- 图机器学习是人工智能和深度学习的新蓝海
2.2图深度学习的难点
- 需要兼容任意尺寸输入、拓扑复杂
- 没有固定节点顺序和参考锚点(从上往下卷积,但是图没有顺序)
- 动态变化(社交网络在变化),具有多模态特征(例如歌曲,包括音频、视频MV、歌手介绍等特征)
2.3 图神经网络
- 优点:无需人工特征工程,可以进行端到端的表示学习,并自动学习特征
- 表示学习(图嵌入):把复杂数据(图像、文本、语音)变成一个包含节点语义信息的嵌入向量,能够充分反应原始数据的语义。(图神经网络就是吧节点表示成D维向量,比如把256个点表示成256个D维向量)关键是把图表示成D维向量
3 图机器学习、图神经网络编程工具
- PyG(PyTorch Geometric):官方自己的库,和PyTorch类似
- GraphGym
- NetworkX
- DGL:李沐老师推荐的,适合进行学术研究
- 图数据可视化:AntV、Echarts、GraphXR
- 图数据库:Neo4j
4 图机器学习应用
4.1 应用场景
- 最短路径的搜索和查找(Pathfinding & Search):高德地图导航
- 分析节点重要度(Centrality / Importance):PageRank算法、网页排名
- 社群检测(Community Detection):银行卡欺诈找到诈骗村
- 连接预测(Link Prediction):好友的推荐
- 相似度(Similarity):人物相似性
- 图嵌入(Embeddings):Node2Vec
4.2 分的层次
- Node-level(节点层面):对节点进行分类
- Edge-level(连接层面):推荐可能认识的人、推荐内容,两个节点是否有有链接
- Community-level(子图层面):社群检测、用户聚类
- Graph-level(整个图层面):分子是否有毒、设计新的分子结构
4.3图机器学习的分类
- 节点分类:预测节点的属性
- 连接预测:预测两个节点是否存在缺失连接(知识图谱补全、药物副作用联合副作用)
- 图的分类:对不同图像进行分类
- 聚类:检测节点是否形成新的社区
- 图的生成:新的药物分子的生成
- 图的演化:离子的模拟
4.3 应用举例
- Node-level:由已知的节点类别预测未知的节点类别
-
Edge-level:由已知的连接去预测未知的连接
- 推荐系统:喜欢的电影、听的音乐、买的商品
- 药物联合副作用:潜在药物组合太多,无法逐一临床验证,建立图,预测药物副作用
- 推荐系统:喜欢的电影、听的音乐、买的商品
-
Subgraph-level:
- 导航预测:预计交通时间
-
Graph-level:
- 药物发现:从大量抗生素中,选取出有潜力的分子,再生成符合条件的新分子,或可以在已有分子的基础上进行优化
- 物理模拟:将粒子作为节点,相互作用力作为连接,构建图,从而预测下个时刻的粒子位置及速度
-
预测蛋白质的空间结构:
-
背景:由于氨基酸组成的蛋白质链非常多,需要从氨基酸多肽链一级结构,预测三维结构
-
AlphaFold:能够预测蛋白质的三维结构,加速蛋白酶的研发
-
图的构建:将角度和距离作为连接,基团作为节点
-
AlphaFold DB:有2亿多个蛋白质的三维结构
-
5 图数据挖掘项目
- ReadPaper:专业的学术讨论社区,实现文献引用网络
- CONNECTED PAPERS:可以展示文献引用网络
- BIOS:生物医学知识图谱
- Hypercrx:展示项目关系网络图、项目活跃开发者协作网络图
- OpenRank:一种基于异质网络的价值评价算法
- 开源项目和开源企业排行榜:open-leaderboard.x-lab.info
- 红楼梦人物知识图谱