其他图嵌入方法(6)

news2025/2/23 7:12:26

        前面写了图神经网络可以把节点或图映射到一个低维空间,我们将其称为图嵌入。然而,除了图神经网络还有许多的图嵌入方法。本节将介绍其他浅层图嵌入方法。早在图神经网络发明之前,图嵌入的概念就经常出现在流形学习和网络分析的研究中。相对于图神经网络来说,最初的图嵌入方法被认为是浅层的嵌入方法,它们大多可以被归类为基于矩阵分解的图嵌入方法和基于随机游走的图嵌入方法。

1.基于矩阵分解的图嵌入方法

        很多早期的图嵌入方法来源于经典的降维技术,如矩阵分解。具体来说,这些方法针对一个表示图的连接关系的矩阵(如邻接矩阵、拉普拉斯矩阵、卡兹相似度矩阵等)进行分解,分解后得到的节点表示保留了原图的一些性质。

1.1拉普拉斯特征映射

        原始的拉普拉斯特征映射算法需要先建立数据点的相似关系图,这里假设图已经给出,图中的边可以表示节点之间连接的强度或者相似度。这个算法假设两个节点i j 很相似,那么它们在降维之后的嵌入表示应该也尽量接近。给定图的邻接矩阵 A∈Rn×n, 度矩阵D∈Rn×n, 拉普拉斯矩阵L=D-A 和点降维后的嵌入表示Z∈Rnxm,  它的目标函数可以表示为:

=tr(Z^{T}LZ),其中tr表示矩阵的迹。可以看出,这实际上使得图的嵌入尽量光滑。为了保证这个优化问题有解,而且解空间不会被任意的伸缩,我们对Z 加一个限制Z^{T}DT=I   这样优化问题就变为

mintr(Z^{T}LZ),s.t.Z^{T}DZ=I  ,对其做拉格朗日变换,得到:   min tr(Z^{T}LZ)-λ(Z^{T}Dz-I)这个式子的导数是2(LZ-\lambdaDZ),根KKT 条件,这个优化问题的解对应于求解L 的广义特征值为:LzDz,可以看出,拉普拉斯特征映射最终是在对拉普拉斯矩阵进行特征值分解,然后取前m个最小非0特征值对应的特征向量。拉普拉斯特征映射作为一个经典的降维方法,至今仍然被广泛使用。在使用图神经网络的分类任务中,在原图没有节点特征的情况下,可以先采用拉普拉斯特征映射得到节点的嵌入表示,然后将它作为图神经网络中节点的初始状态。这种预处理一般会在某种程度上加快图神经网络的收敛,并且可能提升图神经网络的分类准确率。

1.2图分解

        图分解采用了另外一种保持节点间距离的策略。 它的主要思想是,希望节点vi和节点 vj嵌入后的表示zi zj 的内积和原来的边的权重尽量接近。以Z 作为节点的嵌入矩阵,希望最小化以下目标函数:

        为了控制模型的复杂度,我们一般在上式中加上一项L2 正则化项,λ是它的系数。第5章曾经介绍了图自编码器模型,如果把上式中的(Z) 看成一个 编码器的输出,那么这个目标函数实际就是一个自编码器的目标。不同的是,这里我们只考虑原图中已有的边的重构,不考虑所有的邻接矩阵元素(包含0元素)。图分解的方法是对邻接矩阵进行分解,因为只考虑图中已有的边,所以能够将复杂度控制在O(|\epsilon|)。GraRepHOPE则对图分解的方法进行了改进,仍然采用类似的框架,不同的是,它们的重构目标不再是原始的邻接矩阵。GraRep 从概率角度出发,考虑的是点与点之的 k 阶相似性(转移概率),它的目标函数可以近似地写成:

这里的X^{k}由一个转移矩阵T=D-1A得到,代表k阶非负对数概率。X^{k}中的每个元素X^{k}ij,可以被认为是节点vi和vj间的某种相似度度量:

T^{K }就是转移矩阵连乘k次后的k阶转移概率矩阵,\beta是一个超参数。HOPE 则采用了一个更一般化的形式:

S不再局限于边的权重或者节点之间的转移概率,而可以是一个更一般的相似度矩阵。它可以是一个卡兹指数,也可以是雅卡尔共同邻居,还可以是PageRank 等。

2.基于随机游走的图嵌入方法

        基于随机游走的图嵌入在数据挖掘领域被称为网络嵌入。不同于图神经网络通常利用整个图的信息(如空域图神经网络在整个图上传递信息,频域图神经网络在整个拉普拉斯矩阵上定义图卷积 核),网络嵌入考虑的信息更加本地化,只考虑每个节点利用随机游走得到的邻 居节点。另外,早期的网络嵌入模型只考虑图结构信息,并没有像图神经网络 那样把节点特征加入模型中,不过这一点在最近的模型中得到了改进。本节介绍两种最常见的经典随机游走网络嵌入模型:DeepWalk和node2vec。

2.1  DeepWalk

        作为一种简化的语言模型,word2vec的出发点是用一个词做输入,预测它周围的上下文(即Skip-gram模型);或者用一个词的上下文做输入,预测当前词的出现概率(即CBOW模型)。那么,我们可否把类似的思想移植到图数据中呢? 答案是肯定的,但关键问题是怎么定义一个节点的上下文。DeepWalk采用随机游走的方法在图中随机采样大量固定长度的路径,每个路径相当于一个句子,而每个节点相当于一个词。这样,我们就可以用Skip-gram模型来最大化中心节点和它在这条路径上的前后邻接节点的共现概率,这个共现概率可以根据节点的嵌入表示得到。假设一个节点vi嵌入表示是zi, 我们分别向前、向后采样K 个节点,得到一条采样路径Uv,  目标函数可以写成:

        由于归一化因子的存在,直接解这个目标函数的复杂度会非常高,需要用到所有的节点。因此,我们一般采用一些近似算法,包括层次Softmax和负采样。

2.2负采样

        负采样是提高Skip-gram模型训练效率的一种近似算法。它的主要思想是: 不需要精确地计算p(vj|ui), 只需要尽可能地区分目标节点和其他噪声。这个噪 声就是我们所谓的负样本,噪声的分布就是负采样所遵循的概率分布Pn (为了简洁,很多情况下我们都使用均匀分布,也就是均匀随机采样作为负样本)。假  设我们从Pn 采样K 个负样本,负采样将logp(vj|vi) 近似为:

2.2node2vec

        node2vec和DeepWalk的目标类似,都是最大化观察到邻接节点的概率,它们的主要不同在于采样的方式。DeepWalk采用了无偏的随机采样,每次 向前、向后采样固定长度的一条路径;而 node2vec将采样邻居节点看作一个搜 索问题,它对两个图搜索策略(宽度优先搜索和深度优先搜索)做了权衡,然后用它们进行采样。

        具体来说,node2vec定义了两个随机游走的超参数p q,p   控制立刻访问节点的概率,q控制访问节点的邻居的概率。如果p高,就代表已经被访问的节点在接下来的两步被访问到的可能性更低。在q>1  的情况下,随机游走倾向于访问近的邻居节点;在q<1 的情况下,随机游走倾向于访问远的节点。通过控制p  q,   我们可以平衡宽度优先搜索和深度优先搜索策略,因为宽度优先搜索倾向于保留节点在邻域附近的角色,而深度优先搜索则倾向于获得更加全局的结构信息。

2.3 随机游走与矩阵分解的统一

        早在2014年,Levy 等人就提出了基于Skip-gram 的词向量实际上可以看成一种矩阵分解,那么具有类似目标的网络嵌入模型呢,会不会也有同样的特征?Qiu 等人分析了几种经典的网络嵌入方法,如DeepWalknode2vec LINEI97 PTEI98, 发现它们全都可以统一成矩阵分解的形式。

3.从自编码器的角度看图嵌入

        所有图嵌入的方法实际上都是一个自编码器。前面已经讲到了图分解,GraRep 和HOPE 是一个重构某种相似度矩阵的自编码器。 这个框架其实也可以扩展到几乎所有本章涉及的模型中。总体来说,我们可以先定义一个图中节点的相似度度量sg(vi,vj),然后通过一个线性编码器f(x)=Zx      和一个解码器DEC(vi,vj)重构节点间的相似度。

小结

浅层图嵌入方法广泛应用于数据挖掘领域,是得到图节点的低维表示的一 种很直观的方法,但它们也有天然的局限性。

(1)浅层图嵌入方法是对图中出现的所有节点直接习得最终的表示,它们的编码器是将每个节点线性映射到最终的嵌入向量f(x)=Zx,   因此参数的数量和节点数量相关,在节点数量很多时,参数量会变得过多。相比之下,图神经网络(如图卷积网络)的参数是用来将节点本身的属性向量映射到一个更低维的向量,与节点的数量无关,只与节点属性向量的维度有关。

(2)浅层图嵌入方法通常只考虑图的结构,而忽略了节点本身的属性。图神经 网络则结合了节点本身属性和图的拓扑结构的信息。

(3)浅层图嵌入方法只能采用直推式学习,如果它们要学习一个节点的嵌入, 则这个节点必须是在训练过程中出现的,对于未出现过的节点则无能为力。而图神经网络(如GraphSAGE 等),通过学习一个所有节点共通的编码器,可以很轻易地把嵌入方法推广到未知节点上。

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

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

相关文章

科技引领未来生活——“光影漫游者”展览馆应用—轻空间

随着科技的快速发展&#xff0c;展览馆作为展示文化、科技和艺术的场所&#xff0c;正逐渐从传统的静态展示向高科技互动体验转变。由轻空间打造的“光影漫游者”展览馆&#xff0c;凭借其前沿的气承式结构和智能化系统&#xff0c;将参观者带入了一个未来感十足、充满科技魅力…

海外服务器哪个速度最快且性能稳定

海外服务器的速度与性能稳定性受多种因素影响&#xff0c;包括地理位置、网络架构、基础设施质量以及用户网络路径等。在众多选择中&#xff0c;几个特定地区的服务器因其卓越表现而备受推崇。 首先&#xff0c;美国硅谷(加利福尼亚州)与纽约的服务器以其技术领先、网络连接稳定…

OceanBase 中 schema 的定义与应用

背景 经常在OceanBase 的问答社区 里看到一些关于 “schema 是什么” 的提问。 先纠正一些同学的误解&#xff0c; OceanBase 中的 Schema 并不简单的等同于 Database&#xff0c;本次分享将探讨 OceanBase 中的Schema是什么&#xff0c;及一些大家经常遇到的问题。 具体而…

2023 hnust 湖科大 毕业实习 报告+实习鉴定表

2023 hnust 湖科大 毕业实习 报告实习鉴定表 岗位 IT公司机房运维 实习报告 实习鉴定表 常见疑问 hnust 湖科大 毕业实习常见问题30问&#xff08;2021 年7月&#xff0c;V0.9&#xff09;-CSDN博客时间&#xff1a;大四开学第三四周毕业实习23年是企业&#xff08;黑马&am…

【H2O2|全栈】关于CSS(6)CSS基础(五)

目录 CSS基础知识 前言 准备工作 网页项目规范 创建项目 布局 补充一部分属性 outline border-radius 预告和回顾 后话 CSS基础知识 前言 本系列博客将分享层叠样式表&#xff08;CSS&#xff09;有关的知识点。 本期博客主要分享的是网页项目规范&#xff0c;ou…

算法训练——day16快乐数

202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结果为…

STM32快速复习(十二)FLASH闪存的读写

文章目录 一、FLASH是什么&#xff1f;FLASH的结构&#xff1f;二、使用步骤1.标准库函数2.示例函数 总结 一、FLASH是什么&#xff1f;FLASH的结构&#xff1f; 1、FLASH简介 &#xff08;1&#xff09;STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分&…

【无标题】Java_Se 数据变量与运算符

标识符、变量、常量、数据类型、运算符、基本数据类型的类型转换等。这些是编程中的“砖块”&#xff0c;是编程的基础。要想开始正式编程&#xff0c;还需要再学“控制语句”&#xff0c;控制语句就像“水泥”&#xff0c;可以把“砖块”粘到一起&#xff0c;最终形成“一座大…

react学习笔记一:react介绍

将view规划成一个个的组件&#xff0c;是一个响应式的声明式的设计。 虚拟dom&#xff0c;减少dom操作。vue的虚拟dom是在react的基础上拓展来的。 单向数据流&#xff1a;是一种数据流动的模式。数据流的方向是有上到下的&#xff0c;在react中主要是从父组件流向子组件。 …

Django后台管理复杂模型

【图书介绍】《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》_django 5企业级web应用开发实战(视频教学版)-CSDN博客 《Django 5企业级Web应用开发实战&#xff08;视频教学版&#xff09;》(王金柱)【摘要 书评 试读】- 京东图书 (jd.com) Django框架…

C#学习(四)C#连接Mysql实现增删改查

博主刚开始接触C#&#xff0c;本系列为学习记录&#xff0c;如有错误欢迎各位大佬指正&#xff01;期待互相交流&#xff01; 文章目录 一、安装Mysql1.1 启用Mysql1.2 登录Mysql 二、安装Navicat2.1 建立连接2.2 新建数据库2.3 新建表 三、创建Winform实现增、删、改、查3.1 下…

医学数据分析实训 项目七 集成学习--空气质量指标--天气质量分析和预测

项目七&#xff1a;集成学习 实践目的 理解集成学习算法原理&#xff1b;熟悉并掌握常用集成学习算法的使用方法&#xff1b;熟悉模型性能评估的方法&#xff1b;掌握模型优化的方法。 实践平台 操作系统&#xff1a;Windows7及以上Python版本&#xff1a;3.8.x及以上集成开…

ubuntu安装wordpress(基于LNMP环境)

参考链接 Ubuntu安装LNMP 安装步骤 环境需要LNMP环境&#xff0c;如果没有安装可以参考ZATA—LNMP简单安装 在mysql中设置wordpress所用的用户名和密码 #1. 登录mysql mysql -uroot -p #2. 创建wordpress数据库 create database wordpress; #3. 创建新用户user&#xff0c;…

【有啥问啥】深入解析 OpenAI o1 模型家族:推理能力的跃升与应用场景

深入解析 OpenAI o1 模型家族&#xff1a;推理能力的跃升与应用场景 随着人工智能的不断发展&#xff0c;推理能力已经成为影响 AI 系统性能的关键因素。2024 年 9 月 12 日【好家伙&#xff0c;在笔者生日当天&#xff8d;(ー&#xff40;&#xff8d;)搞事情】&#xff0c;O…

腾讯百度阿里华为常见算法面试题TOP100(5):子串、堆

之前总结过字节跳动TOP50算法面试题: 字节跳动常见算法面试题top50整理_沉迷单车的追风少年-CSDN博客_字节算法面试题 子串 560.和为K的子数组

谷歌云推出全新区块链RPC服务:简化Web3开发

2024年9月&#xff0c;谷歌云&#xff08;Google Cloud&#xff09;宣布推出区块链RPC&#xff08;远程过程调用&#xff09;服务的预览版&#xff0c;进一步表明其支持Web3开发者的承诺。此次发布旨在简化开发者与区块链数据的交互&#xff0c;降低Web3应用开发的技术门槛。这…

制作U盘安装操作系统(启动盘、系统盘、Windows、Linux)

第一种&#xff08;Windows&#xff09; 官网windows制作启动盘 1. 打开Win11下载官网 下载 Windows 11https://www.microsoft.com/zh-cn/software-download/windows11 2. 下载制作操作系统工具 这里不要下载错了 3. 启动工具 选择U盘&#xff0c;选择你的U盘即可&#xf…

[Redis][环境配置]详细讲解

目录 1.安装 && 简单配置2.文件目录说明3.客户端 1.安装 && 简单配置 Ubuntu下&#xff0c;直接使用sudo apt install redis -y即可支持远程连接&#xff1a;修改/etc/redis/redis.conf 将bind 127.0.0.1改为bing 0.0.0.0作为学习用途&#xff0c;可以将prote…

vue3前端开发-小兔鲜超市-本地购物车列表页面的统计计算

vue3前端开发-小兔鲜超市-本地购物车列表页面的统计计算&#xff01;这一次&#xff0c;实现了一些本地购物车列表页面的&#xff0c;简单的计算。 代码如下所示&#xff1a; import { computed, ref } from vue import { defineStore } from pinia export const useCartStor…

新升级|优化航拍/倾斜摄影模型好消息,支持处理多套贴图模型!

【天元轻量化软件】一直在不断地追求进步和完善&#xff0c;以满足更多用户的各种需求。 电脑登录天元官网免费体验&#xff1a;天元轻量化软件官网 本次我们对“智能PBR”功能进行了更新。更新后的“智能PBR”支持带多套贴图的模型进行使用。 本轮更新后&#xff0c;主要受益…