简介
deepwork本质是word2vec模型在图数据的扩展,通过deepwork方法可以获得更加有效的图数据节点的在连续空间的编码。在图数据用random walk采样的序列等价于自然语言中的句子,序列中的节点等价于自然语言中的单词。
本节提到的所有word2vec技术(Cbow,Skip-gram,Hierarchical Softmax)在经典回顾:word2vec模型中均有详细介绍。
deepwork
幂律分布(为什莫random walk采样的序列等价于自然语言中的句子)
这里又可以称为:自然语言相关技术可以被用于图数据的原因。在由维基百科100000篇文章组成的数据集中,多个句子中单词出现的频率遵循幂律分布,直观可以理解为出现次数多的单词少,出现次数少的单词多。在youtube数据构成的网络中,如果节点的度遵循幂律分布(度大的节点少,度小的节点多),那麽该网络经过多次random walk获得序列中,节点出现的频率也遵循幂律分布,可以直观理解为出现次数多的节点少,出现次数少的节点多。因此这里网络中random walk的序列对应自然语言中的句子,random walk序列中的节点对应自然语言中的单词。
random walk
一次random walk被记作 W v t W_v^t Wvt,可以通俗理解为以图上一个节点 v v v(随机选取)为起始节点,一共包含 t t t个节点一条路径。具体的第2个节点是从第一个节点的邻居随机选取,第3个节点是从第二个节点的邻居随机选取,以此类推。
优化目标
为了实现能够获得更通用的图节点在连续空间的编码,这里需要借助自然语言处理中的word2vec中Cbow思路,优化目标为:最大化在random walk的路径中,根据已经获得的节点 v 1 , v 2 , . . . , v i − 1 v_1,v_2,...,v_{i-1} v