Task01 图机器学习导论

105 阅读4分钟

1基本概念

  • 图:描述关联数据的通用语言
  • 图的应用场景:计算机网络、疾病传播路径、食物链、地铁站、社交网络、经济网络、通讯网络、论文引用网络、互联网(网页引用)、人脑神经网络、医疗知识图谱、基因和蛋白质的调控网络、场景网络(场景间的关系)、化学分子(原子和化学键)、代码图(计算图)

2 如何对带关联的图数据进行数据挖掘

2.1学习任务分类

  • 传统机器学习:在分类、回归任务中,数据样本之间独立同分布(拟合一条决策边界)
  • 现代深度学习:主要用于处理序列、矩阵、表格类数据,包括全连接神经网络、卷积神经网络(CS231N)、循环神经网络(CS224N)、Transformer、图神经网络(CS244W)
  • 图机器学习是人工智能和深度学习的新蓝海

image.png

2.2图深度学习的难点

  • 需要兼容任意尺寸输入、拓扑复杂
  • 没有固定节点顺序和参考锚点(从上往下卷积,但是图没有顺序)
  • 动态变化(社交网络在变化),具有多模态特征(例如歌曲,包括音频、视频MV、歌手介绍等特征)

2.3 图神经网络

  • 优点:无需人工特征工程,可以进行端到端的表示学习,并自动学习特征
  • 表示学习(图嵌入):把复杂数据(图像、文本、语音)变成一个包含节点语义信息的嵌入向量,能够充分反应原始数据的语义。(图神经网络就是吧节点表示成D维向量,比如把256个点表示成256个D维向量)关键是把图表示成D维向量

3 图机器学习、图神经网络编程工具

  • PyG(PyTorch Geometric):官方自己的库,和PyTorch类似
  • GraphGym
  • NetworkX
  • DGL:李沐老师推荐的,适合进行学术研究
  • 图数据可视化:AntV、Echarts、GraphXR
  • 图数据库:Neo4j

image.png

image.png

image.png

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(整个图层面):分子是否有毒、设计新的分子结构

image.png

4.3图机器学习的分类

  • 节点分类:预测节点的属性
  • 连接预测:预测两个节点是否存在缺失连接(知识图谱补全、药物副作用联合副作用)
  • 图的分类:对不同图像进行分类
  • 聚类:检测节点是否形成新的社区
  • 图的生成:新的药物分子的生成
  • 图的演化:离子的模拟

4.3 应用举例

  • Node-level:由已知的节点类别预测未知的节点类别

image.png

  • Edge-level:由已知的连接去预测未知的连接

    • 推荐系统:喜欢的电影、听的音乐、买的商品 image.png
    • 药物联合副作用:潜在药物组合太多,无法逐一临床验证,建立图,预测药物副作用
  • Subgraph-level:

    • 导航预测:预计交通时间

image.png

image.png

  • Graph-level:

    • 药物发现:从大量抗生素中,选取出有潜力的分子,再生成符合条件的新分子,或可以在已有分子的基础上进行优化
    • 物理模拟:将粒子作为节点,相互作用力作为连接,构建图,从而预测下个时刻的粒子位置及速度
  • 预测蛋白质的空间结构:

    • 背景:由于氨基酸组成的蛋白质链非常多,需要从氨基酸多肽链一级结构,预测三维结构

    • AlphaFold:能够预测蛋白质的三维结构,加速蛋白酶的研发

    • 图的构建:将角度和距离作为连接,基团作为节点

    • AlphaFold DB:有2亿多个蛋白质的三维结构

5 图数据挖掘项目

  • ReadPaper:专业的学术讨论社区,实现文献引用网络
  • CONNECTED PAPERS:可以展示文献引用网络
  • BIOS:生物医学知识图谱
  • Hypercrx:展示项目关系网络图、项目活跃开发者协作网络图
  • OpenRank:一种基于异质网络的价值评价算法
  • 开源项目和开源企业排行榜:open-leaderboard.x-lab.info
  • 红楼梦人物知识图谱