图机器学习——2.2 节点嵌入:基于矩阵分解 及 节点嵌入的局限性
作者:互联网
1. 节点嵌入——基于矩阵分解的方法
我们得到的所有节点嵌入全部排列到一起,就构成了我们的嵌入矩阵 Z \mathbf{Z} Z:
每一列 z i \mathbf{z_i} zi代表一个节点的嵌入,其为列向量。当 v v v与 u u u为邻居节点时,我们优化目标是最大化 z v T z u \mathbf{z}_{v}^{\mathrm{T}} \mathbf{z}_{u} zvTzu(也就是使余弦相似度尽可能大)。由于我们已经对嵌入进行归一化,因此 z v T z u \mathbf{z}_{v}^{\mathrm{T}} \mathbf{z}_{u} zvTzu最大值为1,我们要尽可能使得 z v T z u = A u , v \mathbf{z}_{v}^{\mathrm{T}} \mathbf{z}_{u}=A_{u, v} zvTzu=Au,v,也就是 Z T Z = A \boldsymbol{Z}^{T} \boldsymbol{Z}=A ZTZ=A( A A A为邻接矩阵):
但实际上 Z T Z = A \boldsymbol{Z}^{T} \boldsymbol{Z}=A ZTZ=A是几乎不可能达到的,因此我们的优化目标是:
min Z ∥ A − Z T Z ∥ 2 \min _{\mathbf{Z}}\left\|A-Z^{T} \boldsymbol{Z}\right\|_{2} Zmin∥∥A−ZTZ∥∥2
前面的随机游走其实本质上就是使用 softmax 函数替代L2范数,但目标是一致的。此时,由边连通性定义节点相似度的内积解码器等价于
标签:嵌入,mathbf,vol,boldsymbol,矩阵,2.2,节点 来源: https://blog.csdn.net/weixin_41929524/article/details/121468984