目录
1.Traditional ML for Graphs的流程
2.Graph Representation Learning
Node Embeddings:Encoder and Decoder
4.框架总结 Encoder+Decoder FrameWork
前言
1.Traditional ML for Graphs的流程
- 给定一个图,提取features(node edge graph-level features),然后学习一个模型,最终将这个模型用于预测。
时间大多花费在特征工程中(为了能找到最好描述网络的特征,最后将特征用在下流预测任务)。
2.Graph Representation Learning
- 可以自动学习特征,减轻每次都要手动提取特征(特征工程)的需要。
- 目标:通过图学习机器学习的高效的与任务无关的特征。
例如:在node-level,学习如何在d维空间上映射此节点,将d维的向量称为特征表示(或embedding)。mapping过程自动发生,且d维向量捕获我们感兴趣的网络的底层拓扑结构。
3.why embedding?
- 任务:将节点映射到embedding space
- 节点之间embeddings的相似性表明它们在网络中的相似性。
- 自动对网络信息进行编码
- 可以用于不同的下游预测任务
例子:可以从下图中看到图中节点被映射到2D空间
Node Embeddings:Encoder and Decoder
1.引入
图的定义(仅考虑比较简单的无向图,也没有附加的属性,只给定节点集和邻接矩阵)
目标是:对节点进行encoder(映射到embedding 空间),因此在embedding空间中的相似性近似于原始图中的相似性。学习这个encoder
一般embedding空间中的相似性度量采用点积(余弦相似性),目标:使embedding空间中的相似性度量近似等于原始网络中定义的相似性度量。
总结:
- Encoder将节点映射到embeddings(低维空间)
- 定义一个相似性函数(一种原始网络的相似性度量)
- Decoder将embeddings映射到similarity score(这里使用了最简单的decoder,点积)
- 优化encoder的参数,使得
2.两个key Components:
- Encoder:将每个节点映射成低维向量
- Similarity function:表明vector space的相似性如何映射到原始网络的相似性
3.“shallow”embedding
比较简单的Encoder只是一个embeddiing-lookup(查找表)。只要找到一个embeddings的矩阵,就只需要查找对应编号的节点的embedding。Z是d×|V|维的矩阵,第i列为节点i的embedding。v是位置向量(indicator),是one-hot编码,除了表明是节点v的元素为1,其它元素都为0.
每一个节点被分配一个独一无二的embedding 向量,我们直接优化每一个每一个节点的embedding。
4.框架总结 Encoder+Decoder FrameWork
- shallow encoder:仅是简单的embedding查找表
- 优化参数:对于简单的encoder,优化的是Z中每一个节点的embedding
当然之后也会介绍deep encoder
- Decoder:基于节点相似性,此处仅是简单点积
- Objective:最大化相似的节点对(u,v)的
5.如何定义节点相似性
节点连接;共享邻居节点;有相同的结构性作用......
之后介绍使用random walks的相似性度量
6.Note on Node Embeddings
学习节点嵌入是unsupervised/self-supervised的方式,因为:
- 没有使用节点标签
- 没有使用节点features(一些额外的属性信息)
- 目的是直接估计一个节点的坐标(embedding),因此可以保留一些网络结构方面的知识( DEC捕获)。
- 这些embeddings和任务是独立的task independent。并没有经过特定任务的训练,仅是经过网络本身训练,可以用于任何task。