CS224W图神经网络笔记自用:Message passing and Node Classification

Message Passing and Node Classification

1. outline

1.1 前言

要解决的问题:给定一个在某些节点上有标签的网络,我们如何为网络中的所有其他节点分配标签(半监督节点分类问题)?
CS224W图神经网络笔记自用:Message passing and Node Classification_第1张图片
在第三章,我们采用节点嵌入的方法来解决这个问题,今天我们将讨论一个替代解决框架:消息传递,背后的思想是,网络中存在相关性(依赖性),即相似的节点是相互连接的。核心概念是collective classification(集体分类):即将标签一起分配给网络中所有节点的想法。
今天我们将介绍三种技术:

  • Relational classification(关系分类)
  • Iterative classification(迭代分类)
  • Correct & Smooth(正确性和平滑性)

1.2 网络中存在相关性

节点的行为在网络的链接中相互关联,相关性是指:相近的节点颜色相同(属于同一类)。
CS224W图神经网络笔记自用:Message passing and Node Classification_第2张图片
关于网络中节点行为的相关性,存在以下两种解释:CS224W图神经网络笔记自用:Message passing and Node Classification_第3张图片

1.2 Social Homophily

同质性:个体有与相似的人交往和联系的倾向(“物以类聚”)
这种同质性已在大量基于各种属性(例如,年龄、性别、组织角色等)的网络研究中观察到:
例如,专注于同一研究领域的研究人员更有可能建立联系(在会议上开会、在学术会谈中进行互动等)。
example:在线社交网络
CS224W图神经网络笔记自用:Message passing and Node Classification_第4张图片
志趣相投的人因为同质性联系更加紧密

1.3 Social Influence

影响:社会关系可以影响一个人的个人特征
CS224W图神经网络笔记自用:Message passing and Node Classification_第5张图片

2. 如何利用网络中的节点相关性

2.1 启发点(Motivation)

  • 类似节点通常在网络中紧密连接或直接连接:
    • Guilt-by-assoiation:如果我连接到带有标签X的节点,那么我很可能会带有标签X。
    • example:恶意/良性网页
      恶意网页相互链接,以提高可见性,看起来可信,并在搜索引擎中排名更高,所以如果一个网页是恶意的,那么连接到它的网页应该也是恶意的。
  • 在网络中节点v的分类标签可能取决于:
    • 节点v的特征
    • 节点v邻居的标签
    • 节点v邻居的特征

2.2 半监督学习

下面是一个半监督学习任务:
CS224W图神经网络笔记自用:Message passing and Node Classification_第6张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第7张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第8张图片
Task:根据节点特征和网络结构信息找出节点的各个标签的概率 P ( Y v ) P(Y_v) P(Yv)

**集体分类(collective classification)**问题概述:

  • 想法:使用相关性同时分类互连节点
  • Probabilistic framework
  • 马尔可夫假设:节点v的标签 Y v Y_v Yv仅取决于其邻居集 N v N_v Nv的标签
    P ( Y v ) = P ( Y v ∣ N v ) P(Y_v) = P(Y_v|N_v) P(Yv)=P(YvNv)
  • 集体分类有三步:
    1. Local Classifier: 设置初始标签(按照节点属性,不依赖网络信息)
    2. Relational Classifier:捕获节点之间的相关性
    3. Collective Inference(集体推理):在图中传递相关性(迭代地将关系分类器应用于每个节点并更新,以传递相关性)

应用

  • 文档分类
  • 词性标记
  • 链接预测
  • 光学字符识别
  • 图像/三维数据分割
  • 传感器网络中的实体分辨率
  • 垃圾邮件和欺诈检测

接下来我们将专注讨论半监督节点问题,并介绍三种解决方法:

  • Relational classification(关系分类)
  • Iterative classification(迭代分类)
  • Correct & Smooth(正确性和平滑性)

3. Relational Classification

思想:在网络中传播节点标签,节点v的类概率 Y v Y_v Yv是其邻居类概率的加权平均。
初始化:对于已标记的节点v,用真实的标签初始化 Y v Y_v Yv;如果v未被标记,就初始化 Y v = 0.5 Y_v = 0.5 Yv=0.5。以随机顺序更新所有节点,直到收敛或达到最大迭代次数。
update:用以下公式更新节点v及其标签c(例如0或1),该公式的基本假设是有边相连的节点标签相同CS224W图神经网络笔记自用:Message passing and Node Classification_第9张图片如果边具有强度/权重信息, A v , u A_{v,u} Av,u的值可以是边之间的权重, P ( Y v = c ) P(Y_v = c) P(Yv=c)是节点v具有标签c的概率。
这样做的问题在于:

  • 无法保证收敛
  • 模型不能利用节点的特征信息
    CS224W图神经网络笔记自用:Message passing and Node Classification_第10张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第11张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第12张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第13张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第14张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第15张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第16张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第17张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第18张图片

4. Iterative Classification

Relational classifier没有利用节点的属性,iterative classification方法利用节点v的属性 f v f_v fv和其邻居集 N v N_v Nv的标签 z v z_v zv来分类节点v,我们训练两个分类器:基础分类器关系分类器
CS224W图神经网络笔记自用:Message passing and Node Classification_第19张图片

4.1 computing the Summary z v z_v zv

Z v Z_v Zv是能捕获节点v周围标签的向量,我们可以用以下几种不同的方式设置 Z v Z_v Zv

  • 将其设置为 N v N_v Nv中每个标签的比例
  • 将其设置为 N v N_v Nv中最常见的标签
  • 将其设置为 N v N_v Nv中标签的数量
    CS224W图神经网络笔记自用:Message passing and Node Classification_第20张图片

4.2 迭代分类器的架构

阶段一:仅根据节点属性进行分类,同时在标记的训练集上,训练两个分类器(可以使用线性分类器,神经网络等方法)在这里插入图片描述阶段二:迭代直至收敛。

  • 在测试集上,基于分类器 ϕ 1 \phi_1 ϕ1设置标签 Y v Y_v Yv,计算 z v z_v zv,然后基于分类器 ϕ 2 \phi_2 ϕ2预测标签
  • 对每个结点v重复一下过程
    • 根据所有结点 u ∈ N u u \in N_u uNu的标签 Y u Y_u Yu 更新 z v z_v zv
    • 根据新的 z v ( ϕ 2 ) z_v(\phi_2) zv(ϕ2)更新 Y v Y_v Yv
  • 迭代直到类标签稳定或达到最大迭代次数
  • 注意:不保证收敛

4.3 Example: Web Page Classification

CS224W图神经网络笔记自用:Message passing and Node Classification_第21张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第22张图片
根据只靠节点特征分类的基础分类器 ϕ 1 \phi_1 ϕ1,要预测的节点被错误分类成了类0,我们能通过网络结构信息改进这个结果吗?
接下来,我们将创建能捕获网络结构信息的向量 z v z_v zv来改进分类结果:
CS224W图神经网络笔记自用:Message passing and Node Classification_第23张图片
I I I的第一个值 I 0 I_0 I0代表传入边中预测为0的节点数;
I I I的第一个值 I 1 I_1 I1代表传入边中预测为1的节点数
O 0 , O 1 O_0,O_1 O0O1同理

然后我们根据 f v 和 z v f_v和z_v fvzv训练分类器,分类器 ϕ 1 \phi_1 ϕ1只使用 f v f_v fv进行训练,分类器 ϕ 2 \phi_2 ϕ2使用 f v 和 z v f_v和z_v fvzv进行训练。
CS224W图神经网络笔记自用:Message passing and Node Classification_第24张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第25张图片CS224W图神经网络笔记自用:Message passing and Node Classification_第26张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第27张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第28张图片
CS224W图神经网络笔记自用:Message passing and Node Classification_第29张图片

5. Collective Classification: Correct & Smooth

5.1 C&S

最后,我们介绍C&S,一种最新的集体分类方法。CS224W图神经网络笔记自用:Message passing and Node Classification_第30张图片
C&S方法在当前的OGB(节点属性预测)排行榜中名列前茅
现在我们有一个部分标记的图和图上节点的特征,我们用C&S做节点分类任务:CS224W图神经网络笔记自用:Message passing and Node Classification_第31张图片
C&S方法有三个步骤:

  • 训练基础预测器
  • 使用基础预测仪预测所有节点的软标签
  • 使用图结构对预测进行后期处理,以获得所有节点的最终预测

5.2 Train Base Predictor

训练预测所有节点上的软标签(类概率)的基本预测器

  • 标记节点用于测试/验证数据
  • 基本预测器可以很简单:仅使用节点特征的线性模型/多层感知器(MLP)
    CS224W图神经网络笔记自用:Message passing and Node Classification_第32张图片

5.3 Predict Over All Nodes

给定一个经过训练的基预测器,我们应用它来获得所有节点的软标签

  • 虽然我们希望这些软标签准确无误,但是事实肯定并非如此。
  • 我们是否可以使用图形结构对预测进行后处理,使其更准确CS224W图神经网络笔记自用:Message passing and Node Classification_第33张图片

5.4 Post-Process Predictions

C&S使用两个步骤对软预测(soft predictions)进行后期处理

  • Correct step
  • Smooth step

Correct step: 核心思想是:我们期望基本预测中的误差沿图中的边呈正相关。换言之,节点u处的错误会增加u的相邻节点发生类似错误的概率。因此,我们应该在图表上“spread”这种不确定性。
C&S背后的思想:

  • Correct step:

    • 软标签的误差程度是有偏差(biased)的
    • 我们需要纠正误差偏差。
  • Smooth step:

    • 预测得到的软标签在图形上可能不平滑
    • 我们需要平滑软标签

C&S Post-Processing: Correct Step

  • Correct step:
    • 计算节点的训练误差
      • 训练误差:真实标签减去软标签,未标记节点误差为0。
        CS224W图神经网络笔记自用:Message passing and Node Classification_第34张图片
  • 归一化扩散矩阵 A ~ ≡ D − 1 / 2 A D − 1 / 2 \tilde{A} \equiv D^{-1/2} AD^{-1/2} A~D1/2AD1/2
    • A A A为邻接矩阵, A ~ \tilde{A} A~扩散矩阵
    • D ≡ D i a g ( d 1 , . . . , d N ) D \equiv Diag(d_1,..., d_N) DDiag(d1,...,dN)是degree matrix(度数矩阵)
    • A i i A_{ii} Aii=1。
  • 所有的特征值 λ ′ s \lambda's λs都在范围[-1,1]内
    • 特征值 λ = 1 \lambda = 1 λ=1的特征向量为 D 1 / 2 1 D^{1/2}1 D1/21( 1 1 1是值全为1的特征向量)
      • 证明 A ~ D − 1 / 2 1 = D − 1 / 2 A D − 1 / 2 D 1 / 2 1 = D − 1 / 2 A 1 = D − 1 / 2 D 1 = 1 ⋅ D 1 / 2 1 \tilde{A}D^{-1/2}1=D^{-1/2}AD^{-1/2}D^{1/2}1=D^{-1/2}A1=D^{-1/2}D1=1 \cdot D^{1/2}1 A~D1/21=D1/2AD1/2D1/21=D1/2A1=D1/2D1=1D1/21
    • A ~ \tilde{A} A~的幂( A ~ K \tilde{A}^K A~K)对于任何K都是well-behaved
      • A ~ K \tilde{A}^K A~K的特征值都在[-1,1]之内
      • 最大的特征总是1
  • 如果节点i和j相连,那么the weight A ~ \tilde{A} A~ 1 d i d j \frac{1}{\sqrt{d_i}\sqrt{d_j}} di dj 1
    • 如果i和j仅和对方相连,那么 A ~ \tilde{A} A~会很
    • 如果i和j还和其他很多节点相连, A ~ \tilde{A} A~会比较CS224W图神经网络笔记自用:Message passing and Node Classification_第35张图片
  • 扩散训练误差 E ( t + 1 ) ← ( 1 − α ) ⋅ E ( t ) + α ⋅ A ~ E ( t ) E^{(t+1)} \leftarrow (1 - \alpha) \cdot E^{(t)} + \alpha \cdot \tilde{A}E^{(t)} E(t+1)(1α)E(t)+αA~E(t),假设邻近节点的预测误差相近,和PageRank的迭代公式类似, α \alpha α是超参数,沿边缘扩散训练误差。假设:附近节点的误差相似

CS224W图神经网络笔记自用:Message passing and Node Classification_第36张图片CS224W图神经网络笔记自用:Message passing and Node Classification_第37张图片

  • 将缩放的扩散训练误差添加到预测的软标签
    CS224W图神经网络笔记自用:Message passing and Node Classification_第38张图片

  • 沿图中的边平滑校正的软标签

    • 假设:邻近的节点倾向于共享相同的标签
    • 注意:对于训练节点,我们使用真实的硬标签而不是软标签
      CS224W图神经网络笔记自用:Message passing and Node Classification_第39张图片
  • Smooth step

    • 沿着图结构扩散标签 Z ( 0 ) Z^{(0)} Z(0)
    • Z ( t + 1 ) ← ( 1 − α ) ⋅ Z ( t ) + α ⋅ A ~ Z ( t ) Z^{(t+1)} \leftarrow (1 - \alpha) \cdot Z^{(t)} + \alpha \cdot \tilde{A}Z^{(t)} Z(t+1)(1α)Z(t)+αA~Z(t) A ~ Z ( t ) \tilde{A}Z^{(t)} A~Z(t)表示沿边扩散标签
      CS224W图神经网络笔记自用:Message passing and Node Classification_第40张图片
      CS224W图神经网络笔记自用:Message passing and Node Classification_第41张图片
  • 更多细节见Zhu et al. ICML 2013
    这个示例表明,C&S使用图形结构成功地提高了基础模型的性能。
    CS224W图神经网络笔记自用:Message passing and Node Classification_第42张图片
    CS224W图神经网络笔记自用:Message passing and Node Classification_第43张图片

5.5 总结

  • Correct&Smooth(C&S)使用图形结构对任何基础模型预测的软节点标签进行后期处理。
  • 校正步骤:扩散并校正基础预测器的训练误差。
  • 平滑步骤:平滑基础预测器的预测。
  • C&S在半监督节点分类方面取得了很好的性能。

你可能感兴趣的:(CS224W图神经网络,神经网络,搜索引擎,人工智能)