node2vec

作者: jinjin1009 | 来源:发表于2021-04-25 21:14 被阅读0次

    首先是两种图的游走方式,深度优先游走(DFS)、广度优先游走(BFS)
    BFS倾向于在初始节点的周围游走,可以反映出一个节点的邻居的微观特性;而DFS一般会跑的离初始节点越来越远,可以反映出一个节点邻居的宏观特性

    本文引入了两个参数来控制随机游走产生的方式


    image.png

    上图中,对于一个随机游走,如果已经采样了(t,v),也就是说现在停留在节点v上,那么下一个要采样的节点x是哪个呢?
    定义了一个概率分布,也就是一个节点到它的不同邻居的转移概率:


    image.png
    直观解释一下这个分布:
    1、如果t和x相等,那么采样x的概率为1/p;

    2、如果t和x相连,那么采样x的概率为1;
    3、如果t和x不相连,那么采样x的概率为1/q;
    参数p和q的意义分别如下:
    返回概率p:
    如果p>max(q,1),那么采样会尽量不往回走,对应上图的情况,就是下一个节点不太可能是上一个访问的节点t;
    如果p<max(q,1),那么采样会倾向于返回上一个节点,这样就会一直在起始点周围某些节点来回转来转去;
    出入参数q:
    如果q>1,那么游走会倾向于在起始点周围的节点之间跑,可以反映出一个节点的BFS特性;
    如果q<1,那么游走会倾向于往远处跑,反映出DFS特性

    其实DeepWalk是根据边的权重进行随机游走,而node2vec加了一个权重调整参数,t是上一个节点,v是最新节点,x是候选下一个节点,d(t,x)是t到候选节点的最小跳数
    通过不同的p和q参数设置,来达到保留不同信息的目的
    当p=1,q=1时,游走方式就等同于DeepWalk中的随机游走

    相关文章

      网友评论

          本文标题:node2vec

          本文链接:https://www.haomeiwen.com/subject/ibsjrltx.html