一、同构图游走类算法
目标:学习出图中节点的一维表示: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++
在负采样的同时,考虑节点类型