当前位置:网站首页>GNNExplainer应用于节点分类任务
GNNExplainer应用于节点分类任务
2022-08-09 05:54:00 【kc7w91】
GNNExplainer 应用于节点分类任务
1. 论文部分
对于节点分类任务而言,GNNExplainer实现了:提取出与当前节点预测结果最相关的子图结构与部分特征,用mask表示
具体怎么找到的:通过不断调整子图G_s与特征子集X_s(哪些特征维度在起作用,而不是哪些节点的特征在起作用),完成最大化互信息的任务,计算公式:
Y为预测结果是固定的,函数H代表熵,因此H(Y)为常数,因此目标转为最小化上式中的减数:
上式是按照条件熵的计算展开的,之前困惑了很久,论文里啪的一下就到这步了
2. pyg提供的框架
from torch_geometric.nn import GNNExplainer
import matplotlib.pyplot as plt
explainer = GNNExplainer(model, epochs=300) # model为待解释节点
node_idx = 3840 # 待解释节点的index
node_feat_mask, edge_mask = explainer.explain_node(node_idx, data.x, data.edge_index) # x/edge_index 对应 节点特征/边集
ax, G = explainer.visualize_subgraph(node_idx, data.edge_index, edge_mask, y=y) # y为预测结果
plt.savefig("explain_" + str(node_idx) + ".png")
plt.show()
边栏推荐
猜你喜欢
半胱氨酸/半乳糖/苝二酰亚胺功能化Fe3O4四氧化三铁纳米材料|科研试剂
Transaction rolled back because it has been marked as rollback-only
牛客每日刷题之链表
Bismuth sulfide nanorods with CT imaging function | Bismuth sulfide-zinc protoporphyrin composites (PAMAM/Bi2S3 composite nanoparticles)
使用Redis zset做消息队列
磁性核壳四氧化三铁颗粒负载金纳米星|磁性Fe3O4-POSS-COOH|超顺磁四氧化三铁聚多巴胺核壳结构纳米粒子
废品回收小程序、APP UNIAPP开发带有用户端和回收员端
【微信小程序】5分钟实现微信小程序海报
绕过反调试fuck-debugger
JVM:(七)运行时数据区之堆
随机推荐
NFT协议OMNI因重入攻击损失1300ETH
Shell:数组和函数用法
Initials-Letter Query Tool-Word Abbreviation Query Online Tool
八、开发者工具与单元测试
pytorch实现GAN入门案例
LDO和DC-DC的区别
MATLAB图像处理入门
使用Redis zset做消息队列
deploy发布的jar包中文乱码
直播平台怎么搭建,设置状态栏颜色、沉浸式状态栏
Shell 文本三剑客 (grep、sed、awk)
JVM:(六)运行时数据区之本地方法栈
记一个 nest.js 路由匹配后面所有路径问题
excel表格如何不需鼠标往下拖动而自动往下填
[Deep Learning] Let's talk about what is convolutional neural network and what does convolution mean?
【JMeter】jmeter测试 - 上传多个图片/批量上传图片接口 CSV文件参数化方法
在命令行打开LaTeX宏包手册
Xilinx Zynq ZynqMP DNA
Functions and differences of command, shell, raw, script modules, application of file, copy, fetch, synchronize
Transaction rolled back because it has been marked as rollback-only