知识图谱(关系网络)概念及常用算法

目录

1 什么是图?

2 图能做什么?

3 传统的图算法从应用角度可分为三类

3.1 路径查找算法——Dijkstra

3.2 中心度算法——PageRank

3.3 社区发现算法——LPA

4 图神经网络

5 网络表示学习和图嵌入

5.1 基于矩阵分解的图嵌入

5.2 基于随机游走的图嵌入

5.3 基于图神经网络的图嵌入

引用:


1 什么是图?

图是一种常见的数据结构,用于表示对象及其之间的关系。其中,对象又称节点(node)或顶点(vertex),关系用边(edge)来描述。在数学上一般用 G=(V,E,A,X) 来表示,其中 V={v1,v2……,vn} 是节点集合,E=e_ij 表示边的集合,A 是大小为|V|×|V|的邻接矩阵,用于表示节点之间的连接关系,如果 e_ij∈E,则 A_ij=1,X 是大小为|V|×d 的特征矩阵,X 的第 i 行 X_i:表示第 i 个节点的属性特征,其中 d 是属性的维度。

 

2 图能做什么?

上图中,右侧手机号171505****关联了393个人,16年-19年累计进件1665次,放款65笔,其中33笔当期状态是逾期!

 

3 传统的图算法从应用角度可分为三类

1. 路径查找算法

2. 中心度算法

3. 社区发现算法

 

3.1 路径查找算法——Dijkstra

Dijkstra是一个贪心算法,用于在加权的图中查找最短路径,比起无脑的遍历,Dijkstra优化的点是,为了避免不必要的

重复计算,保留上一步的计算信息。

对于带权有向或无向图 G=(V,E),Dijkstra 算法的复杂度为O(V^2) 只有当权重为正值时有效,基于 Fibonacci heap 的最

小优先队列实现版本,其时间复杂度为O(E+VlogV)。当权重有负值,可使用贝尔曼-福特算法。

1. 指定一个节点,例如我们要计算 'A' 到其他节点的最短路径
2. 引入两个集合(S、U),S集合包含已求出的最短路径的点(以及相应的最短长度),U集合包含未求出最短路径的点(以及A到该
点的路径,注意 如上图所示,A->E由于没有直接相连 初始时为∞)
3. 初始化两个集合,S集合初始时 只有当前要计算的节点,A->A = 0,U集合初始时为 A->B = 8, A->E = ∞, A->D = 1, 
A->C = 5
4. 从U集合中找出路径最短的点,加入S集合,例如 A->D = 1
5. 更新U集合路径,if ( 'D 到 C,E 的距离' + 'AD 距离' < 'A 到 C,E 的距离' ) 则更新U
循环执行 4、5 两步骤,直至遍历结束,得到A 到其他节点的最短路径

3.2 中心度算法——PageRank

定义问题: 一个网站的排名,如何确定;或一个人在社交网络中的影响力,如何确定;

被一个门户网站指向,被一个大V关注……

假设,4个网站之间的跳转入左图,抽象出来就是转移矩阵M,假设一个人最开始访问这四个网站的概率都是1/4,那经过第一轮跳转

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值