cs224w学习笔记(01)

Graph介绍

可以视为graph的data type

  • 社交网络
  • 因特网
  • 文件引用
  • 地铁等

简单来说,可以视为net的事物,大部分情况也可以视为graph。

Sometimes the distinction between networks & graphs is blurred

数据结构与机器学习

在进行学习前需要明确输入的数据结构,而机器学习更适合用于简单的序列或网格结构,但由于graph没有明确的大小并且其拓扑结构复杂,没有grids的空间局部性。
20210912112239

目前,graph是deep learning的前沿研究领域
20210912112406

在对graph模型做train之前需要做预处理,因为Raw Data 不能用于特征工程

graph LR A[Raw Data] --> B[Graph Data] --> C[Learning Algorithm] --> D[Model]

图像的表达需要用到embedding技术,即将图从高维矩阵变为低维向量。图嵌入需要捕捉到图的拓扑结构,顶点与顶点的关系,以及其他的信息 (如子图,连边等)。如果有更多的信息被表示出来,那么下游的任务将会获得更好的表现。在嵌入的过程中存在着一种共识:向量空间中保持连接的节点彼此靠近。

20210912113355

Applications of Graph ML

传统机器学习的任务级别可以划分为三个级别:Node-level、Edge-level、Graph-level

  • 节点级别

    • 蛋白质结构的预测

        蛋白质的三维空间结构基于其氨基酸链,可以蛋白质作为一个,通过机器学习进行结构的预测。
      Nodes:蛋白质链中的氨基酸
      Edges: 氨基酸之间的连接
      20210912114857

  • 边级别

    • 推荐系统
      课程中用蛋糕与衣服进行举例
      Nodes: 用户和商品
      Edges:用户与商品之间的相互联系

      \[d(z_{cake1},z_{cake2}) < d(z_{cake1},z_{sweater}) \]

      cake1与cake2 之间的联系比cake1与sweater之间的联系更强,所以推荐系统会推荐cake2,而不是sweater。

    • 预测side effects
      以药物为例,两种不同的药物之间可以发挥1+1>2的作用,graph机器学习还可以做到的任务就是预测两种药物的联合作用,也就是side effects
      Nodes: Drugs & protein
      Edges: Interactions

      如图所示,可以预测药物S与C之间的相互联系
    • 预测交通
      Nodes: Road segments
      Edges: connectivity between road segments
      20210912134817

  • 图级别

    • 药物发现

      Nodes: Atoms
      Edges: Chemical bonds
      将已经有的药物分子视为一个图结构,并将这些图作为训练集进行训练,从而预测新的药物分子的结构。
      20210912140002
      可以产生新的药物分子,也可以优化现有的药物分子。

    • 物理模拟
      Nodes: particles
      Edges: Interaction between particles

graph的结构

20210912142638

一个图可以由多个节点构成,节点之间可能存在边进行关联,这样的系统称为图。

$ N, E, G(E,N) $

选择合适的网络描述方式决定了能否很好地解决问题

图可以分为两种,有向图和无向图

  • 有向图
    连接是没有指向的,常用于合作关系、朋友关系等没有指向性的情况。
    degree:$ K_i = $ edges num of Node i

    Avg.degree: \(\overline{k} = \frac{1}{N}\sum\limits_{i=1}^{N}K_i = \cfrac{2E}{N}\)

    全连接无向图:只有一个最大连通子图

  • 无向图
    连接是有指向性的,常用于打电话,或者社交媒体的关注等有指向性的情况。
    degree分为入度和出度,节点degree为二者之和

    强连接:任意两个节点之间都有路径

Bipartite Graph

Bipartite Graph is a graph whose nodes can be divided into two disjoint sets U and V such that every link connects a node in U to one in V; that is, U and V are independent sets

20210912144518

图的表示

  • 邻接矩阵(有时候每个节点的度远远小于N-1)
  • 邻接表

图的其他分类

  • Unweighted
  • Weighted
  • self-edges
  • Multigraph

传统图机器学习方法

传统机器学习的任务级别可以划分为三个级别:Node-level、Edge-level、Graph-level
20210912145612

按照节点的不同,特征也分别为nodes、links、graphs

posted @ 2021-09-12 16:15  kalice  阅读(184)  评论(0编辑  收藏  举报