IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> CS224W图机器学习笔记5-消息传递与节点分类 -> 正文阅读

[人工智能]CS224W图机器学习笔记5-消息传递与节点分类

消息传递与节点分类

课程和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可使用在带权图上,当图的边带权时 A v , u A_{v,u} Av,u?为权值,否则有边取1无边取0。Relational classification有两个缺点:

  • 不能保证 P ( Y v = 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?同时使用节点特征和邻居节点的标签概括向量 z v z_v zv?预测节点标签,迭代多次使用。
在这里插入图片描述
那么怎么计算邻居节点的标签概括向量 z v z_v zv?呢?方法有很多种,比如邻居节点标签的众数等。
在这里插入图片描述
下面给出Iterative classification方案的框架,一共可分为两步,需要注意的是:因为迭代过程不一定收敛,故需要设置最大迭代次数,可以是一个比较大的数,比如100,500。
在这里插入图片描述
下面给出关于Relational classification的例子:web网页分类。
在这里插入图片描述
如果我们仅使用节点特征训练分类器,由于没有利用到网络结构信息,所以比较容易分类错误,如下图中中间那个节点真实标签为1,但是分类器可能将其判断为0。该分类器也就是分类器 Φ 1 Φ_1 Φ1?,在为每个节点初始化标签后不再使用。
在这里插入图片描述
一个改进方案是使用节点特征和邻居节点标签共同训练分类器。 I I I O O O共同组成邻居节点的标签概括向量 z v z_v zv? z v z_v zv?基于分类器 Φ 1 Φ_1 Φ1?预测类别构建。
在这里插入图片描述
Relational classification运行流程如下:

  1. 首先训练两个分类器:
    在这里插入图片描述
  2. 使用分类器 Φ 1 Φ_1 Φ1?设置初始化标签
    在这里插入图片描述
  3. 使用分类器 Φ 1 Φ_1 Φ1?设置的初始化标签构建标签概括向量 z v z_v zv?
    在这里插入图片描述
    使用分类器 Φ 2 Φ_2 Φ2?更新节点标签
    在这里插入图片描述
    迭代更新节点标签和标签概括向量 z v z_v zv?,直到收敛或者超出最大迭代次数。
    在这里插入图片描述
    在这里插入图片描述
    然后对Relational classificationIterative classification进行小结。
    在这里插入图片描述

Loopy Belief Propagation

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

在这里插入图片描述
各个节点间传递的东西被称为信息(message),故整个过程被称为“pass message”
在这里插入图片描述
下面提供另外一个“计数”例子,从path graph扩展到树形图(tree-structured graph)。
在这里插入图片描述
消息传递过程和path graph十分类似。
在这里插入图片描述
在这里插入图片描述
从上述两个例子中,可以发现message不是随意定义的,message依赖于节点的邻居节点。如下图中,节点 i i i的message依赖于节点 k k k、节点 u u u、节点 v v v传递过来的message,同理节点 j j j的message也依赖于节点 i i i的message。
在这里插入图片描述
下面给出Loopy BP Algorithm正式描述,(我没怎么看懂)。
在这里插入图片描述
在这里插入图片描述

下面是Loopy BP Algorithm的例子:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由于现实世界中的图通常长得比较想树形图,回路比较少,故可以使用前面的方法近似计算。
在这里插入图片描述
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:38:15  更:2021-07-31 16:38:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:34:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码