赞
踩
开源内容:https://github.com/TommyZihao/zihao_course/tree/main/CS224W
子豪兄B 站视频:https://space.bilibili.com/1900783/channel/collectiondetail?sid=915098
斯坦福官方课程主页:https://web.stanford.edu/class/cs224w
节点
N
N
N:nodes、vertices
边
E
E
E:links、edges
图
G
(
N
,
E
)
G(N,E)
G(N,E):network、graph
如何设计本体图Ontology取决于我们将来想解决什么问题
连接列表:只记录存在连接的节点对
邻接列表:只记录相关连接的节点,每个节点占用一行
连通图的邻接矩阵是分块对角的形式
强连通图:有向图中任意两个顶点可达
弱连通图:有向图的基图任意两个顶点可达
图中存在强连通子图,我们称这些子图为强连通域
即人工特征工程+机器学习,将节点、边和图设计为d维向量输入到机器学习算法中进行预测
节点、连接、子图和全图都可以有特征,以银行的风控用户为例。
属性特征包括:收入、学历、年龄、婚姻状态、工作单位、征信、个性签名
连接特征包括:交易记录、是否违约等
图特征包括:共同客户、关联公司等
以节点预测任务为例
A和G的度都是1,但是很明显A的节点重要程度要大于G
节点的度只考虑了节点连接边的数量,但是忽视了节点的质量。节点的重要度 c v c_v cv考虑了图中节点的重要程度,有以下几种衡量节点重要程度的方式:
节点层面Graphlet是从局部(节点)的角度出发来描述节点。 用不同graphlet中的节点相对位置(局部信息),来形成一个节点的向量表示。
2个节点有1种节点角色;3个节点有2种节点角色;4个节点有5种节点角色。2-5个节点共有73种节点角色,标识的节点GDV具有73维向量。
GDV的定义:一个节点所在位置的频率组成的向量。通过计算一个节点所在的Graphlets中不同的非对称位置,可以对节点附近的局部结构进行衡量。
计算方式:选择
n
n
n个节点的Graphlet来标识一个节点的GDV,以下图为例:
这里选择三个节点的graphlets,有四种节点角色
a
、
b
、
c
、
d
a、b、c、d
a、b、c、d,分别数
u
u
u节点周围各种节点角色的数量,将结果组成一个GDV,维度为四维
比较两个节点的GDV向量,计算距离和相似度
任务:通过已知连接补全未知连接
方案:
连接预测的场景可以分为以下两种情况:
连接特征分类
计算两点之间的最短路径,但是没有得到最短路径的条数
捕获两个节点之间公共的邻居节点,但是当没有公共的邻居节点时会失效
使用全图的信息信息(Katz系数)对两个节点的连接进行打分
Katz index:节点
u
u
u和节点
v
v
v之间长度为
K
K
K的路径个数之和,其中
K
=
1...
k
K=1...k
K=1...k
计算方法如下:
目标:提取出的特征
ϕ
(
x
)
\phi(x)
ϕ(x)可以反映全图的结构特点
关键思想:将Bag-of-Words(BoW)算法应用在图上,把图看成文章,节点看成单词,这个算法关注了节点,但是无法表示连接结构,例如下图两个图节点相同,连接不同。
当我们使用Bag-of node degrees时,算法只关注了节点的度,忽略了节点和连接结构
我们可以对Bag of *的思想进行推广 ,有了Graphlet Kernel算法和Weisfeiler-Lehman (WL) Kernel算法
在介绍这两个算法之前,我们先介绍边层面的Graphlet,它和节点层面的Graphlet有一下两点不同:
如果迭代次数为h,那么威斯费勒-莱曼算法计算复杂度就是O(hm)
本文介绍图的基本表示包括无向图、有向图、二分图、有权图、邻接矩阵,同时对图的连通性进行了介绍。
本文还介绍了传统的图机器学习,传统的图机器学习的关键在于特征工程,图的特征工程主要包括节点、连接和全图三个层面。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。