Stanford_CS224W----Node Embeddings
Stanford_CS224W----Node Embeddings
对图的节点和图本身进行嵌入处理。
传统的机器学习步骤,过程简单总结就是特征提取+学习算法
而图表征学习则将特征提取进行自动化。
Goal:获得高效的任务无关的特征,并且用于机器学习
这节课将的就是将节点嵌入向量空间。为了简单演示,选择优化一个look-up
为什么选择将节点嵌入
- 节点之间嵌入的相似性表明网络中的节点相似性
- 编码了网络信息
- 有可能用于许多下游的预测
Encoder & Decoder
定义
可以看到,需要定义两个组件,一个是相似性(关系到选择的算法),一个是编码器(这里选择最简单的look-up)其他的decoder,取决于节点相似性
优化目标(Objective):对于相似的节点对
Random Walk Approaches for Node Embeddings
给定一个图和一个起点,我们随机选择它的一个邻居,并移动到这个邻居;然后我们随机选择这个点的一个邻居,并移动到它,等等。 以这种方式访问的点的(随机)序列是图上的随机行走。
如果从u走到v具有很高的可能性,那么u和v是相似的
Expressivity:节点相似性的可变化的随机定义,包含了本地和高阶邻域信息。
Efficiency:每次只考虑在随机路上的一同出现的节点对
Random Walk Strategy
不同的游走策略定义了不同的
上图为biase-walk,一般有俩个参数
- p: 返回上一步的概率
- q: 选择DFS和BFS的比例概率
-
其他的随机游走ideas
- Based on node attributes (Dong et al., 2017)
- Based on learned weights (Abu-El-Haija et al., 2017)
-
可选的优化方法
- Directly optimize based on 1-hop and 2-hop random walk probabilities (as in LINE from Tang et al. 2015)
-
网络处理技术
- Run random walks on modified versions of the original network (e.g., Ribeiro et al.2017’s struct2vec, Chen et al. 2016’s HARP).
Optimization
我们的目标是学习一个映射:
对数似然优化目标
其中
同时对P进行定量化,这里使用了
但是这个计算复杂度是
解决方法负采样:在所有点中选取概率和度成比例的部分点(关于数量:1. 较高的数量对应于对负面事件的较高偏向性 2. 较高的数量能提供更可靠的估计)一般取
同时有
a litile summary
node2vec在节点分类方面做得比较好,同时也更高效。记得选择符合应用的相似性定义。
Embedding Entire Graphs
Goal:将整个图映射到向量空间中
这里讲了三种方法
Simple idea 1
直接通过上文所述的方法,对每个节点进行嵌入。最后对所有节点进行处理(求和或者平均)
Used by Duvenaud et al., 2016 to classify molecules based on their graph structure
idea 2
引入了一个“虚拟点”的概念,对虚拟点进行游走算法,得到的向量则为虚拟点连接的图(子图)的图向量。
Proposed by Li et al., 2016 as a general technique for subgraph embedding
Anonymous Walk Embeddings
Anonymous的意思是,游走的结果中和节点无关,纯纯代表了图的结构。
每次游走能得到一个walk序列,之后对所有的walk序列进行处理,则能得到图的图嵌入向量
aproach 1
统计每个游走出现的次数,最后将每种游走归一化,将最后的概率向量作为图向量
比如:
- l=3, 长度为3,得到5种匿名游走。111,112,121,122,123
= probability of anonymous walk in $G¥
将频数表示为概率,需要大量的实验才能证明频率和实际频率相差无一
有一个公式可以预计出需要游走的步数m。m可以使得误差不大于
aproach 2
对匿名游走进行嵌入,最后得到一个向量矩阵作为图的向量嵌入。计算方法类似于word2vec的skip-gram,不再赘述。
summary
最后总结一些可以利用node embedding的方法
- Clustering/community detection: Cluster points
- Node classification: Predict label of node
based on z_i - Link prediction: Predict edge
based on- Concatenate:
- Hadamard:
(per coordinate product) - Sum/Avg:
- Distance:
- Concatenate:
- Graph classification: graph embedding z_G via aggregating node embeddings or anonymous random walks. Predict label based on graph embedding z_G
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏