当前位置: 首页 > news >正文

【Datawhale图机器学习】半监督节点分类:标签传播和消息传递

半监督节点分类:标签传播和消息传递

半监督节点分类问题的常见解决方法:

  • 特征工程
  • 图嵌入表示学习
  • 标签传播
  • 图神经网络

基于“物以类聚,人以群分”的Homophily假设,讲解了Label Propagation、Relational Classification(标签传播)、Iterative Classification、Correct & Smooth(C & S)、Loopy Belief Propagation(消息传递)、Masked Lable Prediction等半监督和自监督节点分类方法。这些方法经常被用于节点分类任务的Baseline比较基线。消息传递和聚合的思路也影响了后续图神经网络的设计。

半监督节点分类 Transductive 直推式学习<->Inductive 归纳式学习

半监督节点分类问题求解思路

  • 节点特征工程
  • 节点表示学习(图嵌入)
  • 标签传播(消息传递)
  • 图神经网络

半监督节点分类问题-求解方法对比

方法图嵌入表示学习使用属性特征使用标注直推式归纳式
人工特征工程//
基于随机游走的方法
基于矩阵分解的方法
标签传播是/否
图神经网络
  • 人工特征工程:节点重要度、集群系数、Graphlet等。

  • 基于随机游走的方法,构造自监督表示学习任务实现图嵌入。无法泛化到新节点。

    例如:DeepWalk、Node2Vec、LINE、SDNE等。

  • 标签传播:假设“物以类聚,人以群分”,利用邻域节点类别猜测当前节点类别。无法泛化到新节点。

    例如:Label Propagation、Iterative Classification、Belief Propagation、Correct & Smooth等。

  • 图神经网络:利用深度学习和神经网络,构造邻域节点信息聚合计算图,实现节点嵌入和类别预测。

    可泛化到新节点。

    例如:GCN、GraphSAGE、GAT、GIN等。

标签传播和集体分类

  • Label Propagation(Relational Classification)
  • Iterative Classification
  • Correct & Smooth
  • Belief Propagation
  • Masked Lable Prediction

具有相似属性特征的节点更可能相连且有相同类别
具有相似属性特征的节点更可能相连且具有相同类别

社群检测算法代码

# 运行社群检测算法
from networkx.algorithms import community
communities = community.label_propagation_communities(G)#获得每个社群的节点
node_groups = []
for com in communities:node_groups.append(list(com))
print(node_groups)#每个社群的分配颜色
color_mpa = []
for node_id in G:if node_id in node_groups[0]:color_map.append('blue')elif node_id in node_groups[1]:color_map.append('red')else:color_map.append('green')#可视化
nx.draw(G,node_color=color_map,with_labels = True)
pit.show()

参考资料

子豪兄视频:https://www.bilibili.com/video/BV1184y1G7pA/
GITHUB页面:https://github.com/TommyZihao/zihao_course/edit/main/CS224W/5-Semi.md

http://www.lryc.cn/news/22362.html

相关文章:

  • 【分布式缓存学习篇】Redis数据结构
  • 【跟着ChatGPT学深度学习】ChatGPT带我入门NLP
  • RGB888与RGB565颜色
  • 常见的域名后缀有哪些?不同域名后缀的含义是什么?
  • LevelDB架构介绍以及读、写和压缩流程
  • 华为OD机试模拟题 用 C++ 实现 - 快递货车(2023.Q1)
  • 伺服三环控制深层原理解析
  • Cornerstone完整的基于 Web 的医学成像平台(一)
  • 老板让我在Linux中使用traceroute排查服务器网络问题,幸好我收藏了这篇文章!
  • 一文读懂【数据埋点】
  • Qt图片定时滚动播放器+透明过渡动画
  • 手把手带你做一套毕业设计-征程开启
  • 万字解析 Linux 中 CPU 利用率是如何算出来的?
  • 芯驰(E3-gateway)开发板环境搭建
  • HiveSql一天一个小技巧:如何巧用分布函数percent_rank()求去掉最大最小值的平均薪水问题
  • 【python实现华为OD机试真题】优雅子数组【2023 Q1 | 200分】
  • 九种分布式ID解决方案
  • RocketMQ源码分析
  • 跟着我从零开始入门FPGA(一周入门系列)第六天
  • 2023最新JVM面试题汇总进大厂必备
  • Cocoa-presentViewController
  • Vue Mixins
  • Django-版本信息介绍-版本选择
  • 写给交互设计新手的信息架构全方位指南
  • 15、主从复制,gtid,并行复制,半同步复制,实操案例,常用命令,故障处理
  • 【C语言】实现文件内容映射转移
  • html css输入框获得焦点、失去焦点效果
  • Spark Streaming
  • [kubernetes]-k8s通过psp限制nvidia-plugin插件的使用
  • 简单易懂又非常牛逼的Spring源码解析,推断构造与bean的实例化