【CS224W】(task7)标签传播与节点分类(semi-supervised)

article/2025/11/4 0:10:30

note

  • 对某一节点的标签进行预测,需要其本身特征、邻居的标签和特征。message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向。这种现象可以用homophily(相似节点倾向于聚集)、influence(关系会影响节点行为)、confounding(环境影响行为和关系)来解释。
  • collective classification给所有节点同时预测标签的概率分布,基于马尔科夫假设(某一点标签仅取决于其邻居的标签)。
    local classifier(用节点特征预测标签)→ relational classifier(用邻居标签 和/或 特征,预测节点标签)→ collective inference(持续迭代)。有三种collective classification技术:
    • relational classification:用邻居标签概率的加权平均值来代表节点标签概率,循环迭代求解
    • iterative classification:在训练集上训练用 (节点特征) 和 (节点特征, 邻居标签summary z \mathrm{z} z ) 两种 自变量预测标签的分类器 ϕ 1 \phi_1 ϕ1 ϕ 2 \phi_2 ϕ2, 在测试集上用 ϕ 1 \phi_1 ϕ1 赋予初始标签, 循环迭代求解 z ⇌ \mathrm{z} \rightleftharpoons z ϕ 2 \phi_2 ϕ2 重新预测标签
    • belief propagation:在边上传递节点对邻居的标签概率的置信度(belief)的message/estimate,迭代计算边上的message,最终得到节点的belief。有环时可能出现问题。
  • relational classifiers没有使用节点特征信息,iterative classification有。
  • Correct & Smooth利用浅层模型MLP,误差纠正和预测平滑实现节点分类效果超越一般GNN模型。但是是直推式学习,也仅考虑了节点分类。

文章目录

  • note
  • 一、半监督节点分类:标签传播和消息传递
    • 1.1 线性代数知识补充
    • 1.2 半监督节点分类问题-求解方法对比
    • 1.3 Message Passing and Node Classification
  • 二、四种半监督学习进行节点分类
    • 2.1 Relational Classification / Probabilistic Relational Classifier
    • 2.2 Iterative Classification
      • (1)basic idea
      • (2)iterativate classifier architecture
      • (3)ex:web page classification
    • 2.3 Correct & Smooth
    • 2.4 Masked label prediction
  • 四、总结
    • 4.1 小结
    • 4.2 思考题
  • 附:时间安排
  • Reference

一、半监督节点分类:标签传播和消息传递

本task内容:

  • 半监督节点分类问题的常见解决方法:特征工程、图嵌入表示学习、标签传播、图神经网络。
  • 基于“物以类聚,人以群分”的Homophily假设,进行Label Propagation、Relational Classification(标签传播)、Iterative Classification、Correct & Smooth(C & S)、Loopy Belief Propagation(消息传递)、Masked Lable Prediction等半监督和自监督节点分类方法。
  • 这些方法经常被用于节点分类任务的Baseline比较基线。消息传递和聚合的思路也影响了后续图神经网络的设计

1.1 线性代数知识补充

当且仅当矩阵谱半径严格小于1,矩阵乘幂收敛。

谱半径指最大奇异值的模长。

对称矩阵、非对称矩阵中的可对角化矩阵:最大奇异值就是最大特征值的平方,奇异值和特征值一一对应。
非对称矩阵,不可对角化矩阵:不便讨论

1.2 半监督节点分类问题-求解方法对比

方法图嵌入表示学习使用属性特征使用标注直推式归纳式
人工特征工程//
基于随机游走的方法
基于矩阵分解的方法
标签传播是/否
图神经网络
  • 人工特征工程:节点重要度、集群系数、Graphlet等。

  • 基于随机游走的方法,构造自监督表示学习任务实现图嵌入。无法泛化到新节点。

    例如:DeepWalk、Node2Vec、LINE、SDNE等。

  • 标签传播:假设“物以类聚,人以群分”,利用邻域节点类别猜测当前节点类别。无法泛化到新节点。

    例如:Label Propagation、Iterative Classification、Belief Propagation、Correct & Smooth等。

  • 图神经网络:利用深度学习和神经网络,构造邻域节点信息聚合计算图,实现节点嵌入和类别预测。

    可泛化到新节点。

    例如:GCN、GraphSAGE、GAT、GIN等。

1.3 Message Passing and Node Classification

在这里插入图片描述

  • 半监督学习,使用node embedding,基于”网络中存在关系correlations“,相似节点之间存在连接。利用collective classification同时将标签分配到网络中的所有节点上。
  • correlation的两种原因:
    • homophily(物以类聚人以群分):个体特征影响社交连接
    • influence:社交连接影响个体特征,如用户将喜欢的音乐推荐给朋友
  • 预测节点 v 的标签需要:v 的特征;v 邻居的标签;v 邻居的特征
  • example task:
    在这里插入图片描述
  • 解决方法:collective classification。collective classification的应用:
    • Document classification
    • 词性标注Part of speech tagging
    • Link prediction
    • 光学字符识别Optical character recognition
    • Image/3D data segmentation
    • 实体解析Entity resolution in sensor networks
    • 垃圾邮件Spam and fraud detection
  • collective classification:使用probabilistic framework
    • Markov Assumption: the label Y v Y_v Yv of one node v v v depends on the labels of its neighbors N v N_v Nv
      P ( Y v ) = P ( Y v ∣ N v ) P\left(Y_v\right)=P\left(Y_v \mid N_v\right) P(Yv)=P(YvNv)

二、四种半监督学习进行节点分类

2.1 Relational Classification / Probabilistic Relational Classifier

  • 基本思想:节点v的类别概率是邻居节点的加权平均值。对于无标签节点,初始化类别概率 Y v \mathrm{Y}_{\mathrm{v}} Yv为0.5。以随机顺序更新所有无标签节点,直至收敛到最大迭代次数。
  • 更新公式(如果是异质图, 则 A v , u A_{v, u} Av,u可以是v到u节点之间的边权重; P ( Y v = c ) P\left(Y_v=c\right) P(Yv=c)为节点v标签为c的概率值): P ( Y v = c ) = 1 ∑ ( v , u ) ∈ E A v , u ∑ ( v , u ) ∈ E A v , u P ( Y u = c ) P\left(Y_v=c\right)=\frac{1}{\sum_{(v, u) \in E} A_{v, u}} \sum_{(v, u) \in E} A_{v, u} P\left(Y_u=c\right) P(Yv=c)=(v,u)EAv,u1(v,u)EAv,uP(Yu=c)
  • 两个缺点:
    • 节点的概率值更新不一定能收敛
    • 模型无法使用节点特征信息
      在这里插入图片描述

2.2 Iterative Classification

(1)basic idea

  • 基本思想:基于节点特征和邻居节点label,对节点进行分类
  • 训练2个分类器:
    • base classifier: ϕ 1 ( f v ) \phi_1\left(f_v\right) ϕ1(fv),基于当前节点v特征进行预测节点label
    • relational classifier: ϕ 2 ( f v , z v ) \phi_2\left(f_v, z_v\right) ϕ2(fv,zv),基于当前节点v特征和周围节点信息 z v z_v zv进行预测节点label
  • 计算 z v z_v zv:可以是邻居label的比例、邻居出现最多的label、邻居label的类别数等。

(2)iterativate classifier architecture

在这里插入图片描述

(3)ex:web page classification

  • step1:在训练集上训练 ϕ 1 \phi_1 ϕ1 ϕ 2 \phi_2 ϕ2
  • step2:在测试集上预测标签
    • ϕ 1 \phi_1 ϕ1 预测 Y v Y_{\mathrm{v}} Yv
    • 循环迭代:
      • Y v Y_{\mathrm{v}} Yv 计算 z v z_{\mathrm{v}} zv
      • ϕ 2 \phi_2 ϕ2 预测标签
      • 迭代到收敛为止

在这里插入图片描述

2.3 Correct & Smooth

(1)motivation: LP和GNN

label propagation是基于homophily和associativity进行的,如果比较少的
2023年一月在OGB leaderboard上C&S算法达到SOTA.

在这里插入图片描述
在这里插入图片描述
1
在这里插入图片描述

(2)C&S model architecture

  • 「基础预测模型」:仅依赖节点特征并且忽略图的结构,例如 MLP 或者线性模型;
  • 「修正步骤」:将训练数据中的不确定性传播到整个图以此来修正基础预测结果;
  • 「平滑步骤」:对节点预测结果进行平滑。

其中「修正步骤」和「平滑步骤」是基于半监督学习的标签传播思想进行改进的,整个框架没有利用图结构来学习模型参数因此参数量非常少而且不需要大量的时间来训练模型,但实验效果却非常好。

在这里插入图片描述

在这里插入图片描述

  • correct step(修正步骤)

    • step1:计算每个节点的训练误差(ground-truth label减去soft label)
    • step2:
      • Diffuse training errors E ( 0 ) \boldsymbol{E}^{(0)} E(0) along the edges
      • 将邻接矩阵A转为diffusion矩阵(归一化后)
    • step3:迭代计算: E ( t + 1 ) ← ( 1 − α ) ⋅ E ( t ) + α ⋅ A ~ E ( t ) \boldsymbol{E}^{(t+1)} \leftarrow(1-\alpha) \cdot \boldsymbol{E}^{(t)}+\alpha \cdot \widetilde{\boldsymbol{A}} \boldsymbol{E}^{(t)} E(t+1)(1α)E(t)+αA E(t),其中 α \alpha α是超参数
    • step4:将归一化的diffused training errors加到预测值soft labels
  • smooth step(平滑步骤)
    在这里插入图片描述

    • step1:根据图结构Diffuse label Z ( 0 ) \boldsymbol{Z}^{(0)} Z(0)
    • step2: Z ( t + 1 ) ← ( 1 − α ) ⋅ Z ( t ) + α ⋅ A ~ Z ( t ) Z^{(t+1)} \leftarrow(1-\alpha) \cdot Z^{(t)}+\alpha \cdot \widetilde{A} Z^{(t)} Z(t+1)(1α)Z(t)+αA Z(t),其中 α \alpha α是超参数

smooth的两个步骤对应下图:
在这里插入图片描述
在这里插入图片描述

(3)diffusion matrix A ~ \tilde{A} A~

  • 给邻接矩阵A添加self-loop,归一化操作: A ~ ≡ D − 1 / 2 A D − 1 / 2 \widetilde{\boldsymbol{A}} \equiv \boldsymbol{D}^{-1 / 2} \boldsymbol{A} \boldsymbol{D}^{-1 / 2} A D1/2AD1/2
  • D ≡ Diag ⁡ ( d 1 , … , d N ) \boldsymbol{D} \equiv \operatorname{Diag}\left(d_1, \ldots, d_N\right) DDiag(d1,,dN)为度矩阵
  • 如果i节点和j节点相连,则边的权重 A ~ i j \widetilde{A}_{i j} A ij 1 d i d j \dfrac{1}{\sqrt{d_i \sqrt{d_j}}} didj 1
    • 如果ij节点相连,且该两个节点分别没有连接其他节点,则 A ~ i j \widetilde{A}_{i j} A ij较大
    • 如果ij节点相连,且该两个节点分别有连接其他节点,则 A ~ i j \widetilde{A}_{i j} A ij较小
  • All the eigenvalues λ \lambda λ 's are in the range of [ − 1 , 1 ] [-1,1] [1,1].
  • Eigenvector for λ = 1 \lambda=1 λ=1 is D 1 / 2 1 \boldsymbol{D}^{1 / 2} \mathbf{1} D1/21 ( 1 \mathbf{1} 1 is an all-one vector).
    • Proof: A ~ D 1 / 2 1 = D − 1 / 2 A D − 1 / 2 D 1 / 2 1 = \widetilde{A} \boldsymbol{D}^{1 / 2} \mathbf{1}=\boldsymbol{D}^{-1 / 2} \boldsymbol{A} \boldsymbol{D}^{-1 / 2} \boldsymbol{D}^{1 / 2} \mathbf{1}= A D1/21=D1/2AD1/2D1/21= D − 1 / 2 A 1 = D − 1 / 2 D 1 = 1 ⋅ D 1 / 2 1 D^{-1 / 2} A 1=D^{-1 / 2} D 1=1 \cdot D^{1 / 2} 1 D1/2A1=D1/2D1=1D1/21.
    • A 1 = D 1 \boldsymbol{A 1}=\boldsymbol{D} \mathbf{1} A1=D1, since they both leads to node degree vector
  • 参考:Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions.ICML 2013

(4)summary

  • Correct & Smooth (C&S) uses graph structure
    to post-process the soft node labels predicted
    by any base model.
  • Correction step: Diffuse and correct for the
    training errors of the base predictor.
  • Smooth step: Smoothen the prediction of the
    base predictor (a variant of label propagation).
  • C&S can be combined with GNNs
    • C&S achieves strong performance on semisupervised node classification

2.4 Masked label prediction

  • 训练:随机将节点label设为0,然后用 [ X , Y ~ ] [X, \tilde{Y}] [X,Y~] 预测已标记的节点标签
  • 推理:使用 Y ~ \tilde{Y} Y~ 预测末标注的节点

在这里插入图片描述

在这里插入图片描述

四、总结

4.1 小结

  • Node embeddings
    • Embed nodes into Euclidean space, and use
      distance metric in embedding space to approximate
      node similarity
  • Graph Neural Networks
    • Iterative neighborhood aggregation
  • Label Propagation
    • Inductive bias: homophily
    • Explicitly incorporate label information when
      making predictions

4.2 思考题

哪些图数据挖掘问题,可以抽象成半监督节点分类问题?

有哪些解决半监督节点分类问题的方法?各有什么特点?(对照表格简述)

如何理解Transductive Learning(直推式学习)?

如何理解Inductive Learning(归纳式学习)?

本讲讲了哪些标签传播和集体分类方法?

如何理解网络中的Homophily?

简述Label Propagation的算法原理。

Label Propagation是否用到了节点的属性特征?

简述Iterative Classification的算法原理。

Iterative Classification如何使用节点之间的关联信息?

为什么Relational Classification和Iterative Classification都不保证收敛?

简述C & S的基本原理

如何计算Normalized Adjacency Matrix?

如何用图论解释成语“三人成虎”、“众口铄金”?

如何用图论解释《三体》中的“猜疑链”?

简述Loopy Belief Propagation的基本原理。

简述Masked Label Prediction的基本原理。

Masked Label Prediction可以是Inductive的吗?可以泛化到新来的节点吗?

本讲的方法,与图神经网络相比,有何异同和优劣?

如何重新理解“出淤泥而不染”?

如何重新理解“传销”、“病毒式裂变”?

附:时间安排

任务任务内容截止时间注意事项
2月11日开始
task1图机器学习导论2月14日周二完成
task2图的表示和特征工程2月15、16日周四完成
task3NetworkX工具包实践2月17、18日周六完成
task4图嵌入表示2月19、20日周一完成
task5deepwalk、Node2vec论文精读2月21、22、23、24日周五完成
task6PageRank2月25、26日周日完成
task7标签传播与节点分类2月27、28日周二完成
task8图神经网络基础3月1、2日周四
task9图神经网络的表示能力3月3日周五
task10图卷积神经网络GCN3月4日周六
task11图神经网络GraphSAGE3月5日周七
task12图神经网络GAT3月6日周一

Reference

[1] C&S:标签传播思想与浅层模型相结合性能即可超过图神经网络
[2] CS224W官网:https://web.stanford.edu/class/cs224w/index.html
[3] https://github.com/TommyZihao/zihao_course/tree/main/CS224W
[4] cs224w(图机器学习)2021冬季课程学习笔记6 Message Passing and Node Classification
[5] https://www.bilibili.com/video/BV1184y1G7pA
[6] 扩展阅读:https://github.com/TommyZihao/zihao_course/blob/main/CS224W/5-Semi.md

中文精讲视频:https://www.bilibili.com/video/BV1184y1G7pA

Youtube视频:

https://www.youtube.com/watch?v=6g9vtxUmfwM&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=14

https://www.youtube.com/watch?v=QUO-HQ44EDc&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=15

https://www.youtube.com/watch?v=kh3I_UTtUOo&list=PLoROMvodv4rPLKxIpqhjhPgdQy7imNkDn&index=16
[7] D Easley, Kleinberg J . Networks, Crowds, and Markets[M]. Cambridge University Press, 2010:https://www.cs.cornell.edu/home/kleinber/networks-book/networks-book.pdf
[8] 半监督节点分类:标签传播和消息传递【斯坦福CS224W图机器学习】子豪
[9] ICLR2021 的《Combining Label Propagation and Simple Models OUT-PERFORMS Graph Networks》
[10] 标签传播与标签平滑


http://chatgpt.dhexx.cn/article/vwcugnJC.shtml

相关文章

4.经典网络

文章目录 第四章 经典网络解读4.1 LeNet-54.1.1 模型介绍4.1.2 模型结构4.1.3 模型特性 4.2 AlexNet4.2.1 模型介绍4.2.2 模型结构4.2.3 模型特性 4.3 ZFNet4.3.1 模型介绍4.3.2 模型结构4.3.3 模型特性 4.4 Network in Network4.4.1 模型介绍4.4.2 模型结构4.4.3 模型特点 4.5…

Python 深度学习

Pytorch 一 、深度学习概览1、工具篇2、流程介绍3、基础知识(常用操作)1、数据结构类型 4、常见名词概念 二、深度学习Pytorch1、神经网络1.1 如何构建神经网络1.2 核心组件 2、数据处理工具2.1 torchvision(可视化处理工具)2.1.1…

神经网络与深度学习作业8:RNN - 简单循环网络

1. 使用Numpy实现SRN import numpy as npinputs np.array([[1., 1.],[1., 1.],[2., 2.]]) # 初始化输入序列 print(inputs is , inputs)state_t np.zeros(2, ) # 初始化存储器 print(state_t is , state_t)w1, w2, w3, w4, w5, w6, w7, w8 1., 1., 1., 1., 1., 1., 1., 1.…

深度神经网络回归_深度神经网络

深度神经网络回归 深度神经网络 (Deep Neural Networks) A deep neural network (DNN) is an ANN with multiple hidden layers between the input and output layers. Similar to shallow ANNs, DNNs can model complex non-linear relationships. 深度神经网络(DNN)是在输入和…

DNN深度神经网络、RBM受限玻尔兹曼机、DBN深度置信网络

DNN前向传播算法和反向传播算法 感知机的模型大家都比较熟悉,它是一个有若干输入和一个输出的模型,如下图: 输出和输入之间学习到一个线性关系,得到中间输出结果: 接着是一个神经元激活函数: 从而得到我们想要的输出结果1或者-…

十道CSS+HTML高频企业级面试题

有句古话说得好,面试造火箭,工作拧螺丝。经历过职场的小伙伴都清楚,对于一般的工作需求,用不到太过高深的技术,但是,往往面试过程中,会进行所谓深层次的技术交流,所以,跳…

详细前端面试题HTML篇

CSS篇 JS篇 Vue篇 TypeScript篇 React篇 微信小程序篇 前端面试题汇总大全(含答案超详细,HTML,JS,CSS汇总篇)-- 持续更新 前端面试题汇总大全二(含答案超详细,Vue,TypeScript,React&…

前端面试题---html/css

文章目录 1. html标签的类型(head, body,!Doctype) 他们的作用是什么2. 在head标签里面的标签的作用分别是啥?3. 在 HTML 中插入 css 样式表的方法4. 比较插入 css 样式的链接方式和导入方式5. html5 新特性…

HTML 常见面试题

一、HTML5(超文本标记语言,第五次重大修改) 二、HTML5新特性 ①:新的语义标签 header footer nav aside article section ②:新的表单控件 calendar date time email url search ③:音频、视频(…

经典HTML前端面试题总结

经典HTML前端面试题总结 1. 1简述一下你对 HTML 语义化的理解?.1.2 标签上 title 与 alt 属性的区别是什么?1.3 iframe的优缺点?1.4 href 与 src?1.5 HTML、XHTML、XML有什么区别1.6 知道img的srcset的作用是什么?1.7 …

html相关面试题

html相关面试题 1.html和css中的图片加载与渲染规则是什么样的?2.title与h1的区别、b与strong的区别、i与em的区别?title 和 h1 的区别b 和 strong 的区别i 和 em 的区别最后 3.script 标签为什么建议放在 body 标签的底部(defer、async&…

html面试复习

目录 网页的显示过程 浏览器的渲染引擎 不同浏览器的内核 什么是标记语言(markup language ) 什么是超文本( HyperText ) 完整的html结构 文档声明 html元素 head元素 body元素 html元素 img标签 a标签 锚点链接 i…

HTML 面试题汇总

HTML 面试题汇总 1. 什么是 <!DOCTYPE>&#xff1f;是否需要在 HTML5 中使用&#xff1f; 参考答案&#xff1a; 它是 HTML 的文档声明&#xff0c;通过它告诉浏览器&#xff0c;使用哪一个 HTML 版本标准解析文档。 在浏览器发展的历史中&#xff0c;HTML 出现过很多个…

【2022前端面试】HTML面试题汇总(加紧收藏)

【2022前端面试】HTML面试题汇总&#xff08;加紧收藏&#xff09; 更新时间&#xff1a;2022年2月23日。 本文致力于建设前端面试题库&#xff0c;欢迎兄弟们投稿哈&#xff01; 引言 没办法&#xff0c;逃不过。看了很多面经和总结&#xff0c;时过一年&#xff0c;再次更新…

前端html+css+js面试题

HTML&CSS&#xff1a;对Web标准的理解&#xff08;结构、表现、行为&#xff09;、浏览器内核、渲染原理、依赖管理、兼容性、CSS语法、层次关系&#xff0c;常用属性、布局、选择器、权重、盒模型、Hack、CSS预处理器、CSS3、Flexbox、CSS Modules、Document flow、BFC、H…

10个最常见的HTML5面试题

本文为大家分享了最常见的10个HTML5面试题,希望大家喜欢。 问题1、新的 HTML5 文档类型和字符集是? 答:HTML5 文档类型很简单: HTML5 使用 UTF-8 编码。 问题2、HTML5 中如何嵌入音频? 答:HTML5 支持 MP3、Wav 和 Ogg 格式的音频,下面是在网页中嵌入音频。 问题3、H…

前端面试题 —— HTML

目录 一、src 和 href 的区别 二、对 HTML 语义化的理解 三、DOCTYPE(⽂档类型) 的作⽤ 四、script 标签中 defer 和 async 的区别 五、常⽤的 meta 标签有哪些&#xff1f; 六、HTML5 有哪些更新 八、行内元素有哪些&#xff1f;块级元素有哪些&#xff1f; 空(void)元素…

前端十五道html面试题

目录 01.说一下对语义化的理解&#xff1f;✅ 02.说一下iframe有哪些优点和缺点&#xff1f;✅ 03.DOCTYPE的作用&#xff1f;严格模式和混杂模式的区别&#xff1f; 04.说一下渐进增强和优雅降级的区别&#xff1f; 05. <!DOCTYPE html> 标签是否为 HTML 标签&#…

【前端面试题】01—42道常见的HTML5面试题(附答案)

HTML5为我们提供了更多的语义化标签、更丰富的元素属性&#xff0c;以及更让人欣喜的功能。但在面试中&#xff0c;HTML5部分的面试题主要考察应试者对HTML5API的掌握情况&#xff0c;这是HTML5的重点&#xff0c;也正是这些API推动了前端的发展。 这些新技术早已应用在很多大型…

28道HTML基础面试题及答案汇总

1、内元素和块级元素的区别&#xff1f; 行内元素&#xff1a;不会独立出现在一行&#xff0c;单独使用的时候后面不会有换行符的元素。eg&#xff1a;span, strong, img, a 等。这些元素&#xff0c;默认的高宽&#xff0c;总是其内容的高宽。并且&#xff0c;margin和padding…