图游走算法

一、同构图游走类算法

目标:学习出图中节点的一维表示:Node embedding(学习到节点与邻居的关系)-->下游任务
怎么得到Node embedding?
节点--> 单词 节点序列-->句子

1.1 Word2vec



思想:词的语义由词的上下文来决定。
Skip Gram:根据中心词与预测上下文(主要是中间的产物:参数w)

最后一层输出采用的优化的方法(因为计算 标准表中所有单词的概率的softmax计算量特别大):负采样(Negative Sampling)

1.2 Word2Vec图嵌入领域:Deepwalk

注:论文中用层次softmax代替了负采样
将NLP领域的思想运用到图嵌入领域。
游走方式:Random Walk (可以回头的DFS)
归一化后的转移概率分布,Z已归一化


1.3 node2vec:deepwalk的改进


三个前提:


bias random walk:

p:控制随机游走以多大的概率
q:控制随机游走偏向DFS还是BFS
q较大时(q>1),倾向与BFS
q较小时(q<1),倾向与DFS
当p=q=1时,看权值

二、异构图随机游走

2.1 metapath2vec



元路径(有实际意义的)-->最好是对称的:在图中选取的由节点类型构成的组合路径,例如:
对称的时候,游走长度更长

如何选出meta路径?人工or机器
随机游走时考虑了节点类型,但负采样的时候,没有考虑节点类型。-->不利于模型训练

2.2 matepath2vec++

在负采样的同时,考虑节点类型

2.3 Multi-metapath2vec++

2.4 side info+multi-metapath2vec++

原文地址:https://www.cnblogs.com/Towerb/p/14054503.html