这个 Demo 让我想起自己大学时候足球梦,那时候爱上了足球,不管刮风下雨都想去踢几脚,当时可能主要是为出风头吸引异性的目光吧。
image本来这个系列分享只想搞一个上下,不过看样子只搞上下应该是不够,需要来一个上中下。今天外面是一个阴雨绵绵,虽然不热但是空气有些潮湿感觉不是很舒服。
在开始今天内容之前我们想有必要给大家介绍一下图概念,这里图 graph 是一种结构,而非视觉看到图片的图。在图在这里指数据结构,图结构通常是由节点和边来表示,边将节点连接在一起表示节点关系。
image通常用于表示社交关系,例如微信好友所组成网络就可以用图来表示,边可以表示两个节点的距离,我们通过图可以找到任意两个节点间所有路径。看样还是有必要在深入地介绍一下图中路径搜索算法
如何图嵌入到连续向量世界
将实体嵌入到连续的向量空间内,图嵌入到向量空间时候我们需要将节点的结构信息也嵌入到向量空间中。也就是将节点和其相邻的节点一起编码到嵌入的向量中。如果熟悉 word2vec 的 skipgram 算法,应该会有一些感受,就是这种思想不就是类似与 skipgram 模型。
其实我们之前说到的在将图进行 node2vec 我们需要进行采样策略,之前只是简单介绍如何做采样策略,其实采样过程就是通过图中进行游走来采样(生产)出一条一条节点序列,然后再将节点序列输入神经网络得到嵌入向量。
采样策略成为 node2vec 的关键步骤,我们可以采用随机游走 randWalk ,也可以采用 DFS(深度优先搜索算法)和BFS(广度优先搜索算法),而实际中如图A 所示在 node2vec 是通过一个参数 alpha 来控制
image上一个分享中,已经介绍了这张图,在图中我们从 t 节点到 v 节点,那么接下来该如何选择下一个节点,如果选择 x2 和 x3 就倾向于深度搜索而选择了 x1 就倾向于广度搜索。这里 alpha 值是由 p 和 q 两个超参数来控制的。因为超参数是在训练之前认为设置,这样我们就可以为不同图设置不同采样策略。
image这样做的好处就是可以的得到具有更多表达能力的高质量的嵌入向量,从而可以基于这样向量训练出更好的模型。
网友评论