核心要点
能讲核心思路:把图上随机游走生成的节点序列类比「句子」,用 Skip-gram 学 embedding
能说 DeepWalk:均匀随机游走 + Word2Vec,邻近节点 embedding 相近
能说 Node2Vec:用 p(返回参数)、q(进出参数)有偏游走,调节 BFS(同质)与 DFS(结构)偏好
能指出局限:转导式、只用结构不用节点特征,新节点无法直接得到 embedding
标准回答
核心思路(独占一行)
DeepWalk 和 Node2Vec 把 NLP 的词嵌入思想搬到图上:用随机游走从图中采样出一条条节点序列,把序列当「句子」、节点当「词」,再用 Skip-gram 让在同一窗口内共现的节点 embedding 互相靠近。
DeepWalk
从每个节点出发做固定长度的均匀随机游走,生成大量节点序列,直接喂给 Word2Vec 的 Skip-gram 训练。结果是图上邻近、结构相似的节点得到相近的低维向量,可用于节点分类、链接预测等。
Node2Vec
在 DeepWalk 基础上引入有偏二阶随机游走,用两个超参数控制游走倾向:返回参数 (p) 控制回到上一节点的概率,进出参数 (q) 控制向外探索的概率。(q) 大时偏 BFS(局部、刻画同质社区),(q) 小时偏 DFS(远距离、刻画结构角色),从而在「同质性」与「结构等价性」间灵活权衡。
局限
两者都是转导式(transductive),只利用图结构、不使用节点自身特征,且为每个节点学一份固定 embedding——训练时未见的新节点无法直接得到表示。这正是 GraphSAGE 等归纳式 GNN 要解决的问题。
常见误区
⚠️ 常见踩坑
别把 DeepWalk/Node2Vec 当成 GNN——它们不做消息传递、不用节点特征,只是基于游走共现的浅层 embedding;也别记反 Node2Vec 的 p/q,q 大偏 BFS(同质),q 小偏 DFS(结构)。
追问
追问 1:Node2Vec 的 p、q 分别控制什么?
p 是返回参数,越小越倾向回头走、留在原地附近;q 是进出参数,q>1 倾向走回起点邻域近似 BFS(捕获同质社区),q<1 倾向远离起点近似 DFS(捕获结构角色)。二者共同决定游走在局部探索与远距离探索间的平衡。
追问 2:DeepWalk 与 GNN(如 GraphSAGE)的根本差别是什么?
DeepWalk 是基于随机游走共现的浅层、转导式 embedding,不使用节点特征,新节点无法泛化;GNN 通过消息传递聚合邻居特征,能融合结构与属性,GraphSAGE 等还是归纳式,可对新节点/新图直接推断表示。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。