半监督节点分类-graph learning


半监督节点分类相当于在一个图当中,用一部分节点的类别上已知的,有另外一部分节点的类别是未知的,目标是使用有标签的节点来推断没有标签的节点

注意 半监督节点分类属于直推式学习,直推式学习相当于出现新节点后,需要重新进行训练
但是图神经网络属于归纳式学习,当图当中出现一个新节点的时候,可以快速进行泛化

半监督节点分类问题的解决方法:节点特征工程;节点表示学习(图嵌入,如随机游走);标签传播(消息传递);图神经网络

massage passing:消息传递机制 相当于使用一个节点的领域的其他节点,来预测该节点

1.标签传播 label propagation (relational classification)


Two explanations for why behaviors of nodes in networks are correlated:
Homophily:具有相同属性的节点,更可能相连并具有相同的类别
Influence:社交关系会影响节点类别
  首先,在初始化当中,需要将已知标签节点的类别设定为0或1.
  然后将所有不知道类别的节点类别设定为0.5。
  然后需要对所有未知节点值进行多轮加权平均/平均的计算。
  然后不断进行计算,直到收敛(convergence)
  Update all nodes in a random until convergence or until max number of Iteration is reached
  缺点:仅使用到了网络的连接信息,没有使用到节点的属性特征;且并不能保证收敛

2.iterative classfication 算法 / ICA算法

既要用到图当中节点的属性特征,又要去用用图当中节点的连接信息
  需要去训练两个分类器
  第一个分类器仅仅使用节点的属性特征 base classifier
  第二个分分类器,输入的是属性特征和连接信息。
使用节点的属性特征和网络的连接特征(即一个包含邻域节点类别信息的向量Z) relational classifier
  
  首先需要使用已经标准的节点 作为训练集 来训练两个分类器
  然后相当于使用第一个分类器来提供初始的节点标签
  然后再使用第二个分类器进行不断的循环迭代。不断更新Y和Z

3. Correct and Smooth
  是一种后处理的方法
  具体步骤:
  首先需要理由已经标注的节点来训练一个 base predictor
  第二步:然后use this base predictor to predict soft labels of all nodes 
    (注意这里第二步预测的是软标签,即例如class 0的概率是一个值,class 1的概率是一个值,这两个值的加和为1,且包括已经有类别标签的节点也许需要预测,得到所有节点的soft label)
    We expect these soft label to be decently accurate.
    we can use graph structure to post-process the predictions to make them more current.
    相当于想让模型对于这些不太确信的节点更加确信。
  第三步:post-process the predictions using graph structure to obtain the final prediction of all nodes
    Correct and smooth use the 2-step procedure to post-process the soft predictions
    分为correct step 和 smooth step

    Correct step 当中相当于认为error在图当中也有homophily,因此应该分散不确定性和困惑度,仅仅计算有标注的
     下一时刻的error矩阵既要和上一时刻的error矩阵相关,又需要和传播扩散相关
    相当于将不确定性和困惑度进行了扩散

  需要注意的是,在correct 和 smooth 当中,前者使用的是误差矩阵进行传播,但是后者
  使用节点分类预测的置信度进行传播

4.Loopy Belief propagation
  Belief propagation is a dynamic programming approach to answering probability
Queries in a graph
  相当于节点和节点之间是可以传递消息的


 

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

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

相关文章

游戏服务器业务线程模型探究

游戏服务器业务线程模型是指在游戏服务器中,如何组织和管理线程来处理游戏业务逻辑,尽可能减少不必要的锁竞争。以下介绍几种常见的游戏服务器线程模型。 使用线程组为每个玩家分配线程 这里使用线程组,而不是线程池,主要是为了强调线程池在处理任务自主权比较弱。我们通…

pytest-配置项目不同环境URL

pytest自动化中,在不同环境进行测试,可以将项目中的url单独抽取出来,通过pytest.ini配置文件实现(类似postman中的“Environments”) 使用步骤: 1)安装pytest-base-url插件 pytest-base-url …

阿里云国际云解析DNS如何开启/关闭流量分析?

流量分析服务会涉及产生日志费用,所以开通内网DNS解析服务后,默认不会主动开启流量分析,需要您手动开启流量分析。对于未开启流量分析的用户,进入界面会提示您展示的都是模拟数据,您可以点击开启流量分析服务&#xff…

C语言中的动态数组:原理、实现与应用

引言 在C语言的世界里,静态数组虽然方便易用,但其固定的大小限制了其适应灵活变化的数据场景的能力。相比之下,动态数组作为一种能够在运行时动态调整容量的数组结构,极大地提升了程序处理可变规模数据集的效率和便利性。本文将深…

【PHP进阶】Redis管道技术的实际运用

大家好,我是程序员若风,又到了技术分享时刻。 今天我们来讲讲Redis管道技术 Redis管道技术介绍 Redis流水线技术是一种通过同时发出多个命令来提高性能的技术,而无需等待对每个单独命令的响应。大多数Redis客户端都支持流水线操作。 – 官网…

【pytorch】常用代码

文章目录 条件与概率torch.tensor()torch.rand()torch.randn()torch.randint()torch.multinominal() 逻辑运算torch.argmax()torch.max()torch.sum()torch.tanh()torch.pow() 功能性操作 torch.nn.functionalF.normalize()F.elu()F.relu()F.softmax() 张量计算torch.zeros()tor…

基于JavaWeb实现的校园新闻发布系统

一、系统架构 前端:jsp | bootstrap | js | css 后端:springboot | jdbc 环境:jdk1.6 | mysql | maven 二、 代码及数据库 三、功能介绍 01. web端-首页 02. web端-新闻列表 03. web端-新闻明细 04. 管理端-登录页…

数据可视化引领智慧工业新时代

在智慧工业的大潮中,数据可视化崭露头角,以其直观、清晰的方式赋能工业生产,为智慧工业的高效运转提供了强有力的支持。下面我就以可视化从业者的角度,简单聊聊这个话题。 数据可视化首先在智慧工业的生产监控中大显身手。通过将…

Vue3前端实现一个本地消息队列(MQ), 让消息延迟消费或者做缓存

MQ功能实现的具体代码(TsMQ.ts): import { v4 as uuidx } from uuid;import emitter from /utils/mitt// 消息类 class Message {// 过期时间,0表示马上就消费exp: number;// 消费标识,避免重复消费tag : string;// 消息体body : any;constr…

手机打开 第三方 “微信、快手、QQ、电话、信息” 等

前期回顾 Vue3 TS Element-Plus —— 项目系统中封装表格搜索表单 十分钟写五个UI不在是问题_vue3 封装table 配置表格-CSDN博客https://blog.csdn.net/m0_57904695/article/details/135538630?spm1001.2014.3001.5501 目录 🤖 下载App如下图所示:…

HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342)(A,B,C,D,E,F,G)

看不懂的英文,题意很难理解,这场还是有点难度的。 C需要处理,D是不太明显的dijikstra,E是线段树优化dp,F是个不好想的线段树,主席树应该也能做。 我觉得讲的很好的宝藏up主->B站视频讲解。之后会比较忙…

10 款数据恢复软件功能和有效性对比(2024 年更新)

数据丢失可能是一种痛苦的经历,无论是由于意外删除、硬件故障还是软件损坏。值得庆幸的是,数字时代带来了强大的数据恢复解决方案。 随着我们进入 2024 年,市场上充斥着旨在有效检索丢失数据的先进软件。在本文中,我们将探讨 2024…

Java WEB面试系列-02

1. Servlet 中如何获取 Session 对象? 使用HttpServletRequest对象的getSession方法获取session,通过getCookies获取Cookie。 2. Servlet 中过滤器有什么作用? Servlet监听器对特定的事件进行监听,当产生这些事件的时候,会执行监听器的代码。可以对应用的加载、卸载,对…

代码随想录 Leetcode494. 目标和

题目: 代码(首刷看解析 2024年2月26日) 思路:根据题意,设两个背包,packageA存放前面是""的数字之和,packageB存放前面是“-”的数字之和 则sum packageA packageB; target packageA - packag…

科普:哪几类人适合做人力RPO蓝海项目?

在当今竞争激烈的市场环境中,人力资源管理对于企业的重要性日益凸显。人办理RPO(招聘流程外包)作为一种新兴的服务模式,帮助企业优化招聘流程,提高招聘效率和质量。那么,哪几类人适合做人力RPO蓝海项目呢?本文将为大家详细总结一…

QT之项目经验(windows下的sqlite,c++开发)

目录 一、需要时间去磨练gui的调整和优化 1. 借鉴网上开源项目学习 2. gui的布局及调整是磨人的一件事情 3. gui的布局也是可以用组件复刻的 4. 耗时的设备树 二、多线程异步弹窗 三、定时任务动态变更设定 1.确定按钮触发 2.此处监听定时任务时间的改变 3.此处对改变做出具…

ClickHouse 指南(三)最佳实践 -- 跳数索引

Data Skipping Indexes Data Skipping Indexes 2 1、简介 影响ClickHouse查询性能的因素很多。在大多数情况下,关键因素是ClickHouse在计算查询WHERE子句条件时是否可以使用主键。因此,选择适用于最常见查询模式的主键对于有效的表设计至关重要。 然…

k8s(5)

目录 使用Kubeadm安装k8s集群: 初始化操作: 每台主从节点: 升级内核: 所有节点安装docker : 所有节点安装kubeadm,kubelet和kubectl: 修改了 kubeadm-config.yaml,将其传输给…

k8s pv与pvc理解与实践

参考文章: https://blog.csdn.net/qq_41337034/article/details/117220475 一、 pv/pvc简述 Pv是指PersistentVolume,中文含义是持久化存储卷是对底层的共享存储的一种抽象,Pv由管理员进行配置和创建,只要包含存储能力&#xff…

iPhone利用文件管理器批量导出语音备忘录和照片到电脑

步骤1:使用文件服务器在 iPhone 和电脑间共享文件 参考文献:苹果官网操作指南 步骤1.1:iPhone上打开文件app,点击右上角三个点,选择“连接服务器” 步骤1.2:输入电脑的登录账号和密码 步骤1.3&#xff1a…