大家好,这是Graph Embedding系列文章的第四篇,如果想回顾下之前的几篇,请戳 ?
下面看看来自清华的TADW
DeepWalk的影响力可太大了,今天这篇包括之前介绍的几篇Graph Embedding
文章都是在其基础上的优化。在之前,大多数网络表示学习研究仅仅考虑网络结构,而忽略了节点可能包含的丰富的信息,例如节点文本信息。
如果想结合的话,一个简单直观的做法是,分别学习 网络结构的表示 以及 文本特征的表示,然后将两者通过concat操作或者其他操作拼接在一起。但是这样丢失了两者的原始复杂交互,为此论文作者提出一种 『Text-Associated DeepWalk:TADW』模型,从矩阵分解的角度优化deepwalk,将丰富的节点文本信息融入进模型。下面来看看具体模型吧~
论文的一个成果是证明了deepwalk可以被认为是一个矩阵分解的操作,如下图
其中,
是待分解的矩阵,其中每个元素
代表从节点
经过固定步长的随机游走到达节点
的平均概率对数。这里的矩阵分解其实就是和Skip-Gram一样的,感兴趣的可以看看另外一篇关于词向量矩阵分解的论文:Neural Word Embedding as Implicit Matrix Factorization[2]
ps. 原论文中有关于这个的详细证明,自行查阅。
那么如何在矩阵分解中加入额外信息呢?那当然是继续加入一个矩阵,如下图,
黄色的矩阵为新加入的文本特征矩阵。
如果是一般的矩阵分解,损失函数为,
对于TADW,可以稍微调整为,
可以发现,对于
和
矩阵,在固定其中一个的情况下,整个损失函数对于另外一个来说是凸函数,所以优化过程可以交替固定和更新两个矩阵即可。
实验的话,是在几个常用的数据集上,对不同嵌入模型得出的embedding经过SVM后评判分类效果,
文章虽然比较老,但是从另一个角度分析了经典算法DeepWalk
,并且应该算是第一批提出将节点文本信息融入network的工作,还是很有新意。