【PYG】节点特征合并和节点特征提取

发布于:2024-07-04 ⋅ 阅读:(21) ⋅ 点赞:(0)

在图神经网络(Graph Neural Networks, GNN)中,节点特征合并与节点特征提取是两个关键步骤。以下是对这两个步骤的简要解释和常用方法:

节点特征合并

节点特征合并是指在图神经网络中,将节点的自身特征与其邻居节点的特征进行组合,以更新节点的特征表示。常见的特征合并方法包括以下几种:

  1. 求和(Sum):将节点的自身特征与其邻居节点的特征相加。
  2. 平均(Mean):将节点的自身特征与其邻居节点的特征取平均值。
  3. 最大值(Max):取节点自身特征与其邻居节点特征的逐元素最大值。
  4. 注意力机制(Attention):使用注意力机制为每个邻居节点分配不同的权重,然后加权求和邻居节点的特征。

公式表示:
h i ( k + 1 ) = AGGREGATE ( { h j ( k ) : j ∈ N ( i ) } ∪ { h i ( k ) } ) h_i^{(k+1)} = \text{AGGREGATE} \left( \{h_j^{(k)} : j \in \mathcal{N}(i)\} \cup \{h_i^{(k)}\} \right) hi(k+1)=AGGREGATE({hj(k):jN(i)}{hi(k)})
其中, h i ( k ) h_i^{(k)} hi(k) 表示节点 i i i 在第 k k k 层的特征表示, N ( i ) \mathcal{N}(i) N(i) 表示节点 i i i的邻居节点集合, AGGREGATE \text{AGGREGATE} AGGREGATE表示聚合函数,如求和、平均等。

节点特征提取

节点特征提取是指在图神经网络中,通过若干层的特征合并操作,最终得到节点的嵌入表示(embedding),这些表示可以用于节点分类、图分类、链接预测等任务。以下是几种常见的图神经网络模型及其节点特征提取方法:

  1. Graph Convolutional Network (GCN):通过卷积操作进行特征提取,公式为:
    H ( k + 1 ) = σ ( D ~ − 1 / 2 A ~ D ~ − 1 / 2 H ( k ) W ( k ) ) H^{(k+1)} = \sigma ( \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(k)} W^{(k)} ) H(k+1)=σ(D~1/2A~D~1/2H(k)W(k))
    其中, A ~ \tilde{A} A~ 是加入自环后的邻接矩阵, D ~ \tilde{D} D~ A ~ \tilde{A} A~ 的度矩阵, H ( k ) H^{(k)} H(k) 是第 k k k 层的节点特征矩阵, W ( k ) W^{(k)} W(k)是第 k k k 层的权重矩阵, σ \sigma σ 是激活函数。

  2. GraphSAGE:通过采样邻居节点,并对其特征进行聚合:
    h i ( k + 1 ) = σ ( W ( k ) ⋅ AGGREGATE ( { h i ( k ) } ∪ { h j ( k ) : j ∈ sample ( N ( i ) ) } ) ) h_i^{(k+1)} = \sigma \left( W^{(k)} \cdot \text{AGGREGATE} \left( \{h_i^{(k)}\} \cup \{h_j^{(k)} : j \in \text{sample}(\mathcal{N}(i))\} \right) \right) hi(k+1)=σ(W(k)AGGREGATE({hi(k)}{hj(k):jsample(N(i))}))

  3. Graph Attention Network (GAT):通过自注意力机制为每个邻居节点分配不同的权重:
    h i ( k + 1 ) = σ ( ∑ j ∈ N ( i ) ∪ { i } α i j W ( k ) h j ( k ) ) h_i^{(k+1)} = \sigma \left( \sum_{j \in \mathcal{N}(i) \cup \{i\}} \alpha_{ij} W^{(k)} h_j^{(k)} \right) hi(k+1)=σ(jN(i){i}αijW(k)hj(k))
    其中, α i j \alpha_{ij} αij是节点 i i i 和节点 j j j 之间的注意力权重。

这些方法在节点特征提取过程中,通过逐层传播和聚合邻居节点的特征,最终得到每个节点的全局特征表示。这些表示可以进一步用于各种图相关的机器学习任务。