【CS224W】斯坦福图机器学习-相关笔记-Fall 2021

【CS224W】斯坦福图机器学习-相关笔记

  1. 斯坦福图机器学习-哔哩哔哩课程链接

  2. 值得参考的github

  3. 官方课程链接-cs224w

1. 导论,传统的图学习方法(Lecture1,Lecture2)

1.1 why graphs

  1. graphs are general language for describing and analyzing entities with relations/interactions.
    描述和分析实体之间的关系和结构
  • 知识图谱仅仅只是图神经网络中的一类
  • network
  • graph
  1. 不再像传统的机器学习需要做大量的特征工程工作,而是利用表征学习自动的获取关键特征。
  2. node–> vector(feature representation ,embedding),需要学习这个node映射到vector的函数。
  3. 本课程重点:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第1张图片

1.2 applications of Graph ML

  • examples of node-level ML tasks:
  1. alpha fold:预测蛋白质折叠结构
  2. recommender system:推荐系统
  3. drug side effects:多种药物的副作用
  • examples of subgraph-level ML tasks:
  1. traffic prediction: 预测时间、长度等,就是和edge相关的
  • examples of graph-level ML tasks:
  1. drug discovery:用来发现新药中有用的分子,给分子之间的能力排序
  2. molecule generation/optimization: graph generation 生成新的分子,优化现有分子的能力属性
  3. physics simulation:物理仿真,能够确定粒子间的关系,并且形成一张图,预测这些粒子在之后会怎样变化,也就是预测材料之后会如何变形。

1.3 choice of representation

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第2张图片

  • 一些概念和不同的图形:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第3张图片

  • node degree:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第4张图片

2. 传统的图学习方法(feature-based methods)

traditional ML pipeline:
需要一直考虑结构(关联)特征和节点(属性)特征
【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第5张图片

2.1 Node (node-level tasks and features)

node-level features:
  1. goal:特征化(表征)一个网络中的node 的结构和位置,通常利用以下数据作为node-level的特征:
    (1)importance-based features:
    node degree
    node centrality:节点中心度量
    (2)structure-based features:
    node degree
    clustering coefficient:聚类系数
    graphlets

  2. node degree:
    node拥有的边的数目就是它的degree
    存在node拥有相同的degree,单单凭借degree是无法区分不同node的

  3. node centrality:节点中心度量数
    因为node degree仅仅只是计算了neighborhood node个数,但是并没有抓住他们的重要性/重要程度。
    node centrality计算了节点在一个图中的重要性,其中计算手段有例如

  • eigenvector centrality:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第6张图片
    一个节点周围的节点越重要,那么这个节点也就越重要,和一个节点有多少链接没关系,而是这些连接指向的节点以及重要性如何有关。

  • Betweenness centrality:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第7张图片
    一个节点是重要的,如果这个节点是位于很多其他节点之间的最短路径上。
    计算出来的值越大代表该节点越重要

  • Closeness centrality:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第8张图片
    计算出来的值越大,代表这个节点和其它节点之间的路径越小,也就是这个节点越重要。节点越居中,距离其他节点越近,也就是越重要。

  1. clustering coefficient:聚类系数
    测量一个节点的邻居节点们的关联情况
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第9张图片
    3/6=0.5

  2. graphlets:
    rooted connected non-isomorphic subgraph-根连通的非同构子图,更好的描述了一个节点邻居节点的拓扑结构。最多就是4跳,因为一共只有5个节点的拓扑图。
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第10张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第11张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第12张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第13张图片

2.2 Link (edge)

link-level prediction task
  • 基于已经存在的links去预测新的links。
  • 对于特征设计的关键在于a pair of nodes。
  • 在测试的时候需要对所有不存在links的节点对进行排序,top K个节点对就是被预测的。
对于link prediction任务,常见的有两种形式
  1. links missing at random:
    去掉一些links,然后目标在于预测这些
  2. links over time:
    随着时间的变化,预测links在新的时间维度下的新的情况
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第14张图片
link-level features
  1. distance-based feature
    (1)shortest-path distance between two nodes
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第15张图片

  2. local neighborhood overlap(重叠)
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第16张图片

  3. global neighborhood overlap
    产生原因在于local neighborhood overlap的局限性;
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第17张图片
    对于global neighborhood overlap的计算流程如下:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第18张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第19张图片
    通过邻接矩阵的手段,来获得一对节点中各种长度路径的数量,也就是global neighborhood overlap。
    (u的相互连接点和v的路径长度为1的点)
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第20张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第21张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第22张图片

2.3 Graph-level features and graph kernel

graph-level features
  1. 目标:we want features that characterize the structure of an entire graph.
background: kernel method

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第23张图片
核心在于设计一个内核函数,而不是一个特征向量
kernel衡量两个图的相似度,通常来说是衡量不同数据点之间的相似性

graph kernels:用来测量两个图之间的相似度
  1. 比较常用的有:graphlet kernel、 Weisfeiler-Lehman kernel

  2. graph kernel : key idea
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第24张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第25张图片

  3. graphlet kernel
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第26张图片
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/a4【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第27张图片
    这张ppt上的计算有点问题,详情看官网ppt是对的
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第28张图片
    这种kernel的弊端,计算量很大:
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第29张图片
    关于核函数和svm,可以看看下图:

    因此最小化loss function其实就是找到一组α使得loss function最小,因为内积那部分是已知的。

  4. Weisfeiler-Lehman kernel
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第30张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第31张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第32张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第33张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第34张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第35张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第36张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第37张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第38张图片

summary

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第39张图片

3. node embeddings

3.1 node embeddings

(1) graph representation learning

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第40张图片

(2)why embedding

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第41张图片
indicates:表示

(3) node embedding:encoder and decoder
  1. setup
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第42张图片
    不做任何特征处理,就是邻接矩阵

  2. embedding node
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第43张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第44张图片
    decoder部分一般都是用很简单的解码器,例如点积。

  3. two key components
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第45张图片
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第46张图片
    v就是一个one-hot向量
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第47张图片
    跟word2vec思路基本一样
    【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第48张图片

(4)summary

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第49张图片

3.2 random walk approaches for node embedding

【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第50张图片
【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第51张图片
就是u和v在图上随机游走共同出现的概率。
【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第52张图片
【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第53张图片
就是在用随机游走来获得图上节点的相似性,详细内容都在ppt上。
【CS224W】斯坦福图机器学习-相关笔记-Fall 2021_第54张图片
具体随机游走算法的实现,详情见PPT;
一般是BFS结合DFS;

你可能感兴趣的:(人工智能,知识图谱,图神经网络)