节点嵌入
传统方法(学习日志2):主要工作花在了特征工程上,描述图神经网络的结构
——》
表示学习:自动区分特征
目标:通过对图的机器学习,进行有效且独立的特征学习
特征表示:将图中一个节点表示为d大小的向量 / 嵌入
节点之间嵌入程度的相似性–》节点在网络中的相似性
它可以用于许多任务:
节点在网络中的相似性-----相似度函数------》节点之间嵌入程度的相似性
这里使用最简单的解码器:点积
最简单的译码方式:浅层嵌入,每个节点都被分配一个唯一的嵌入向量
两种方法:
- DeepWalk
- node2vec
解码+译码的框架:
这些嵌入独立于任务之外,因为它们没有接受过给定的预测任务训练,或特定的节点标签或链接的节点子集。
|
|
|
随机游走
首先进行定义:
1.随机游走的概率定义
2.两种生成预测概率的函数
|
|
|
随机行走优化:
随机梯度下降:
|
|
|
|
node2vec:
使用灵活的有偏向的随机游走,可以在本地视图和全局视图之间进行权衡
使用广度和深度优先搜索
算法步骤:
嵌入空间中的距离反映原始网络中的节点相似性
节点相似性的两个不同概念:天然相似性、邻里相似性
node2vec在节点分类上表现更好,随机游走往往效率更高
https://blog.csdn.net/weixin_38616616/article/details/120315705
嵌入整个图:
匿名随机游走:
两种方法:
- 图的嵌入只是点的嵌入之和
- 创建一个虚拟节点表示嵌入图,并且进行标准的图嵌入技术
- 匿名随机游走:与访问节点无关,与节点对应索引有关
计算匿名随机游走:
|
|
|
学习游走嵌入:预测在delta-大小的窗口中,某些情况下会同时发生的游走
|
|
|
总结:
|
|
|
节点嵌入的应用: