CAS-KG——图数据处理算法与模型

说明:CAS是国科大的简称,KG是知识图谱的缩写,这个栏目之下是我整理的国科大学习到的知识图谱的相关笔记。

课程目标

  • 了解以知识图谱为代表的大数据知识工程的基本问题和方法
  • 掌握基于知识图谱的语义计算关键技术
  • 具备建立小型知识图谱并据此进行数据分析应用的能力

教学安排
详情请见博客:CAS-KG——课程安排



1. 图概述

(1)图基本概念

  • 图是由顶点(vertex)集合以及顶点之间的关系集合组成的一种数据结构:
    G = ( V , E ) G=(V,E) G=(V,E)
    • 𝑉 = {𝑥|𝑥 ∈ 某个数据对象} ,是顶点的有穷非空集合;
    • 𝐸 = {(𝑥, 𝑦)|𝑥, 𝑦 ∈ 𝑉} 或𝐸 = {< 𝑥, 𝑦 > |𝑥, 𝑦 ∈ 𝑉 && 𝑃𝑎𝑡ℎ(𝑥, 𝑦)}是顶点之间关系的有穷集合,也叫做边(edge)集合。
      • 𝑃𝑎𝑡ℎ(𝑥, 𝑦)表示从 x 到 y 的一条单向通路, 它是有方向的。

(2)图分类

  • 无向图(Undirected graph)
  • 有向图(Directed graph)
  • 带权图(Weighted graph)
  • 属性图:
    在这里插入图片描述

(3)图数据处理的挑战

图数据特点及其处理的挑战
➢ 可变大小(结点和边)
➢ 结点无序
➢ 不同结点的局部连接不同
➢ 结点之间相互依赖(iid不成立)
➢ 结点依赖的非线性关系
➢ …

2. 基本图算法

(1)基本遍历算法

图遍历:从图的某一顶点开始,按某种算法不重复地访问图的所有顶点

广度优先遍历 BFS

在这里插入图片描述
在这里插入图片描述

深度优先遍历 DFS

在这里插入图片描述
在这里插入图片描述

(2)路径搜索算法

**实际问题:**下图为某网络结构拓扑图,各边上的数据为相邻路由器间的开销,求router1到router7开销最小的网络通路。
在这里插入图片描述
**最短路径问题:**在带权图中,求两个顶点之间所有可达路径中,边的权值之和最小的那一条路径

Dijkstra 算法

在这里插入图片描述
在这里插入图片描述

Floyd 算法

在这里插入图片描述
在这里插入图片描述

(3)图算法应用

最小生成树

定义:

  • 最小生成树符合树的特征,无回路,除根结点外,每个结点都与唯一的双亲结点相连
  • 符合生成树的特征:包含了图G=(V, E)的全部n个顶点,自身的n-1条边都是集合E的元素
  • 边的权重和在G的所有生成树中最小

Prim算法

在这里插入图片描述
在这里插入图片描述

Kruskal算法

在这里插入图片描述

拓扑排序

  • 有向无环图:不存在环的有向图,又称DAG图;
  • 拓扑排序:对于一个有向无环图G,找到一个有顶点组成的序列,要求该序列应包含G的所有顶点,且每个顶点只出现一次,且在后面的顶点一定没有通向前面所有顶点的路径

在这里插入图片描述
在这里插入图片描述

3. 图信息传播算法

若干定义:

  • 𝑛 × 𝑛 邻接矩阵 𝐴.
    ➢ 𝐴(𝑖,𝑗) = 从结点𝑖到结点𝑗的权重
    ➢ 无向图中𝐴(𝑖,𝑗)=𝐴(𝑗, 𝑖), (𝐴是对称矩阵)
  • 𝑛 × 𝑛 转移矩阵 P P P
    ➢ 𝑃 行和为1(概率分布,随机变量)
    ➢ 𝑃(𝑖,𝑗) = 从结点𝑖跳到(转至)结点𝑗的概率 = 𝐴(𝑖,𝑗)/∑𝒋𝐴(𝑖,𝑗)
  • 𝑛 × 𝑛 Laplacian矩阵 𝐿.
    ➢ 𝐿 𝑖,𝑗 = ∑𝒋𝐴 𝑖,𝑗 − 𝐴 𝑖,𝑗 = 𝐷 − 𝐴
    ➢ 无向图中是半正定对称矩阵
    ➢ 奇异矩阵(绝对有个最小特征值为0)

随机游走算法

概率分布

  • x t ( i ) x_t(i) xt(i) = 对象在时刻 t t t 位于结点 i i i 的概率
  • x t + 1 ( i ) x_{t+1}(i) xt+1(i) = ∑ j \sum\nolimits_j j(位于结点 j j j 的概率) ∗ P ( j → i ) *P(j \to i) P(ji)
    = ∑ j x t ( j ) ∗ P ( j , i ) ∑_jx_t(j)*P(j,i) jxt(j)P(j,i)
  • x t + 1 = x t P = x t − 1 ∗ P ∗ P = x t − 2 ∗ P ∗ P ∗ P = … = x 0 P t x_{t+1}= x_tP = x_{t-1} *P*P= x_{t-2} *P*P*P = …=x_0 P^t xt+1=xtP=xt1PP=xt2PPP==x0Pt
  • 当游走一定/无穷步数之后对象位于哪个结点?

算法实现

在这里插入图片描述
算法演化:Co-Ranking

  • 动机: 以前的应用大多局限于同构网络,如出版物之间的引用网络。如何处理异构网络中的联合排序问题。
  • 思路:
    ➢ 作者排名高,那么他写的论文排名也高;
    ➢ 论文排名高,那么写这篇论文的作者排名也高;

算法演化:DivRank

在这里插入图片描述

子集传播模型-HITS

  • 子集传播模型:把互联网网页按照一定规则划分成两个甚至是多个子集。其中, 某个子集具有特殊性质, 很多算法会从这些具有特殊性质的子集出发,给予子集内网页初始值,之后根据这个特殊子集内网页和其他网页的链接关系,按照一定方式将权值传递到其他网页

  • HIST算法是子集传播算法的代表算法。

  • HIST算法将网页分为Hub页面和Authority页面。
    ➢ Authority页面是指与某个领域或者某个话题相关的高质量页面,
    比如视频领域中优酷等网站首页即该领域的高质量网页。
    ➢ Hub页面则是包含很多指向高质量Authority页面链接的网页,
    比如hao123可以认为是一个典型的高质量Hub网页。

  • 假设1:一个好的Authority页面会被很多Hub页面指向。

  • 假设2:一个好的Hub页面会指向很多好的Authority页面

在这里插入图片描述

标签传播算法 Label Propagation

在这里插入图片描述
基于图的半监督算法:多标签分类
在这里插入图片描述
半监督算法
在这里插入图片描述
基于图的半监督算法:LP
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 图神经网络模型图神经网络简介

(1)GNN简介


图神经网络缘起

图数据常见特点

  • 结构可变
    • 除图片像素外都没有固定排列的邻居
    • 有的图为有向边,有的为无向边
  • 扩展度和并行化
    • 很多图数据有巨大规模

传统前馈网络、RNN、CNN难以处理这样的数据
-Transformer本质上属于一种图神经网络


图数据的常见任务

  • 图的表示学习
    ➢ 得到整个图的向量表示
    ➢ 得到每个节点的向量表示
  • 图数据上的自编码器
  • 图结构的生成
  • 图上的分类、链接预测任务

图数据的简便处理方法

  • 遍历图结构得到结点序列,当做普通序列使用神经网络处理
    ➢ Neural AMR(Seq2Seq处理AMR的先序遍历)
  • 依照图中边的方向传播隐层状态
    ➢ Recursive LSTM (句法树作为输入)

图数据 ≠ 计算图

  • 流行框架将神经网络实现为一个计算图
    ➢ 结点表示函数,边表示反向传播路径
    ➢ 神经网络可以输入普通数据,或图数据
    在这里插入图片描述
  • 图神经网络特指输入数据为图的模型,而不是本身构建为图的模型
    在这里插入图片描述

图的表示方法
在这里插入图片描述
图的矩阵表示
在这里插入图片描述
拉普拉斯矩阵

在这里插入图片描述

在这里插入图片描述


相关算法(应用):谱聚类

从图论的角度来说,聚类的问题就相当于一个图分割问题

  • 给定一个图𝐺 = (𝑉, 𝐸),顶点集𝑉表示各个样本,带权的边表示各个样本之间的相似度,谱聚类的目的便是要找到一种合理的分割图的方法,使得分割后形成若干个子图
    • 连接不同子图的边的权重(相似度)尽可能低
    • 同子图内的边的权重(相似度)尽可能高
  • 如何把图的顶点集分割/切割为不相交的子图,并
    ➢ 连接不同子图的边的权重(相似度)尽可能低
    ➢ 同子图内的边的权重(相似度)尽可能高
  • 可以让被割掉各边的权值和最小
    ➢ Graph表示为邻接矩阵的形式,记为𝑊,其中 𝑤𝑖𝑗是节点 i 到节点 j 的权值,如果两个节点不是相连的,权值为零。设 𝐴 和 𝐵 为Graph 的两个子集(没有交集),那么两者之间的 𝑐𝑢𝑡 可以正式定义为:
    在这里插入图片描述

谱聚类算法流程

求特征值并取前 k 个最小的,将对应的特征向量排列起来,再按行进行 K-means 聚类
➢ 根据数据构造一个Graph,Graph 的每一个结点对应一个数据点,将相似的点连接起来,并且边的权重用于表示数据之间的相似度。把这个Graph 用邻接矩阵的形式表示出来,记为。

➢ 把 W 的每一列元素加起来得到𝑁个数,把它们放在对角线上(其他地方都是零),组成一个𝑁 ∗ 𝑁的矩阵,记为𝐷。并令𝐿 = 𝐷 − 𝑊。

➢ 求出 L 的前 k 个特征值(在从小到大的顺序),以及对应的特征向量{𝑣𝑘}。

➢ 把这𝑘个特征(列)向量排列在一起组成一个𝑁 ∗ 𝑘的矩阵,将其中每一行看作 𝑘 维空间中的一个向量,并使用 K-Means 算法进行聚类。


(2)图神经网络

GNN中的两类信息操作:滤波/转换
在这里插入图片描述
GNN中的两类信息操作:池化/聚合
在这里插入图片描述
图信息过滤/转换
在这里插入图片描述

基于谱的图神经模型

图卷积模型:基于谱学习的方法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于谱学习的图神经网络模型缺陷

以上谱方法虽然可以实现结点计算的局部化,但依然存在很多问题

  • 图的任何扰动都会导致特征矩阵的基产生变化
  • 所学习的参数限制于特定领域,不能用于不同的图
  • 整个图需要加载到内存中计算
  • 拉普拉斯矩阵仅用于无向图

基于空间的图神经模型

在这里插入图片描述

NLP中的图神经网络模型

  • Seq2Seq的应用
    ➢ 机器翻译、聊天系统
    ➢ 语义解析、代码生成
    ➢ Image/Video Caption
  • Seq2Seq的挑战
    ➢ 仅能处理输入为序列数据的形式,无法处理树、图等复杂结构
    ➢ 树、图等结构转换为序列数据会丢失信息
    ➢ 自然语言序列常常需要提供一些额外信息
  • Graph2Seq的需求很多(Graph2Graph目前研究较少)
    ➢ 自然语言具有多层次性、结构性
    ➢ 图是一种描述复杂内容的通用语言

5. 总结

图数据处理的挑战

  • 可变大小(结点和边)
  • 结点无序
  • 不同结点的局部连接不同
  • 结点之间相互依赖(iid不成立)
  • 结点依赖的非线性关系

图数据处理的未来发展

  • 针对不同任务的图构建
  • 更深层的图神经网络
  • 高效图处理算法
  • 图结构的自动生成
  • 动态图和异构图的处理
  • 图数据与其他数据的联合处理
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值