消息传递与节点分类

课程和PPT主页

本文主要解决的问题:给定一个只有部分已知标签节点的图,如何给图中其他节点分配正确的标签?

本文主要讨论一个名为“message passing”的框架以及三个具体的方法:

  • Relational classification
  • Iterative classification
  • Belief propagation

直觉上,相关性(Correlations)总是存在图中:

  • 边总是存在相似的节点之间
  • 核心概念是collective classification: 将标签同时分配给网络中所有节点


节点间的同质性和总体对节点的影响导致了这种相关性:

同质性也就是物以类聚的意思:

社交网络是同质性一个很好的例子:


影响也就是总体对个体的影响,类似近朱者赤近墨者黑:

那么怎么利用相似性来帮助我们进行节点分类?也就是预测图中灰色节点的label?

答案主要分为两步:

  1. 某个节点和其邻居节点的label大概率相同(物以类聚人以群分)。
  2. 某个节点的label可能依赖于该节点的特征、邻居节点的label已经邻居节点的特征。

    下来介绍一下半监督学习:已知少部分样本已知标签,大部分样本未知,任务是预测剩下大部分样本的标签。


    对于这些存在相关性的数据,常用的方法是集体分类(Collective Classification,因为节类别依赖其他其他类别,故需要同时预测所有未带标签节点的类型):考虑一种最简单的情况,节点类别仅与其邻居节点相关,此时可使用马尔科夫假设其该问题进行建模。马尔科夫模型可参考https://blog.csdn.net/pipisorry/article/details/46618991

    集体分类可分为三步:
    其中第一步的仅使用节点特征对节点进行分类仅运行一次。第二步可捕获节点相似性,需要在每个节点上迭代运行。

    问题Setting:

    下面介绍三个集体分类技术:Relational classification、Iterative classification、Belief propagation。

Relational classification

Relational classification只使用邻居节点的label预测节点的label,没有使用到节点feature和邻居节点的feature。

Relational classification可使用在带权图上,当图的边带权时Av,uA_{v,u}Av,u​为权值,否则有边取1无边取0。Relational classification有两个缺点:

  • 不能保证P(Yv=c)P(Y_v=c)P(Yv​=c)计算公式收敛
  • 只能使用邻居节点的label来预测label,没有使用其他的信息(如节点特征)。

    下面给出Relational classification的一个例子,图中不同颜色代表不同的类别,我们的任务是预测灰色节点的label。
    初始化:

    第一次迭代:这里假设按节点ID从小到大进行计算,其中节点1、2、6、7为带标签节点无需计算,可视为已经收敛。下面给出节点3在第一轮迭代的计算。

    在计算节点3之后,我们计算节点4的概率。

    同理,依次计算其他节点的label,可得到每个节点的概率。

    下面给出第二次迭代的结果,其中的节点9因为仅与已知标签的节点7相连,故节点9概率收敛,在后继迭代中无需计算。

    在第三次迭代中,节点8概率收敛,注:收敛不等同固定,指的是变化在很小的范围。

    在多次迭代后,所有节点概率收敛,概率p>0.5的节点认为其属于正类(1),否则视为负类(0)。其中节点4虽然被认为属于正类,但是其概率接近边界值,故该节点分类错误概率最大。

Iterative classification

前面也提到,Relational classification的缺点是只使用邻居节点的label预测节点的label,没有使用到节点feature和邻居节点的feature。

Iterative classification在分类时不仅使用了邻居节点的label,还使用到节点本身的特征。

Iterative classification的做法是训练两个分类器,其中分类器Φ1Φ_1Φ1​使用节点特征预测节点标签,仅在初始化标签时使用;分类器Φ2Φ_2Φ2​同时使用节点特征和邻居节点的标签概括向量zvz_vzv​预测节点标签,迭代多次使用。

那么怎么计算邻居节点的标签概括向量zvz_vzv​呢?方法有很多种,比如邻居节点标签的众数等。

下面给出Iterative classification方案的框架,一共可分为两步,需要注意的是:因为迭代过程不一定收敛,故需要设置最大迭代次数,可以是一个比较大的数,比如100,500。

下面给出关于Relational classification的例子:web网页分类。

如果我们仅使用节点特征训练分类器,由于没有利用到网络结构信息,所以比较容易分类错误,如下图中中间那个节点真实标签为1,但是分类器可能将其判断为0。该分类器也就是分类器Φ1Φ_1Φ1​,在为每个节点初始化标签后不再使用。

一个改进方案是使用节点特征和邻居节点标签共同训练分类器。III和OOO共同组成邻居节点的标签概括向量zvz_vzv​,zvz_vzv​基于分类器Φ1Φ_1Φ1​预测类别构建。

Relational classification运行流程如下:

  1. 首先训练两个分类器:
  2. 使用分类器Φ1Φ_1Φ1​设置初始化标签
  3. 使用分类器Φ1Φ_1Φ1​设置的初始化标签构建标签概括向量zvz_vzv​

    使用分类器Φ2Φ_2Φ2​更新节点标签

    迭代更新节点标签和标签概括向量zvz_vzv​,直到收敛或者超出最大迭代次数。


    然后对Relational classificationIterative classification进行小结。

Loopy Belief Propagation


下面使用几个“计数”的例子,来解释说明消息传递(pass message)。注意:该过程中不可出现环路且只能和直接邻居节点进行交互。第一个例子使用一个path graph,这个和军训时排队报数的过程十分相似。


各个节点间传递的东西被称为信息(message),故整个过程被称为“pass message”

下面提供另外一个“计数”例子,从path graph扩展到树形图(tree-structured graph)。

消息传递过程和path graph十分类似。


从上述两个例子中,可以发现message不是随意定义的,message依赖于节点的邻居节点。如下图中,节点iii的message依赖于节点kkk、节点uuu、节点vvv传递过来的message,同理节点jjj的message也依赖于节点iii的message。

下面给出Loopy BP Algorithm正式描述,(我没怎么看懂)。



下面是Loopy BP Algorithm的例子:



由于现实世界中的图通常长得比较想树形图,回路比较少,故可以使用前面的方法近似计算。

CS224W图机器学习笔记5-消息传递与节点分类相关推荐

  1. CS224W图机器学习笔记自用:GNN Augmentation and Training

    Recap: today's outline: (4)Graph augmentation (5)Learning objective 1. GNN 的图增强(Graph Augmentation f ...

  2. CS224W图机器学习笔记8-图神经网络三大应用

    图神经网络 课程和PPT主页 Prediction with GNNs 目前我们只学习了从输入图->节点嵌入,也就是学习图神经网络怎么获取节点嵌入,并没有学习针对特定下游任务的一些内容(从节点嵌 ...

  3. 斯坦福CS224W图机器学习笔记自用:A General Perspective on Graph Neural Networks

    1. Recap Deep Graph Encoders(深度图编码器) Graph Neural Networks GNN核心思想:节点的邻域定义了一个计算图 Aggregate from Neig ...

  4. 【斯坦福大学公开课CS224W——图机器学习】五、消息传递和节点分类

    [斯坦福大学公开课CS224W--图机器学习]五.消息传递和节点分类 文章目录 [斯坦福大学公开课CS224W--图机器学习]五.消息传递和节点分类 1. Message Passing and No ...

  5. 【斯坦福大学公开课CS224W——图机器学习】三、节点和图嵌入

    [斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 文章目录 [斯坦福大学公开课CS224W--图机器学习]三.节点和图嵌入 1. 节点嵌入 1.1 编码器与解码器 1.2 节点嵌入的游走 ...

  6. 【CS224w图机器学习】第一章 图机器学习导论

    一.前言 笔记参考b站同济子豪兄的视频而成,源于斯坦福CS224W 学完本章,你将会对图神经网络有初步的了解,同时对于应用层面也有初步的印象 1.1关键词 图机器学习.图数据挖掘.图神经网络(GNN) ...

  7. [Datawhale][CS224W]图机器学习(三)

    目录 一.简介与准备 二.教程 2.1 下载安装 2.2 创建图 2.2.1 常用图创建(自定义图创建) 1.创建图对象 2.添加图节点 3.创建连接 2.2.2 经典图结构 1.全连接无向图 2.全 ...

  8. 图网络算法——信息传递和节点分类

    图网络算法--信息传递和节点分类 在开始介绍下面的算法问题之前,我们首先从提出一个问题,给定一个某些节点具有分类标签的网络结构,我们应该如何去预测网络中其他节点的标签呢? 这种节点分类的方式称为半监督 ...

  9. 李弘毅机器学习笔记:第五章—分类

    李弘毅机器学习笔记:第五章-分类 例子(神奇宝贝属性预测) 分类概念 神奇宝贝的属性(水.电.草)预测 回归模型 vs 概率模型 回归模型 其他模型(理想替代品) 概率模型实现原理 盒子抽球概率举例 ...

最新文章

  1. java.lang.RuntimeException: Parcelable encountered IOException writing
  2. 读完这45篇论文,“没人比我更懂AI了”
  3. Codility算法测验(三)
  4. 【TP5笔记】TinkPHP5中引入资源文件
  5. mysql savepoint是什么_Mysql中的隐式COMMIT以及Savepoints的作用
  6. (ZT)VC++的链接错误LNK2001
  7. oracle 加密怎么解密,oracle加密encrypt,解密decrypt,
  8. 涨价是必然!华为P40系列今天发布,首发价再曝光
  9. Ubuntu 安装 Kafka
  10. ISO27001审核
  11. 计算机炫酷功能,【实用】上班族必备!10个实用电脑炫酷小技巧~
  12. js找出两个数组中的重复项
  13. jmeter线程组之jp@gc - Ultimate Thread Group
  14. 隐函数存在定理1的几何解释
  15. 政企数智办公潮水里的融云「答卷」
  16. NAT类型及工作原理
  17. 用HTML+CSS+JS做一个漂亮的个人网页
  18. python中如何将一个数字分解成一个列表
  19. 五环电阻和四环电阻的区别是什么
  20. [FPGA 日常记录] #5 常见 FPGA 论坛排名 / 按活跃度

热门文章

  1. 集合底层源码分析之HashMap《上》(三)
  2. android asyc异步获取网络图片为bitmap,异步之AsyncTask(一)
  3. 【提交】commit
  4. 苹果ppt_如何选择一款趁手的PPT软件 | 一千零一夜PPT系列
  5. Toast的高级自定义方式-循序渐进带你了解toast
  6. CSJH网络安全团队简介
  7. Elasticsearch: date时间数据格式踩过的坑
  8. python定向爬虫_Python-定向爬虫的简单使用
  9. 产品经理必备知识之如何全方位进行表单设计,一文带你通读表单设计的全过程
  10. 解决方案 word excel vba 以下隐藏模块存在编译错误