cs224w(图机器学习)2021冬季课程学习笔记6 Message Passing and Node Classification

简介: cs224w(图机器学习)2021冬季课程学习笔记6 Message Passing and Node Classification

本章主要内容:

我们的任务是:已知图中一部分节点的标签,用图中节点之间的关系来将标签分配到所有节点上。属于半监督学习任务。

本节课我们学习message passing方法来完成这一任务。对某一节点的标签进行预测,需要其本身特征、邻居的标签和特征。

message passing的假设是图中相似的节点之间会存在链接,也就是相邻节点有标签相同的倾向。这种现象可以用homophily(相似节点倾向于聚集)、influence(关系会影响节点行为)、confounding(环境影响行为和关系)来解释。


collective classification给所有节点同时预测标签的概率分布,基于马尔科夫假设(某一点标签仅取决于其邻居的标签)。

local classifier(用节点特征预测标签)→ relational classifier(用邻居标签 和/或 特征,预测节点标签)→ collective inference(持续迭代)


本节课讲如下三种collective classification的实现技术:

image.png


1. Message Passing and Node Classification


  1. 本章重要问题:给定网络中部分节点的标签,如何用它们来分配整个网络中节点的标签?(举例:已知网络中有一些诈骗网页,有一些可信网页,如何找到其他诈骗和可信的网页节点?)

训练数据中一部分有标签,剩下的没标签,这种就是半监督学习

对这个问题的一种解决方式:node embeddings

image.png


  1. 本章我们介绍一个解决上述问题的方法3:message passing

使用message passing基于“网络中存在关系correlations”这一直觉,亦即相似节点间存在链接。

message passing是通过链接传递节点的信息,感觉上会比较类似于 PageRank4 将节点的vote通过链接传递到下一节点,但是在这里我们更新的不再是重要性的分数,而是对节点标签预测的概率。

核心概念 collective classification:同时将标签分配到网络中的所有节点上。

本章将讲述三种实现技术:

  • relational classification
  • iterative classification
  • belief propagation

image.png


  1. 举例:节点分类

半监督学习问题:给出一部分节点的标签(如图中给出了一部分红色节点、一部分绿色节点的标签),预测其他节点的标签

image.png


  1. 网络中存在关系correlations:

相似的行为在网络中会互相关联。

correlation:相近的节点会具有相同标签

image.png


  1. 导致correlation的两种解释5:

homophily(同质性,趋同性,同类相吸原则):个体特征影响社交连接

influence:社交连接影响个体特征

image.png

  • homophily:相似节点会倾向于交流、关联(物以类聚,人以群分)

在网络研究中得到了大量观察

举例:同领域的研究者更容易建立联系,因为他们参加相同的会议、学术演讲……等活动Birds of a feather flock together 是句俗语

image.png


  • homophily举例:一个在线社交网络,以人为节点,友谊为边,通过人们的兴趣将节点分为多类(用颜色区分)。

从图中可以看出,各种颜色都分别聚在一起,亦即有相同兴趣(同色)的人们更有聚集在一起的倾向。

image.png

图片出处书籍PDF版下载地址:D Easley, Kleinberg J . Networks, Crowds, and Markets[M]. Cambridge University Press, 2010.


  • influence:社交链接会影响个人行为。

举例:用户将喜欢的音乐推荐给朋友。

image.png


  1. 既然知道了网络中关系的影响机制,我们就希望能够通过网络中的链接关系来辅助预测节点标签。

如图举例,我们希望根据已知的绿色(label 1)和红色(label 0)节点来预测灰色(标签未知)节点的标签。将各节点从 1-9 标注上node-id。

image.png


  1. 解决分类问题的逻辑:

我们已知相似节点会在网络中更加靠近,或者直接相连。

因此根据关联推定guilt-by-association:如果我与具有标签X的节点相连,那么我也很可能具有标签X(基于马尔科夫假设6)

举例:互联网中的恶意/善意网页:恶意网页往往会互相关联,以增加曝光,使其看起来更可靠,并在搜索引擎中提高排名。

image.png

预测节点 v vv 的标签需要:

  1. v的特征
  2. v邻居的标签
  3. v邻居的特征

image.png


  1. 半监督学习
  • 任务:假设网络中存在homophily,根据一部分已知标签(红/绿)的节点预测剩余节点的标签

image.png

  • 示例任务:

image.png


  1. 解决方法:collective classification
  • collective classification的应用

1)Document classification

2)词性标注Part of speech tagging

3)Link prediction

4)光学字符识别Optical character recognition

5)Image/3D data segmentation

6)实体解析Entity resolution in sensor networks

7)垃圾邮件Spam and fraud detection

  • collective classification概述

image.png

collective classification分成三步:

  1. local classifier:分配节点的初始标签(基于节点特征建立标准分类,不使用网络结构信息)

image.png

  1. relational classifier:捕获关系(基于邻居节点的标签 和/或 特征,建立预测节点标签的分类器模型)(应用了网络结构信息)

image.png

  1. collective inference:传播关系(在每个节点上迭代relational classifier,直至邻居间标签的不一致最小化。网络结构影响最终预测结果)

image.png

image.png


  1. 对本章后文内容的概述

image.png


2. Relational Classification / Probabilistic Relational Classifier


image.png

image.png


问题:

  1. 不一定能收敛
  2. 模型无法使用节点特征信息

image.png


  • 举例

image.png

  1. 第一轮迭代
  • 更新节点3

image.png

  • 更新节点4

image.png

  • 更新节点5

image.png

  • 更新完所有无标签节点

image.png

  1. 第二轮迭代:结束后发现节点9收敛

image.png

  1. 第三轮迭代:结束后发现节点8收敛

image.png

  1. 第四轮迭代

image.png

  1. 收敛后:预测概率>0.5的节点为1,<0.5的为0

image.png


3. Iterative Classification


  1. relational classifiers没有使用节点特征信息,所以我们使用新方法iterative classification。

image.png

  1. image.png

image.png


  1. image.png

image.png


  1. iterative classifier的结构

image.png

image.png


  1. 计算举例:网页分类问题

节点是网页,链接是超链接,链接有向。节点特征简化设置为2维二元向量。预测网页主题。

image.png

image.png

可以假设分类器以特征第一个元素作为分类标准,于是对中间节点分类错误。

image.png

image.png



  1. 过程举例

image.png

  1. 第二步:在测试集上预测标签

image.png

image.png

image.png


  1. 迭代直至收敛

image.png

  1. 结束迭代(收敛或达到最大迭代次数),得到最终预测结果

image.png

  1. 对relational classification和iterative classification的总结

image.png


4. Loopy Belief Propagation


名字叫loopy是因为loopy BP方法会应用在有很多环的情况下。


  1. belief propagation是一种动态规划方法,用于回答图中的概率问题(比如节点属于某类的概率)。

邻居节点之间迭代传递信息pass message(如传递相信对方属于某一类的概率),直至达成共识(大家都这么相信),计算最终置信度(也有翻译为信念的)belief。

参考6:问题中节点的状态并不取决于节点本身的belief,而取决于邻居节点的belief。

image.png


  1. message passing
  • 例子介绍:

任务:计算图中的节点数(注意,如果图中有环会出现问题,后文会讲有环的情况。在这里不考虑)

限制:每个节点只能与邻居交互(传递信息)


举例:path graph(节点排成一条线)

image.png

  • 算法
  1. 定义节点顺序(生成一条路径)
  2. 基于节点顺序生成边方向,从而决定message passing的顺序
  3. 按节点顺序,计算其对下一节点的信息(至今数到的节点数),将该信息传递到下一节点

image.png


  • 每个节点接收邻居信息,更新信息,传递信息

image.png


  1. 将path graph的情况泛化到树上:从叶子节点到根节点传递信息

image.png

image.png

在树结构上更新置信度:

image.png


  1. Loopy BP Algorithm

从 i ii 传递给 j jj 的信息,取决于 i ii 从邻居处接收的信息。每个邻居给 i ii 对其状态的置信度的信息。

image.png


  1. notation

image.png

image.png


  1. Loopy BP Algorithm

image.png

image.png


  1. 示例
  • 现在我们考虑图中有环的情况,节点没有顺序了。我们采用上述算法,从随机节点开始,沿边更新邻居节点。

image.png

  • 由于图中有环,来自各子图的信息就不独立了。信息会在圈子里加强(就像PageRank里的spider trap)


  1. 可能出现的问题:置信度不收敛(如图,信息在环里被加强了)

但是由于现实世界的真实复杂图会更像树,就算有环也会有弱连接,所以还是能用Loopy BPheuristic启发式的


  1. 置信度传播方法的特点
  • 优点

易于编程及同步运算

可泛化到任何形式potentials(如高阶)的图模型上

  • 挑战:不一定能收敛(参考6:尤其在闭环多的情况下)(所以会选择少跑几轮……为啥啊?)
  • potential functions (parameters) (label-label potential matrix) 需要训练来估计


5. 本章总结


  1. 学习了如何利用图中的关系来对节点做预测
  2. 主要技术:
  • relational classification
  • iterative classification
  • loopy belief propagation


相关文章
|
7月前
|
机器学习/深度学习 供应链 算法
机器学习课程学习随笔
机器学习课程学习随笔
|
7月前
|
机器学习/深度学习 数据可视化 PyTorch
零基础入门语义分割-地表建筑物识别 Task5 模型训练与验证-学习笔记
零基础入门语义分割-地表建筑物识别 Task5 模型训练与验证-学习笔记
510 2
|
3月前
|
Prometheus 监控 Cloud Native
prometheus学习笔记之node-export
prometheus 监控 node-exporter
|
4月前
|
Java jenkins Shell
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
jenkins学习笔记之五:Maven、Ant、Gradl、Node构建工具集成
|
4月前
|
机器学习/深度学习 算法 Python
【绝技揭秘】Andrew Ng 机器学习课程第十周:解锁梯度下降的神秘力量,带你飞速征服数据山峰!
【8月更文挑战第16天】Andrew Ng 的机器学习课程是学习该领域的经典资源。第十周聚焦于优化梯度下降算法以提升效率。课程涵盖不同类型的梯度下降(批量、随机及小批量)及其应用场景,介绍如何选择合适的批量大小和学习率调整策略。还介绍了动量法、RMSProp 和 Adam 优化器等高级技巧,这些方法能有效加速收敛并改善模型性能。通过实践案例展示如何使用 Python 和 NumPy 实现小批量梯度下降。
45 1
|
7月前
|
机器学习/深度学习 监控 算法
LabVIEW使用机器学习分类模型探索基于技能课程的学习
LabVIEW使用机器学习分类模型探索基于技能课程的学习
58 1
|
7月前
|
机器学习/深度学习 人工智能 算法
机器学习的魔法(一)从零开始理解吴恩达的精炼笔记
机器学习的魔法(一)从零开始理解吴恩达的精炼笔记
|
7月前
|
机器学习/深度学习 数据可视化 算法
【学习打卡04】可解释机器学习笔记之Grad-CAM
【学习打卡04】可解释机器学习笔记之Grad-CAM
|
7月前
|
机器学习/深度学习
Coursera 吴恩达Machine Learning(机器学习)课程 |第五周测验答案(仅供参考)
Coursera 吴恩达Machine Learning(机器学习)课程 |第五周测验答案(仅供参考)
|
7月前
|
机器学习/深度学习 人工智能 文字识别
【学习打卡03】可解释机器学习笔记之CAM类激活热力图
【学习打卡03】可解释机器学习笔记之CAM类激活热力图