图神经网络-学习日志2

传统图表的机器学习:

结点级别的预测任务
链接级的预测结点是否连接
图级预测对整个图进行预测

假设:

  1. 结点已经具有与它们相关联的某种类型的属性
  2. 创建额外的功能来描述这个特定的结点是定位在网络的其余部分,以及定义了图的网络拓扑结构的额外的特征

两种特征:

  1. 结构特征
  2. 描述结点的attributes和properties的特征

传统机器学习管道:
在这里插入图片描述|
|
|
所以特征设计非常重要,直接影响预测的准确率。
三种不同情况下的传统的特征设计:

  1. 点级预测
  2. 边(一对点)

为了简单起见,使用无向图。

点级:

在这里插入图片描述由于只靠度数无法区分无向图的点在整个图中的重要性(存在度数相同的情况),因此可以考虑采用其他的方式:
在这里插入图片描述特征向量中心性Eigenvector centrality:

平均归一化邻居的重要性,即根据邻居的重要性判断自身的重要性

介数中心性Betweenness centrality:

累加(两节点最短路径上存在该节点/所有的两节点间最短路径),即如果结点位于许多最短路径上,则该节点很重要

紧密中心性Closeness centrality:

1/累加(其他结点和该节点之间的最短路径),即如果一个结点有小的最短路径长度到其他结点,则说明它很重要(处于中心)

|
|
|

回过头讨论结点度数:

衡量结点周边的局部结构,一般采用“聚类系数”,它衡量一个人的邻居之间的联系程度,它∈[0,1],0意味着该节点的周边结点之间没有直接联系,1意味着全连接。

聚类系数同时数出自我中心网络中ego-network有多少个三元组结点,描述了点的graphlets属性
三角特征在社交网络中很重要,因为我的朋友的朋友也是我的朋友。

graphlets是一个有根连接的非同构子图,一般对于指定数目的结点来构造相应结点数目的各种子图并区分子图中各种类型的结点:
在这里插入图片描述5个结点上有73个graphlets。
当结点数为2时,可以构成一种子图,图中只有一类结点,两个结点同质
当结点数为3时,可以构成两种子图,包含三类结点

定义graphlets度向量GDV:根据给定的结点数给定graphlets出现的次数

度数计量结点接触的边数,聚类系数计算结点接触或参与的三角形的个数,GDV计量一个点参与的graphlets的数量。

在这里插入图片描述总结,一个结点的重要性可以从两方面考虑:

  1. 结点本身重要性(权重)
  2. 图拓扑结构
  3. graphlets很重要,因为它可以表述给定结点周边的网络结构

用传统机器学习进行链接级别预测

首先是链接级预测:根据网络中已有链接预测新的链接
即在测试时必须评估所有尚未链接的结点对,排名,从而预测前k个结点对将会在网络中发生。
keypoint:为一对结点对设计特征

两种不同方式表述链接预测任务:

  1. 随机丢失网络中的链接:随机删除一些链接然后进行预测,适合缺失链接较多的静态网络
  2. 建立随时间变化的图预测:将预测的edge与实际变化的edge进行对比,适合随着时间而演化的交易网络

在这里插入图片描述为给定的一对结点提供特征描述符:通过计算c(x,y)对链接进行预测

三种方式对结点进行特征化 / 创建网络中两个结点之间关系的描述符:

  1. 基于距离的特征
  2. 局部邻域重叠特征
  3. 全局邻域重叠特征

目标是对于给定的一对结点,我们将描述两个结点之间的关系,这样我们就可以从这种关系中预测或了解它们是否存在链接。

1.基于距离的特征:即两节点间最小距离,但它不能捕捉到邻域重叠的程度或链接的强度。
2.局部邻域重叠:共同邻居数量 | Jaccard系数(交集的大小/并集的大小) | Adamic-Adar指数(效果最好,分析邻居的度数)
3.全局邻域重叠矩阵:避免局部重叠只关注节点一跳、两跳距离的限制,考虑所有其他距离。Katz指数,它计算给定结点对之间所有不同长度的路径的数量。
两种计算方式:
使用邻接矩阵的幂来计算两节点间的路径
一对节点之间长度为1:
在这里插入图片描述一对节点之间长度为2的路径数:分解为长度为1的路径 + 另一条长度为1的路径
在这里插入图片描述卡茨指数计算方式
在这里插入图片描述

图级:

图内核:广泛用于传统机器学习、图级别预测,衡量两个图之间的相似性

核矩阵:简单地测量所有数据点对或所有图形对之间的相似性

  1. 半正定
  2. 具有正特征值
  3. 必定是对称矩阵

用phi表示特征:K(G,G’)=Φ(G)T Φ(G’)

图内核的关键点:定义给定图的特征向量Φ

节点度数袋:区分具有相同node数量的图
在这里插入图片描述|

这里新定义了,和前述点级别的有差异的graphlets
在这里插入图片描述举例:
在这里插入图片描述|
|
现在可以简单地将它表示为结构数量的计数,则可以通过graphlets列表表述图的结构:
在这里插入图片描述给定两个图,则将图元核定义为图元之间的点积
但是如果两个图大小不同,则不好计算
因此需要对每个特征向量进行归一化
在这里插入图片描述限制:计数graphlets的代价昂贵。最坏的情况下可能有NP级别的问题。
|
|
因此需要设计更高级的图内核
Weisfeiler-Lehman Kernel: 也被称为颜色细化,通过颜色区分节点
步骤如下

  1. 分配初始颜色
  2. 聚合邻居颜色
  3. 对聚合的颜色进行哈希散列
  4. 对分类的颜色再次聚合
  5. 再次哈希,分配新颜色

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述如此进行指定次数的迭代后就可以获得给定图的颜色序列
两个图的颜色序列–>特征向量–>进行特征计算:K(G,G’)=Φ(G)T Φ(G’)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值