异构超图嵌入的图分类 笔记

1 Title

        Heterogeneous Hypergraph Embedding for Graph Classification(Xiangguo Sun ,  PictureHongzhi Yin ,  PictureBo Liu ,  PictureHongxu Chen , PictureJiuxin Cao , PictureYingxia Shao , PictureNguyen Quoc Viet Hung)【WSDM 2021】

2 Conclusion

        This paper proposes a graph neural network-based representation learning framework for heterogeneous hypergraphs, an extension of conventional graphs, which can well characterize multiple non-pairwise relations. Our framework first projects the heterogeneous hypergraph into a series of snapshots and then we take the Wavelet basis to perform localized hypergraph convolution. Since the Wavelet basis is usually much sparser than the Fourier basis, this study develops an efficient polynomial approximation to the basis to replace the time-consuming Laplacian decomposition. Extensive evaluations have been conducted and the experimental results show the superiority of this method.

3 Good Sentences

        1、Most of these methods focus on the pairwise relationships between objects in the constructed graphs.In many real-world scenarios, however, relationships among objects are not dyadic (pairwise) but rather triadic, tetradic, or higher. Squeezing the high-order relations into pairwise ones leads to information loss and impedes expressiveness.(The necessary of hypergraph for model building)
        2、But there are key differences between heterogeneous simple graphs and heterogeneous hypergraphs. Even for those homogeneous simple graphs like Figure 2, the same type nodes may also be connected according to different semantics that are represented by different types of hyperedges, making the hypergraph heterogeneous(The challenge of hypergraph meets)
        3、However, the above operation has the following two major issues. First, it is not localized in the vertex domain, which cannot fully empower the convolutional operation. Secondly, eigenvectors are explicitly used in convolutions, requiring the eigen-decomposition of the Laplacian matrix for each snapshot in 𝐺.(The disadvantages of the method that used the Fourier transform to learn hypergraph embedding)


        在许多现实世界的场景中,对象之间的关系不是二元的(成对的),而是三元的、四元的或更高级的。将高阶关系压缩成成对关系会导致信息损失并妨碍表达能力,为了解决这个问题,引入了超图。

在线社交论坛上的异构超图示例。有几种类型的超边缘,包括特定用户创建的所有帖子和评论(紫色圆圈)、同一组中的所有帖子和评论(橙色圆圈)以及包含所有评论的帖子(蓝色圆圈)。

超图挑战1:相同类型的节点也可能根据由不同类型的超边表示的不同语义进行连接,从而使超图异构
超图挑战2:消息可以直接从简单图中的一跳邻居聚合。然而,超图上的消息传播更加复杂。它应该首先在同一个超边内聚合,然后在连接到目标节点的所有超边上聚合。这种差异使得传统的基于GNN的方法不适用于超图

为了解决挑战1,本文首先提取具有不同元路径的简单图快照,然后根据超边类型在这些简单图上构造几个超图快照。分解后,每个快照都是同质的,它们也可以很容易地并行计算,使模型可扩展到大型数据集。

为了解决挑战2,本文通过用小波基代替傅立叶基来设计超图卷积。与顶点域中的方法相比,这种谱方法不需要考虑超图中复杂的消息传递模式,并且还可以执行局部卷积,小波基比傅立叶基稀疏得多,它可以通过多项式有效地近似而无需拉普拉斯分解

一些定义:

        Simple Graph Snapshots:.

根据选择的元路径,可以从原始异构简单图中提取相应的子图。以图a为例,用用户(U)和部门(D)作为节点来表示社交网络,其中边表示友谊(U-U)和从属关系(U-D)。根据元路径U-U和元路径U-D提取路径,然后我们可以生成两个子图作为简单图的两个快照。

Heterogeneous Hypergraph:一个异构超图可以定义为G = {V,\varepsilon,T𝑣,T𝑒,W},其中,V是顶点集,T𝑣是顶点类型集。\varepsilon是一组超边,T𝑒是超边类型的集合。当|T𝑣|+|T𝑒|>2时,超图是异构的。W是超边权重的对角矩阵,节点和超边之间的关系可以由关联矩阵H 表示

        让D𝑣 ∈ R^{V*V}和D𝑒 ∈ R^{E*E}分别表示包含顶点度和超边度的对角矩阵,其中D_v(i,i)=\sum _{e\in \varepsilon }W(e)H(i,e)D_e(i,i)=\sum _{v\in V }H(v,i)。让\Theta =D_v^{-1/2}HWD_e^{-1}H^TD_v^{-1/2},然后拉普拉斯算子就可以表示为\Delta =I-\Theta

Hypergraph Snapshots:超图G = {V,E}的Snapshot可以被定义为G𝑒 = {V𝑒,E𝑒 }的子图。这里V𝑒和E𝑒分别是V和E的子集,超图快照是根据超边类型生成的,这意味着\varepsilon _e中的所有超边都应属于同一超边类型。如图所示,三种超图snapshot各包含一种超边类型。

异构超图嵌入:

        异构超图嵌入框架的概述如图所示。输入是一个简单的图形。如果简单图是异构的,则先提取具有不同元路径的简单图快照。之后在这些简单图上构造超图,然后将它们分解成多个超图快照,再然后使用开发的超图小波神经网络(HWNN)来学习每个快照中的节点嵌入,然后将这些快照聚合为用于下游分类的综合表示

HWNN: Hypergraph Wavelet Neural Networks:

        对于每个顶点𝑣𝑖 ∈ V,首先通过全局嵌入矩阵查找其初始向量表示v𝑖 ∈ R^{C\times 1},然后将其投影到不同类型超边的子空间中,具有超边类型𝑡𝑒 ∈ T𝑒的超边特定空间中的顶点𝑣𝑖的表示计算如下:其中M𝑡𝑒 ∈R^{C \times C}是𝑡𝑒的超边特定投影矩阵。

Hypergraph convolution via Fourier basis

        对于从原始异构超图中提取的每个快照G𝑒 = {V𝑒,E𝑒,W},其拉普拉斯矩阵:\Delta^{G_e}=I-\Theta ^{G_e},其中,

x_t^{G_e}(v_i)=v_i^{t_e}(t),其中𝑡是v_i^{t_e}中元素的索引,𝑡 = 1,.......,𝐶,则,超图拉普拉斯\Delta ^{G_e}是一个|V | × |V |正半定矩阵,它可以对角化为:,其中U是傅立叶基,它包含由其非负特征值排序的标准正交特征向量的完整集合,根据卷积定理,x_t^{G_e}和滤波器y的卷积运算*hG可以写成它们的傅里叶变换的逐元Hadamard之后的傅里叶反变换:

其中是滤波器的傅里叶变换,

但是,上述操作存在以下两大问题。

首先,它没有定位在顶点域,这不能充分授权卷积操作。其次,特征向量显式地用于卷积,需要对𝐺中的每个快照的拉普拉斯矩阵进行特征分解。为了解决这些问题,本文建议用小波基代替傅立叶基。

选择小波基代替原来的傅立叶基的基本原理如下。首先,小波基比傅里叶基稀疏得多,最适合现代GPU架构进行高效训练。此外,利用小波基的性质,可以更容易地实现有效的多项式近似。

基于这一特征,可以进一步提出图小波的多项式近似,从而不再需要拉普拉斯矩阵的特征分解。最后但并非最不重要的是,小波表示信息扩散过程,非常适合在顶点域实现局部卷积。.

Hypergraph convolution based on wavelets:

为带有缩放参数s的小波基,

其中是超图拉普拉斯算子\Delta ^{G_e}的特征值,接着用小波基替换傅里叶基,可得:

在上式中,是滤波器的谱变换,

另外,本文采用StoneWeierstrass定理[10]来逼近图小波,而不需要拉普拉斯矩阵的特征分解,使该方法更加高效。

Stone-Weierstrass定理与多项式近似:

Stone-Weierstrass定理指出热核矩阵restricted to,可以近似为,其中其中𝐾是多项式阶。包含超图拉普拉斯的特征值

是每个项都有上界的残差:

综上,图小波基就可以近似为:,而\Delta ^{G_e}可以看作是\Theta ^{G_e}的一阶多项式,该式就可以改写为

再之后,可以用s替换-s,使用一组平行的参数来近似

于是,有公式

那么,超边卷积神经网络可以表示为:.

可以通过将特征变换从卷积中分离出来进一步减少滤波器的数量,其中,W为特征项目矩阵,设Z^{G_e}=(X^{G_e})^{m+1}式最后一层Z^{G_e}=(X^G_e)^{m+1}的输出,那么对于所有的快照,其graph representations为:,⊕为级联操作,Z为Z^{G_i},i=1,2,3\cdot \cdot \cdot |T_e|的级联操作,最后,异构超图G的表示可以通过对其所有快照求和来计算:

        

其中𝑓是多层感知器。

在节点分类任务中,待分类类别为C_{m+1}。损失函数可以与所有标记样本上的交叉熵误差和投影矩阵上的正则化器相结合,其中V_{l}是标记节点的集合,Y_{v,i}是节点𝑣在类别上的标签值i。如果节点𝑣属于类别i,否则为0。𝜂是正则化器的权衡参数。被作为正则项,也可以用L-2范式替代。

以上是用在节点分类任务上的结果,

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1038: 顺序表中重复数据的删除

解法&#xff1a; #include<iostream> #include<vector> #include<algorithm> using namespace std; int main() {int n, k;cin >> n;vector<int> arr(n);for (auto& x : arr) cin >> x;cin >> k;int sum 0;for (auto x : arr…

句柄ros::NodeHandle nh(“~“)与nh对launch文件参数配置(param)的影响

ros::NodeHandle nh("~"); 改为&#xff1a; ros::NodeHandle nh; 即可 /*************************分割线 ************************/ 如果原本是&#xff1a; ros::NodeHandle nh;可以改成&#xff1a; ros::NodeHandle nh("~"); 试试

反射与动态代理

一、反射 什么是反射? 反射允许对成员变量&#xff0c;成员方法和构造方法的信息进行编程访问 1.获取class对象的三种方式 Class这个类里面的静态方法forName&#xff08;“全类名”&#xff09;&#xff08;最常用&#xff09; 通过class属性获取 通过对象获取字节码文件对…

浏览器原理---事件循环

浏览器原理 学习浏览器原理对于我们开发是很有必要的 我们可以了解到浏览器内部工作原理对自己的代码进行优化 进程线程 首先了解进程和线程 进程就就是内存在正在进行的应用程序 在内存中独占一个内存空间 并且进程之间是隔离的 可以看到每个应用都有一个进程 占用空间内存…

【300套】基于Springboot+Vue的Java毕业设计项目(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f9e1;今天给大家分享300的Java毕业设计&#xff0c;基于Springbootvue框架&#xff0c;这些项目都经过精心挑选&#xff0c;涵盖了不同的实战主题和用例&#xff0c;可做毕业…

【C++进阶】RAII思想&智能指针

智能指针 一&#xff0c;为什么要用智能指针&#xff08;内存泄漏问题&#xff09;内存泄漏 二&#xff0c;智能指针的原理2.1 RAII思想2.2 C智能指针发展历史 三&#xff0c;更靠谱的shared_ptr3.1 引用计数3.2 循环引用3.3 定制删除器 四&#xff0c;总结 上一节我们在讲抛异…

Vulnhub靶机 DC-1渗透详细过程

Vulnhub靶机:DC-1渗透详细过程 目录 Vulnhub靶机:DC-1渗透详细过程一、将靶机导入到虚拟机当中二、攻击方式主机发现端口扫描web渗透利用msf反弹shell数据库信息web管理员密码提权 一、将靶机导入到虚拟机当中 靶机地址&#xff1a; https://www.vulnhub.com/entry/dc-1-1,29…

Open CASCADE学习|BRepOffsetAPI_DraftAngle

BRepOffsetAPI_DraftAngle 是 Open CASCADE Technology (OCCT) 中用于创建带有草图斜面的几何体的类。草图斜面是一种在零件设计中常见的特征&#xff0c;它可以在零件的表面上创建一个倾斜的面&#xff0c;通常用于便于零件的脱模或是增加零件的强度。 本例演示了如何创建一个…

启动nginx时报错:signal process started

解决方案&#xff0c;直接使用该命令启动&#xff0c;指向nginx.conf配置文件&#xff1a; nginx -c /www/wdlinux/nginx/conf/nginx.conf 启动成功&#xff1a;

C语言高质量编程之assert()和const

目录 编程中常见的错误 assert() const 编程中常见的错误 在编程中我们通常会遇到三种错误形式&#xff0c;分别是&#xff1a;编译型错误&#xff0c;链接型错误&#xff0c;运行时错误。 编译型错误&#xff1a; 在编译阶段发生的错误&#xff0c;绝大多数情况是由语法错误…

全栈的自我修养 ———— react实现滑动验证

实现滑动验证 展示依赖实现不借助create-puzzle借助create-puzzle 展示 依赖 npm install rc-slider-captcha npm install create-puzzleapi地址 实现 不借助create-puzzle 需要准备两张图片一个是核验图形&#xff0c;一个是原图------> 这个方法小编试了后感觉比较麻烦…

初探vercel托管项目

文章目录 第一步、注册与登录第二步、本地部署 在个人网站部署的助手vercel&#xff0c;支持 Github部署&#xff0c;只需简单操作&#xff0c;即可发布&#xff0c;方便快捷&#xff01; 第一步、注册与登录 进入vercel【官网】&#xff0c;在右上角 login on&#xff0c;可登…

图解JDK 8 HashMap

HashMap-简介 HashMap 主要用来存放键值对&#xff0c;它基于哈希表的 Map 接口实现&#xff0c;是常用的 Java 集合之一&#xff0c;是非线程安全的。 HashMap 可以存储 null 的 key 和 value&#xff0c;但 null 作为键只能有一个&#xff0c;null 作为值可以有多个 JDK1.8…

Macbook M1 Pro使用brew安装Docker并安装Nacos【超详细图解】

目录 一、安装 Docker 二、修改 Docker 镜像地址 三、拉取镜像-举例 Nacos 1.拉取镜像 2.查看本地镜像 3.删除镜像 四、启动容器 1.启动 Nacos 容器&#xff1a; I.方式一【推荐】 II.方式二【懒人推荐】 2.访问 Nacos Web 控制台 3.进入容器和退出容器 五、配置…

labview中的同步定时结构

单帧定时循环定时比较精确&#xff0c;最常用的功能还是它的定时循环功能&#xff0c;定时循环允许不连接“循环条件”端子&#xff0c;可以连接定时循环“结构名称”端子&#xff0c;通过定时结构停止函数停止循环。 例子在附件中。

如何下载和安装Google Chrome扩展插件:一步步指南

Google Chrome 插件为我们提供了这样的便利&#xff0c;但有时找到一个有用的插件后&#xff0c;我们可能需要将其下载到本地以便离线使用或备份。 一、为什么可以从Google Chrome商店直接下载插件&#xff1f; Google Chrome 扩展插件主要通过Chrome Web Store分发&#xff…

凡泰极客亮相2024 亚马逊云科技出海全球化论坛,为企业数字化出海赋能

随着「不出海&#xff0c;即出局」登上热搜榜单&#xff0c;企业出海已成燎原之势&#xff0c;3月29日&#xff0c;2024 亚马逊云科技出海全球化论坛在深圳成功举办&#xff0c;凡泰极客创始人梁启鸿受邀出席&#xff0c;并以 「App 2.0&#xff1a;以SuperApp构建智能数字生态…

使用Python的Pillow库进行图像处理书法参赛作品

介绍&#xff1a; 在计算机视觉和图像处理领域&#xff0c;Python是一种强大而流行的编程语言。它提供了许多优秀的库和工具&#xff0c;使得图像处理任务变得轻松和高效。本文将介绍如何使用Python的wxPython和Pillow库来选择JPEG图像文件&#xff0c;并对选中的图像进行调整和…

Vol.45 这个壁纸网址,功能简单,每月37.7万访问量

哈咯&#xff0c;大家好&#xff0c;我是欧维&#xff0c;今天要给大家分享的网站是&#xff1a;极简壁纸&#xff0c;一个专门做电脑壁纸的网站&#xff1b; 它的网址是&#xff1a;极简壁纸_海量电脑桌面壁纸美图_4K超高清_最潮壁纸网站 网站的壁纸质量很高&#xff0c;页面…

c/c++普通for循环学习

学习一下 for 循环的几种不同方式&#xff0c;了解一下原理及差异 完整的测试代码参考 GitHub &#xff1a;for 循环测试代码 1 常用形态 对于 for 循环来说&#xff0c;最常用的形态如下 for (表达式1; 表达式2; 表达式3) {// code }流程图如下&#xff1a; 编写测试代码…