前言
图网络表示学习:或图表示学习,也称为图嵌入学习,目的是希望能够将网络中的节点用比较低维的向量去表达,同时在这个向量空间中,网络结构的一些性质仍能保持。在原始图中相似(不同的方法对相似的定义不同)的节点其在低维空间也相近,得到的表征向量可以用来做节点分类,链接预测等下游任务。
一、方法
1.在学习一个网络表示的时候需要注意的几个性质:
- 适应性:网络表示必须能适应网络的变化。网络是一个动态的图,不断地会有新的节点和边添加进来,网络表示需要适应网络的正常演化。
- 属于同一个社区的节点有着类似的表示:网络中往往会出现一些特征相似的点构成的团状结构,这些节点表示成向量后必须相似。
- 低维:代表每个顶点的向量维数不能过高,过高会有过拟合的风险,对网络中有缺失数据的情况处理能力较差。
- 连续性:低维的向量应该是连续的。
2.Random Walks
random walk:就是在网络上不断重复地随机选择游走路径,最终形成一条贯穿网络的路径。从某个特定的端点开始,游走的每一步都从与当前节点相连的边中随机选择一条,沿着选定的边移动到下一个顶点,不断重复这个过程。阶段随机游走实际就是长度固定的随机游走。
使用随机游走的好处:
- 并行化:随机游走是局部的,对于一个大的网络来说,可以同时在不同的顶点开始进行一定长度的随机游走,多个随机游走同时进行,可以减少采样的时间。
- 适应性:可以适应网络局部的变化。网络的演化通常是局部的点和边的变化,这样的变化只会对部分随机游走路径产生影响,因此在网络的演化过程中不需要每一次都重新计算整个网络的随机游走。
3.DeepWalk
该算法由两个一个随机游走生成器random walk generator,一个更新程序update procedure组成。
随机游走生成器:对于图G,均匀随机采样一个节点v,作为随机游走的根节点。然后一直向周围邻居采样直到达到最大路径长度t。随机游动的长度没有限制,但是在实验中设置最大步长是固定的。
过程如下: