Semi-Supervised Classification with Graph Convolutional Networks

news2024/11/15 9:34:24

Semi-Supervised Classification with Graph Convolutional Networks, ICLR, 2017

要点:

1、可扩展的半监督学习方法
2、基于卷积神经网络的有效变体,直接对图进行操作
3、通过谱图卷积的局部一阶近似来激励卷积架构的选择
4、在图的边数上进行线性缩放,并学习同时编码局部图结构和节点特征的隐藏层表示
5、在引文网络和知识图谱的数据集上进行了大量实验

引言

1、基于图的半监督学习:在图中对节点进行分类,且标签仅对一部分节点可用。
2、传统方法:标签信息通过一些显示的基于图的正则化,在图上被平滑。比如:在损失函数中使用图拉普拉斯正则化项,但是强依赖于“连接节点共享相同标签“的假设,限制建模能力,除了节点相似性,很难表征额外信息;
3、本文方法:直接使用神经网络模型对图结构进行编码,在有监督的目标损失下对所有已标记节点进行训练,从而避免了损失函数中显式的基于图的正则化,在图的邻接矩阵上对神经网络函数训练,将允许模型分配来自有监督损失的梯度信息,并且能够学习到已标记和未标记节点的表示;
4、工作点:
(1)为直接作用于图的神经网络模型介绍了一种简单且表现良好的分层传播规则,并且展示了如何从谱图卷积的一阶近似中激励这种规则;
(2)演示了这种基于图的卷积神经网络如何用于图中节点快速且可扩展的半监督分类

图上的快速近似卷积 —— 图上的信息传播模型

1、特定的基于图的神经网路的理论激励·
2、谱图卷积
3、分层线性模型

半监督节点分类

1、同时在输入数据和基础图结构的邻接矩阵上调节模型,有效应对邻接矩阵包含输入数据所没有的标签的半监督场景;

相关工作

基于图的半监督学习:

1、某种形式的显示图拉普拉斯正则化:标签传播、流行正则化、深度半监督嵌入
	基于“边连接的节点具有相似性(共享相同的标签)”这一假设,存在局限性
2、图嵌入:受到 Skip-gram,2013模型的启发,
	(1)DeepWalk,2014:通过预测节点的局部邻域来学习嵌入,从图上的随机行走中采样
	(2)LINE,2015 和 node2vec,2016:通过更复杂的随机游走或宽度优先搜索方法扩展了 Deepwalk
	上述方法都需要包括随机行走生成和半监督训练在内的多步骤管道,且每一步都需要单独优化
	(3)plantoid,2016:通过在学习嵌入的过程中注入标签信息

神经网络 on Graphs:

1、传统方法:需要学习节点特定 degree 的权重矩阵,不能扩展到具有宽节点 degree 的大型图
2、本文方法:每层使用一个权重矩阵,并通过适当的邻接矩阵归一化来处理不同节点的 degree
可伸缩性 + 分类性能

模型的限制

1、内存
2、有向边和边特征:当前模型不支持边特征,仅限于无向图
3、假设局部性

图表:

用于半监督分类的多层卷积网络示意图:

1、输入层为C通道
2、输出层为F特征映射
3、标签为Y
4、图结构在层上共享

在这里插入图片描述

代码:

https://github.com/nightluo/GCN-py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车辆纵向动力学、加速性能和燃料消耗研究(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 车辆纵向动力学方面包括车辆传动系统换挡控制、制动系统的设计与控制以及车辆状态的参数估计;车辆横向动力学方面涉及车辆转向…

lua vm 共享 proto

lua vm共享proto 场景 在skynet中,对于每一个lua服务,实际上就是在snlua上启动了一个lua虚拟机去完成lua逻辑,所以skynet的服务是相互隔离的。 这样就会产生一个问题,多个服务都require同一个lua库,每个服务内都会有…

原生API编写简单富文本编辑器001

原生API编写简单富文本编辑器001 从这一节开始,我们将亲自动手,使用我们之前介绍过的浏览器原生API来实现一个简单的可以处理文本的富文本编辑器。 1. 设计 这一个简单版的编辑器,由于我们是基于原生的API,基于浏览器原生API的…

线性表-双向链表

双向链表 双向链表也叫双向表,是链表的一种,它由多个结点组成,每个结点都由一个数据域和两个指针域组成,数据域用来存储数据,其中一个指针域用来指向其后继结点,另一个指针域用来指向前驱结点。链表的头结…

手动实现SpringBoot日志链路追踪

概述 有时候一个业务调用链场景,很长,调了各种各样的方法,看日志的时候,各个接口的日志穿插,确实让人头大。 模糊匹配搜索日志能解决吗?能解决一点点。但是不能完全呈现出整个链路相关的日志。 那要做到方…

致迷茫的程序员一封信——我的程序生涯

0、开头 大家好,我是罗鹏程,一个很老套的开头,哈哈哈。 这封信姗姗来迟,与其说是一封信,不如说是来听听我的故事。从2020开始,收到过很多网友的问题,职业的选择,是做大数据还…

Intellij Idea生成含有META-INF的jar包

新建一个module,如果不会新建的话,参考:Intellij Idea新建module。命名为jar_test。 新建一个java类DateUtil,可以输出当前时间对应的是星期几。代码如下: import java.util.Calendar; import java.util.Date;publi…

编译原理 1 - 概述、形式语言

第1章 引论一些概念1.3 编译程序的总体结构1.4 编译程序的组织第二章 形式语言2.1 文法描述中的基本概念上下文无关文法第1章 引论 一些概念 机器语言:以0、1代码表示的机器指令所构成的语言 每一个具体的计算机系统都具有自己的指令系统 汇编语言:用助…

shiro

概述 shiro是什么 Apache Shiro 是一个功能强大且易于使用的 Java 安全(权限)框架。Shiro 可以完成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 为…

批量数据导入Neo4j的方式

批量数据导入Neo4j的方式 文章目录批量数据导入Neo4j的方式1、写在前面2、前置芝士3、CSV数据导入Neo4j3.1 LOAD CSV Cypher命令3.2 neo4j-admin命令3.3 Kettle导入工具4、数据导入失败5、参考资料1、写在前面 Linux版本:Ubuntu Kylin 16.04Neo4j版本:N…

分布式微服务架构下网络通信的底层实现原理

在分布式架构中,网络通信是底层基础,没有网络,也就没有所谓的分布式架构。只有通过网络才能使得一大片机器互相协作,共同完成一件事情。 同样,在大规模的系统架构中,应用吞吐量上不去、网络存在通信延迟、…

图的遍历(基础)

一、图的遍历的相关定义 遍历的定义:从已给的连通图中的某一顶点出发,沿着一些边访遍图中的所有的顶点,且使每个顶点仅被访问一次,就叫做图的遍历,它是图的基本运算。遍历的实质:找每个邻接点的过程。图的特…

跌倒自动检测雷达的应用

跌倒是老人最常发生的意外之一,据统计,我国每年有150多万老人跌倒身亡。如何及时发现和预防老人跌倒以及避免可能发生的伤害事件,已成为目前社会关注的热点。美国加州大学伯克利分校研究人员研发出一种可穿戴设备——跌倒自动检测雷达&#x…

大规模MIMO通信系统的发射端采用混合波束成形附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

阅读笔记 DAGA 低资源标记任务数据扩充方法

阅读笔记 DAGA 低资源标记任务数据扩充方法 文章目录阅读笔记 DAGA 低资源标记任务数据扩充方法前言概述IntroductionBackground1、NER2、Part-of-Speech (POS) Tagging3、Target Based Sentiment AnalysisProposed Method1、Labeled Sentence Linearization2、Language Modeli…

c#入门-命名参数

位置参数 在你填入实参时,你填入的类型和顺序都需要和形参相同。 因为默认情况下,他是按照从左到右的顺序依次填入实参的。 命名参数 你在声明参数时给变量声明的名字是有用的。 在填入实参时,可以加上名字,以指定你填入的是哪…

触觉智能分享-低成本高性能的厨电解决方案

每个热爱生活的人,一日三餐四季,柴米油盐这点小事,都值得去享受,可如何学会做一顿美味可口的饭菜,对厨房小白来说可不是易事,智能菜谱的出现,将做菜的烹饪过程进行了分步拆解,同时将…

基于STM32波形信号发生器proteus仿真设计(仿真+程序+报告+讲解)

基于STM32波形信号发生器proteus仿真设计(仿真程序报告讲解) 仿真图proteus 8.9 程序编译器:keil 5 编程语言:C语言 设计编号:C0075 讲解仿真视频: 基于STM32的波形信号发生器proteus仿真设计主要功能&#xff1a…

nessus无法导出报告(nessus转中文报告)

nessus漏扫报告,可是nessus导出的报告全是英文,客户说看不懂(说的好像中文就能看懂似的)。找了很多nessus转中文报告的工具都不是很靠谱,今天突然灵机一动发现了一个解决nessus无法导出报告方法。总的说来就是生产一个html文件转中文。 ness…

入门系列 - Git安装与配置

Git安装与配置 要使用Git,你必须在你的电脑上安装它。要不要使用并升级到最新的Git,那取决您的需要了。 下载Git 要下载Git安装程序,请访问Git的官方网站并进入下载页面。本文写于2022-11-29,此时您可以去官网链接去下载&#…