[图神经网络]图嵌入
创始人
2025-05-31 07:34:24
0

将节点映射成D维向量主要有以下几种方法:

        ①人工特征工程:节点重要度、集群系数、Graphlet等

        ②图表示学习:通过随机游走构造自监督学习来实现,如DeepWalk,Node2Vec

        ③矩阵分解

        ④深度学习:图神经网络

一、图嵌入

        传统图机器学习需要使用人为的特征工程来实现图到D维向量的转换。而图表示学习是有计算机自动学习特征将各模态输入转换为向量,这个过程不需要人工干预。

         d维向量有如下特点:

                低维:向量的维度远小于节点数

                连续:每个元素都是实数

                稠密:每个元素都不为0(区别于热编码)

        嵌入向量包含网络的连接信息,且能用于下游任务。

二、基本框架

        1.编码器

                输入一个节点,经过处理后输出其对应的d维向量

        2.解码器

                将编码器得到的向量进行点积,得到其余弦相似度(标量,可以反映节点的相似度)

        !!!需注意的是编码器和解码器的结构是可以更换的,不一定是点积,得到的也不一定是余弦相似度。

        框架迭代优化的方向是:使得图中相似节点的向量数量积大,不相似节点的向量数量积小

三、常见的编码器

        1.浅编码器

                实质上是人为将所有节点的d维向量写入一个矩阵Z中,将此矩阵与一个热编码(one-hot)向量v相乘即可得到嵌入向量,记作:Enc(v)=z_v=Z \cdot v;其中矩阵Z的参数为可学习参数。

        2.随机游走

                从u节点出发,生成一个随机游走序列,求其经过v节点的概率,记作:P(v|z_u)

                可以通过softmax激活函数计算:\sigma (z)[i]=\frac{e^{z[i]}}{\sum e^{z[i]}}sigmoid计算:S(x)=\frac{1}{1+e^{-x}}

                ①Deepwalk

                        1.采样得到若干随机游走序列,计算条件概率

                        2.迭代优化每个节点的d维向量,使得序列中共现节点向量数量积大,不共现节点向量数量积小。

        似然目标函数\underset{f}{max}\sum logP(N_R(u)|z_u),其中N_R(u)为从u节点出发的随机游走序列,游走策略为R

        损失函数\iota=\sum\sum -log(P(v|z_u)),其中概率由softmax计算P(v|z_u)=\frac{exp(z_u^Tz_v)}{\sum exp(z_u^Tz_n)}

         负采样:可以将P(v|z_u)=\frac{exp(z_u^Tz_v)}{\sum exp(z_u^Tz_n)},近似为log(\sigma(z_u^Tz_v))-\sum_{i=1}^k log(\sigma(z_u^Tz_{n_i}) ),此式中的 k 为负样本个数。k一般取5-20,且统一个游走序列中的节点不应被采样为“负样本”。

                Node2vec

                        其余步骤和Deepwalk一致,但是可以通过设置超参数来规定随机游走的偏向性:BFS--宽度优先--局部探索;DFS--深度优先--全局探索

相关内容

热门资讯

78.qt QCustomPl... 参考https://www.qcustomplot.com/index.php/tutorials/...
开发一个进销存系统大概的时间及... 不同的企业进销存管理千差万别、个性化程度高,市场上的产品无法覆盖各个行业的管理需求。 ...
网站流量飙升背后:外贸企业谷歌... 自从我涉足外贸行业,我逐渐认识到谷歌SEO优化在提升网站流量和吸引潜在客户方面的重要性...
根号杂题选做 qwq [Violet]蒲公英 传送门 分块,离散化后维护前 iii 个块中数j的出现...
Selenium+Pytest... 如果下方文字内容没有看明白的话,我推荐大家看一套视频,比文字内容讲的更加...
美国专利法中对于发生在专利公开... 摘要:一般情况下,侵权damage是从专利的授权日开始计算,...
C语言枚举—事件提醒程序 (t... 编写程序,实现一个事件提醒程序,如果今天是周几,完成什么事...
【实战】React 必会第三方... 文章目录一、引子二、配置使用1.安装2.使用(1)直接调用(...
Prompt交易平台;Chat... 👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | ᾞ...
阿里巴巴2017实习生笔试题(... 具体题目来自阿里巴巴2017实习生笔试题,本文仅为整理与汇总。 本题应该往C+...
Redis(十四):性能问题 前言 上一篇介绍了 Redis 作为缓存服务器的问题。这节开始介绍 Redis 性能方面的问题。Re...
linux 全局环境变量删除后... linux 全局环境变量删除后 还有 仍然存在1、编辑 /etc/profile2、设置REDISC...
HD 钱包涉及的 BIP32、... 引言 随着比特币区块链的发展,人们已经不满足于,只有一个账号的情况&#x...
Python数据结构与算法(p... 主要内容:什么是列表查找顺序查找二分查找一、什么是查找?(...
JVM字符串常量池String... String的基本特性 String:字符串,使用一对""引起来表示。 ...
超详细-安装vCenterv ... 目录 介绍: 第一阶段安装: 第二阶段安装: 最近在玩虚拟...
2023年PMP考生|考前必练... “日日行,不怕千万里;常常做,不怕千万事。”每日五题&#x...
刷题(二) 目录标题题目列表第一题解析方法1:递归方法2:迭代第二题解析解法一&#x...
机器学习实战2--logsti... logisticlogisticlogistic回归实际上是一个二分类问题。 问题描述:...
删除mac启动台launchp... 第一种情况 在Mac上安装Photoshop CS6的后, 启动台(LaunchPad...