基于节点嵌入的链接预测(暂时这样吧)

基于节点嵌入的链接预测

  • 补充知识:
    • 图自编码器(Graph Autoencoder, GAE):
    • 变分图自编码器(Variational Graph Autoencoder ,VGAE):
    • 二级目录
      • 三级目录

补充知识:

用一个例子来帮助理解,假设我们有一个社交网络,其中节点表示用户,边表示用户之间的关系。
我们的目标呢就是通过学习用户的潜在表示来预测新的好友关系。

图自编码器(Graph Autoencoder, GAE):

图自编码器由编码器和解码器组成:

编码器:将图结构和节点特征编码到一个潜在的表示空间,通常是使用GCN进行嵌入。
解码器:从潜在的表示空间中重构原始图进行链接预测。通常是采用内积解码器。
编码器的计算公式如下:
Z = G C N ( X , A ) Z=GCN(X,A) Z=GCN(X,A)
X :节点特征。
A:图的邻接矩阵。
Z:节点的嵌入表示。
解码器的计算公式如下:
A ~ = σ ( Z Z T ) \tilde{A}=\sigma({ZZ^{T})} A~=σ(ZZT)
A ~ \tilde{A} A~ 就是重构后的邻接矩阵。

举个例子:
如图:
A – B
A – C
B – C
B – D

邻接矩阵A:
A = ( 0 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 ) A=\begin{pmatrix} 0 &1 &1 &0 \\ 1& 0& 1 &1 \\ 1 & 1& 0& 0\\ 0 &1 &0 &0 \end{pmatrix} A= 0110101111000100
节点的特征矩阵X:
X = ( 1 0 0 1 1 1 0 0 ) X=\begin{pmatrix} 1&0\\ 0&1\\ 1&1\\ 0&0 \end{pmatrix} X= 10100110
经过编码: Z = G C N ( X , A ) Z=GCN(X,A) Z=GCN(X,A)后:
=> A ~ = ( 0.26 0.32 0.38 0.3 0.32 0.4 0.46 0.34 0.38 0.46 0.54 0.38 0.3 0.34 0.38 0.32 ) \tilde{A}={\begin{pmatrix} 0.26 & 0.32 & 0.38&0.3 \\ 0.32& 0.4& 0.46& 0.34\\ 0.38 & 0.46&0.54 &0.38 \\ 0.3& 0.34 & 0.38 &0.32 \end{pmatrix}} A~= 0.260.320.380.30.320.40.460.340.380.460.540.380.30.340.380.32
从这能看到节点之间的关系强度,可以通过设置阈值,就可以预测新的链接,例如,设置的阈值为0.35,预测得
A – C
B – C
C – D

变分图自编码器(Variational Graph Autoencoder ,VGAE):

编码器:输出潜在表示的均值和标准差。
计算公式如下:
均值: μ = G C N μ ( X , A ) \mu =GCN_{\mu}(X,A) μ=GCNμ(X,A)
标准差: l o g σ = G C N σ ( X , A ) log \sigma =GCN_{\sigma}(X,A) logσ=GCNσ(X,A)
其中X:节点的特征向量。A是邻接矩阵。
经过计算得:
μ = ( 0.5 0.1 0.6 0.2 0.7 0.3 0.4 0.4 ) \mu = {\begin{pmatrix} 0.5 & 0.1 \\ 0.6 & 0.2 \\ 0.7 & 0.3 \\ 0.4 & 0.4 \end{pmatrix}} μ= 0.50.60.70.40.10.20.30.4
l o g σ = ( − 0.1 − 0.2 − 0.1 − 0.2 − 0.1 − 0.2 − 0.1 − 0.2 ) log\sigma = {\begin{pmatrix} -0.1&-0.2\\ -0.1&-0.2\\ -0.1&-0.2\\ -0.1&-0.2 \end{pmatrix}} logσ= 0.10.10.10.10.20.20.20.2
潜在表示Z从均值和标准差定义的高斯分布中采样:
Z = μ + σ ⊙ ε Z=\mu+\sigma\odot\varepsilon Z=μ+σε
其中, ε \varepsilon ε 属于(0,1)
得Z:
Z = ( 0.48 0.08 0.58 0.18 0.68 0.28 0.38 0.38 ) Z = {\begin{pmatrix} 0.48&0.08\\ 0.58&0.18\\ 0.68&0.28\\ 0.38&0.38 \end{pmatrix}} Z= 0.480.580.680.380.080.180.280.38
后续操作与图自编码器一样了 ,就不再解释。

二级目录

三级目录

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

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

相关文章

CSS技巧专栏:一日一例 5-纯CSS实现背景色从四周向中心填充的按钮特效

特此说明 本专题专注于讲解如何使用CSS制作按钮特效。前置的准备工作和按钮的基本样式,都在本专栏第一篇文章中又详细说明。自本专栏第四篇文章起,本专栏都将直接跳过前面的内容,不再重复复制,需要了解按钮基础样式的同学,请移步:《CSS技巧 - 一日一例 (1):会讨好的热…

关键路径-matlab

路径上边的数目称为路径长度 图的基本知识 求最短路径(Dijkstra算法) 2. 待继续尝试 ①Dijkstra ②floyd_all.m 一 二 ③ LeetCode [329. 矩阵中的最长递增路径]

SpringCloud---zuul路由网关

zuul网关 zuul网关定义 Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet(filter)应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的…

Kithara与OpenCV (二)

Kithara使用OpenCV QT 进行特征检测 目录 Kithara使用OpenCV QT 进行特征检测OpenCV 特征检测简介Qt应用框架简介项目说明关键代码抖动测试测试平台:测试结果:结论 OpenCV 特征检测简介 OpenCV是一个开源的计算机视觉库,提供了各种图像处理…

一图展示免费开源的分布式版本控制系统​Git

文章目录 前言一、安装Git二、Git配置三、git命令 前言 Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 一、安装Git Windows操作系统…

如何更好的优化 ListView 控件的性能

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD,日常还会涉及Android开发工作。 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起…

MongoDB教程(四):mongoDB索引

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、MongoD…

windows查看局域网所有设备ip

windows如何查看局域网所有设备ip 操作方法 一 . 在搜索栏里输入cmd 二 .在命令行黑窗口输入arp -a 三 . 最上面显示的动态地址就是所有设备ip

Redis:高性能的开源缓存数据库

简介: Redis(Remote Dictionary Server)是一个基于内存的开源缓存数据库,常用于缓存、消息队列、分布式锁等场景。它被设计成快速、可靠且易于使用的数据库系统,具有高性能、高可用、可扩展性等特点。本篇博客将介绍Re…

IOS上微信小程序密码框光标离开提示存储密码解决方案

问题: ios密码框输入密码光标离开之后会提示存储密码的弹窗 解决方案 1、在苹果手机上面把 “自动填充密码”关闭,但是苹果这个默认开启,而且大部分客户也不会去自己关闭。 2、欺骗苹果手机,代码实现。 先说解决思路&#xf…

80. UE5 RPG 实现UI显示技能冷却进度功能

在上一篇文章里,我们实现了通过GE给技能增加资源消耗和技能冷却功能。UI也能够显示角色能够使用的技能的UI,现在还有一个问题,我们希望在技能释放进去冷却时,技能变成灰色,并在技能冷却完成,技能可以再次使…

Spring Boot 框架知识汇总

1、什么是SpringBoot? 通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用程序,您可以“运行"它们。大多数Spring Boot应用程序需要最少的Spring配置,集成了大量常用的第三方库配置,使…

React有哪些应用场景

React 是一个由 Facebook 开发并广泛使用的 JavaScript 库,专门用于构建用户界面。由于其灵活性和强大的生态系统,React 被广泛应用于多种场景。以下是一些 React 的主要应用场景: 1. 单页面应用(SPA) React 的组件化…

在Anaconda环境中安装TensorFlow+启动jupyter notebook

1.打开cmd,输入C:\Users\xy>conda create -n tensorflow python3.7 这是在环境中创建了一个名为tensorflow的环境,具体会显示以下信息: C:\Users\xy>conda create -n tensorflow python3.7 Retrieving notices: ...working... done Co…

springboot把 EXCEL 文件以流的形式返回给前端

1.controller层 GetMapping(ReviewUrls.API_DOWNLOAD_REVIEW_RESULT)public Response<Void> downloadReviewResult(HttpServletResponse response) {resultService.downloadReviewResult(response);return Response.ok();}2.service层 public void downloadReviewResult(…

海豚调度器执行impla工作流成功但没跑出数据原因和解决方案

在海豚调度器(DolphinScheduler)中执行Impala离线脚本时出现执行状态成功但实际上未产出数据&#xff0c;之后重跑又能成功的情况&#xff0c;可能是由多种因素引起的。下面是一些可能的原因及对应的解决方案&#xff1a; 可能原因及解决方案 资源限制或并发冲突 原因&#x…

Python实战Elasticsearch的核心技巧详解

概要 Elasticsearch 是一个分布式的搜索引擎,可以用于全文搜索、结构化搜索、分析等多种场景。它基于Lucene构建,提供了强大的搜索功能和数据分析能力。本文将详细介绍如何使用Python实现与Elasticsearch的交互,包括安装、配置、基本操作和实际应用示例。 安装和配置 安装…

centos单机配置多个内网IP地址

centos单机配置多个内网IP地址 引配置1. 查看当前网络IP配置2. 打开网络配置目录3. 设置静态IP4. 编辑ifcfg-eno1:15. 重启网络配置 引 同一个局域网&#xff0c;但是对接的多个子系统使用了不同的网段&#xff0c;如一个系统主机IP地址是192.168.10.1&#xff0c;另一个系统主…

基于B站视频评论的文本分析,采用包括文本聚类分析、LDA主题分析、网络语义分析

研究主题 本研究旨在通过对B站视频评论数据进行文本分析&#xff0c;揭示用户评论的主题、情感倾向和语义结构&#xff0c;助力商业决策。主要技术手段包括Python爬虫、LDA主题分析、聚类分析和语义网络分析。首先&#xff0c;利用Python爬虫采集大量评论数据并进行预处理。运…

license系统模型设计使用django models

User (用户)License (许可证)Product (产品)LicenseAssignment (许可证分配) 简单的模型定义&#xff1a; from django.db import models from django.contrib.auth.models import Userclass Product(models.Model):name models.CharField(max_length255)description model…