图神经网络及其在知识图谱的应用

一 应用领域

道路交通,动态预测

自动驾驶,无人机场景

化学,医疗等场景

物理模型相关

二  图基本模块定义

V Vertex点

E Edge 边(向量)

U Global  图 (例如:全局向量)

无论事多么复杂,我们利用图神经网络的目的就是整合特征

有向图   出度,入度

无向图  度 Degree 

邻接矩阵

子图:所有边和点都在原图中

连通图:对于一个无向图,如果任何的节点i能够通过一些边到达节点j,则称之为连通图

连通分量:无向图G的一个极大联通子图陈伟G的一个联通分量(或连通分支)。连通图只有一个连通分量,即其自身;非连通的无向图有多个连通分量。

有向图连通性

强连通图:强连通图(Strongly Connected Graph)是指在有向图G中,如果对于每一对vi、vj,vi≠vj,从vi到vj和从vj到vi都存在路径,则称G是强连通图。有向图中的极大强连通子图称做有向图的强连通分量。

弱连通图:将有向图的所有的有向边替换为无向边,所得到的图称为原图的基图。如果一个有向图的基图是连通图,则有向图是弱连通图。

最短路径:在一个带权有向图中,从某一顶点到另一顶点可能有很多条路径,最短路径即权值之和最小的那条路径。

图直径:图论中, 图的直径是指任意两个顶点间距离的最大值.(距离是两个点之间的所有路的长度的最小值)   所有最短路径中的最大值

度中心性

度中心性= \frac{N_{degree}}{n-1}=度/总节点-1

特征向量中心性Eigenvector Centrality

一个节点的重要性既取决于其邻居节点的数量(即该节点的度),也取决于其邻居节点的重要性。

中介中心性Betweenness Centrality

Betweenness=经过该节点的最短路径/其余两两节点的最短路径

连接中心性 Closeness

PageRank

阻尼系数

import numpy as np 
import pandas as pd 
import networkx as nx

edges=pd.DataFrame()
#edges['sources']代表起始节点
edges['sources']=[1,1,1,2,2,3,3,4,4,5,5,5]
#edges['targets']代表终止节点
edges['targets']=[2,4,5,3,1,2,5,1,5,1,3,4]
#权值
edges['weights']=[1,1,1,1,1,1,1,1,1,1,1,1]
#具体解释为
# 1节点指向2节点权重为1
# 1节点指向4节点权重为1
# 1节点指向5节点权重为1

#定义图
G=nx.from_pandas_edgelist(edges,source='sources',target='targets',edge_attr='weights')
#degree
print(nx.degree(G))
#连通分量
print(list(nx.connected_components(G)))
#图直径
print(nx.diameter(G))
#度中心性
print(nx.degree_centrality(G))
#特征向量中心性
print(nx.eigenvector_centrality(G))
#betweenness
print(nx.betweenness_centrality(G))
#closeness
print(nx.closeness_centrality(G))
#pagerank
print(nx.pagerank(G))
#HITS
print(nx.hits(G))

结果

[(1, 3), (2, 2), (4, 2), (5, 3), (3, 2)]
[{1, 2, 3, 4, 5}]
2
{1: 0.75, 2: 0.5, 4: 0.5, 5: 0.75, 3: 0.5}
{1: 0.5298988890761731, 2: 0.35775191431708964, 4: 0.4271316779596084, 5: 0.5298988890761731, 3: 0.35775191431708964}
{1: 0.25, 2: 0.08333333333333333, 4: 0.0, 5: 0.25, 3: 0.08333333333333333}
{1: 0.8, 2: 0.6666666666666666, 4: 0.6666666666666666, 5: 0.8, 3: 0.6666666666666666}
{1: 0.24369622576677996, 2: 0.17225629712058638, 4: 0.16809495422526693, 5: 0.2436962257667799, 3: 0.17225629712058638}
({1: 0.24059715195481507, 2: 0.1624345647450478, 4: 0.19393656660027417, 5: 0.2405971519548151, 3: 0.1624345647450478}, {1: 0.2405971522393837, 2: 0.1624345646565165, 4: 0.19393656620819955, 5: 0.2405971522393837, 3: 0.1624345646565165})

三 邻接矩阵

图像可以作为邻居矩阵 ,A表示邻居之间的关系

GNN(A,X)

文本数据也可以表示图的形式,零阶矩阵表示连接关系

Graphs ->are ->all ->around ->us

Graphsareallaroundus
Graphs1
are1
all1
around1
us

GNN要求所有图的格式是一样的,考虑GCN

四 Graph embedding图嵌入

结合第2章的代码可以知道表示图,节点数和边数决定了维度。

4.1 DeepWalk

四 消息传递

Source,Target

五 多层GCN的作用

GNN也可以有多层

GNN的本质就是更新各部分特征

其中输入是特征,输出也是特征,邻接矩阵也不会变的

(感受野)

六 图卷积GCN

图卷积和卷积有什么不同?

看起来都是利用周围的特征,但是在图中每个点的邻居是不确定的

节点分类,对每个结点进行预测,不同点是否有连接预测

整个图分类,部分图分类等,不同子图是否相似,异常检测等

GCN归根到底还是要完成特征提取操作,只不过输入对象不是固定格式

如何获取特征呢?

通常交给GCN两个东西就行:1.各节点输入特征  2.网络结构图(邻接矩阵)

很多文章,半监督任务也能解决

GCN的基本思想:

争对橙色节点,计算他的特征:平均其邻居特征(包括自身)后传入神经网络

网络层数

这个跟卷积类似,GCN也可以做多层,每一层输入的还是节点特征,然后将当前特征与网络结构图继续传入下层就可以不断算下去

A,D,F

七 知识图谱结合图神经网络的模型模型

7.1 KGCN

KGCN提出于2019年。中心思想就是利用图神经网络的消息传递机制与基本推荐思想结合训练。在做KGCN模型时候,我们就把知识图谱是作为有权图,也就是关系会通过某种方式变为权重,而这个权重可被理解为是该关系影响用户行为的偏好程度。

计算过程

消息传递机制“Embedding”,Embedding 应该是一种映射,就像 Unicode 对应了某一个字符。在某种程度上,就是用来降维的,降维的原理就是矩阵乘法通俗讲解pytorch中nn.Embedding原理及使用 - 简书 (jianshu.com)

lKGCN:推荐系统的知识图谱卷积神经网络(Hongwei et al.,2019) - 知乎

7.2 KGAT

7.3 KGNN-LS

7.4KNI

7.5 AKGE

7.6 KGIN

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

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

相关文章

msigdbr hallmarks gsea broad研究所

使用msigdbr r包 #BiocManager::install("msigdb") #https://www.gsea-msigdb.org/gsea/msigdb #https://cran.r-project.org/web/packages/msigdbr/vignettes/msigdbr-intro.html #https://bioconductor.org/packages/release/data/experiment/vignettes/msigdb/ins…

RPC远程调用加密方法获取返回值

前言 从混淆的加密JS中还原了加密参数的具体生成流程,结果想从JS转python的过程中第一步就卡住了。开头密钥JS代码如下,但是水平有限不知道如何转为python实现(如果有大佬知道希望可以评论指点)。利用execjsjsdom来执行简化还原后的JS代码依旧无法实现。…

MGRE环境下的OSPF

实验拓扑 需求 1 R6为ISP只能配置IP地址,R1-R5的环回为私有网段 2 R1/4/5为全连的MGRE结构,R1/2/3为星型的拓扑结构,R1为中心站点 3 所有私有网段可以互相通讯,私有网段使用OSPF完成。 IP规划 配置IP R1 # interface GigabitEt…

Flutter FittedBox

🔥 英文单词FittedBox 🔥 Fitted 通过有道翻译如下 : Box 通过有道翻译如下 : 对 FittedBox 的理解 我们可以将 FittedBox 理解为合适的盒子,将其它布局放到FittedBox这样一个盒子中,从而实现 盒子里面的…

C++ list 的使用

目录 1. 构造函数 1.1 list () 1.2 list (size_t n, const T& val T()) 1.3 list (InputIterator first, InputIterator last) 2. bool empty() const 3. size_type size() const 4. T& front() 4. T& back() 5. void push_front (const T& val) 6.…

Elasticsearch核心技术与实战-05-elasticsearch的安装与简单配置-Windows

首先下载elasticsearch的zip包:下载地址 网络不通的解决方法:国内镜像站 es、kibana、logstash均可在华为云开元镜像站自行选择版本下载:下载地址 下载插件包: .\bin\elasticsearch-plugin install analysis-icu .\bin\elasti…

pgbackrest归档目录满,清理后写入仍报错,分析及处理

一、 背景 pgbackrest配置的归档目录/backup被写满 归档报错 No space left on device,wal日志堆积 解决方法直接查看第三部分 二、 问题分析及处理 1. 目录清理 首先想到的就是清理/backup目录,清理后剩余6T空间 但发现pgbackrest归档依旧在报错 No …

dc-5 靶机

1.扫描ip地址 2.网页 3.dirb 爆破目录 没有用 4.爆破端口 没有用 5. 文件上传漏洞 上传点 写一句话木马 蚁剑连接 1.shell反弹 蚁剑反弹 提权 使用命令 命令"find / -perm -us -type f 2>/dev/null"在整个文件系统 ("/") 中搜索设置了SUID权…

基于白鲸优化算法BWO优化的VMD-KELM光伏发电短期功率预测MATLAB代码(含详细算法介绍)

微❤关注“电气仔推送”获得资料(专享优惠) VMD适用于处理非线性和非平稳信号,例如振动信号、生物信号、地震信号、图像信号等。它在信号处理、振动分析、图像处理等领域有广泛的应用,特别是在提取信号中的隐含信息和去除噪声方面…

Capacitor 打包 h5 到 Android 应用,uniapp https http net::ERR_CLEARTEXT_NOT_PERMITTED

Capacitor 打包 h5 到 Android 应用,uniapp https http net::ERR_CLEARTEXT_NOT_PERMITTED capacitor 官网: https://capacitorjs.com/docs/ 项目上需要做一个 app,而这个 app 是用 uniapp 做的,里面用到了一个依赖 dom 的库&…

【Mysql】数据库三大范式

数据库三范式 :数据库三范式是指关系型数据库设计中的三种规范化设计原则,旨在减少数据冗余、提高数据一致性和可维护性。 第一范式:规定表中的每一列都应该是不可分割的最小单元。 为什么要这样实现呢? :举个栗子…

Kotlin(八) 数据类、单例

目录 一:创建数据类 二:单例类 一:创建数据类 和Java的不同,kotlin的数据类比较简单,New→Kotlin File/Class,在弹出的对话框中输入“Book”,创建类型选择“Data”。如图: 然后编…

VMware Horizon 8 2309 Enterprise虚拟桌面

VMware Horizon 8 2309 Enterprise虚拟桌面 一、虚拟桌面二、产品发布三、VMware Horizon 8 2309 Enterprise1.VMware Horizon 8 2309 Enterprise产品清单2.安装部署3. 优化工具总结 一、虚拟桌面 利用虚拟桌面和应用随时随地进行访问。 从云端进行管理 使用云端控制台和 Saa…

Docker swarm集群之compose启动多服务

Docker swarm集群之compose启动多服务 本篇文章是在搭建过Swarm集群基础上进行的,如未搭建过请移步 : [Docker swarm 集群搭建 - Wanwan’s Blog (wanwancloud.cn)] 环境信息 主机名IP主机配置master10.10.10.32c2gnode0110.10.10.42c2gnode0210.10.…

所有电商API接口,淘宝API接口分类,1688API、拼多多API、京东API

前往接入API 淘宝API item_get 获取商品详情 根据商品ID查询商品标题价格描述等详情数据 淘宝API item_search 按关键字搜索商品 搜索关键字,显示商品总数,标题,图片,优惠价等数据 淘宝API item_fee 获取商品快递费用 输入商品…

Java JVM垃圾回收确定垃圾的两种方式,GC Root

文章目录 前言一、如何确定是垃圾?引用计数法根可达路径法 二、GC Root1、以下可作为GC Root对象2、判断可回收:GC Root不可达3、真正宣告对象死亡需经过两次标记过程(重要) 前言 对于Java两种确定对象为可回收的两种方式&#x…

加解密原理(HCIA)

一、加密技术 1、加密的两个核心组件 2、加密技术作用: 二、加解密技术原理 1、对称加密 2、非对称加密 (1)思考问题? 1)、有了非对称加密为什么还用对称加密? 2)、如何传递秘钥呢&…

Megatron-LM GPT 源码分析(一) Tensor Parallel分析

引言 本文基于开源代码 GitHub - NVIDIA/Megatron-LM: Ongoing research training transformer models at scale ,通过GPT的模型运行示例,从三个维度 - 模型结构、代码运行、代码逻辑说明 对其源码做深入的分析。 Tensor Parallel源码分析

基于RK3568高性价比全国产EMS储能解决方案(二)设计方案

目录 版 本 修 订 记 录 1. 产品介绍 1.1. 什么是XM3568-EP 1.2. 产品特点 1.3. 外壳尺寸 1.4. 外壳外观 1.5. 规格参数 2. 设备使用介绍 2.1. 下载需要使用到的驱动和调试工具 2.2. 启动网关 2.3. DEBUG串口的使用方法 2.4. LED指示灯说明 3. Linux系…

计算机网络(谢希仁)第八版课后题答案(第二章)

1.物理层要解决哪些问题?物理层的主要特点是什么? (1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。 (2)给其服务用户(数据链路…