Graph Representation Learning Chapter[2]

序言

我们将介绍一些传统的方法( basic graph statistics, kernel methods,
and their use for node and graph classification tasks),为后续学习做铺垫

2.1Graph Statistics and Kernel Methods

传统方法是启发式的。通常提取数据、特征将其作为ML的输入。后面会介绍几种传统的启发式学习。

2.1.1 Node-level statistics and features

我们的目的是搞清楚哪些特征和统计数据有价值,哪些可以用来区分一个节点与其他节点。这些东西在后面的分类任务中很有用。

Node degree

节点的度,就是一个点旁边直接连的线有几根。
du = X v∈V A[u, v].

Node centrality

度不能衡量节点的重要性。(度多不一定是最重要的)
所以提出节点中心性。
特征向量中心性与该节点的邻居节点重要性相关。
λe = Ae.
A:邻接矩阵
λ:最大特征值

中心性这块儿,需要了解一下:度中心性、特征向量中心性、中介中心性、连接中心性

总而言之,中心值是 最大特征值对应的特征向量。
特征向量中心性可以理解为,在无限长的随机游走中,某节点被访问的可能性大小。

特征向量中心性与该节点的邻居节点重要性相关。(你的邻居越牛,你就越牛)

书上有个幂迭代求特征值的:e(t+1) = Ae(t),(不管什么方法,都是为了求特征值)。
在这里插入图片描述

知乎解释:

其实很好理解迭代的含义。一个节点的度可以衡量节点在网络中的重要程度(实际上就是点度中心性),但是一个节点的重要程度除了和自己有关还和邻居的重要程度(邻居的度)有关,换句话说,如果你的邻居越重要你就越重要,同时你相邻的“重要的”邻居越多你就越重要。那么一个邻接矩阵A乘节点度向量x(即Ax=y,其中x=[x1,x2,x3,…,xn],xi表示节点i的度,A为nn,x为n1),相当于将节点i的邻居的度分配/添加到节点i上了,也就是将i的邻居的重要程度加到的i自己的重要程度上了,这相当于一次对点度中心性的扩散,也就是一次迭代。然后我们将y作为每一个节点新的重要程度再与A相乘得到Ay=y’作为一轮新的迭代(新的重要程度扩散),一直迭代下去直到达到一个平衡,此时每一个节点在整个网络中的重要性比例会保持稳定,此时的向量也就是特征向量。

大概明白何为中心性。。。

The clustering coefficient

中心性不能区分除了中心节点之外的点(非中心那一群),所以有了这个“集聚系数”。
这么算:
在这里插入图片描述
分子:计算节点u的邻居节点间存在的边的数量。(大概就是闭合三角形)
分母:计算邻居节点可以组成多少队。
系数越高越重要

Closed triangles, ego graphs, and motifs

承上文,另一种方法是计算每个邻域中闭三角数量。more precise,在ego-graph中,集聚系数与 实际三角形数和总可能三角形的数量比有关。(so 为什么?)
ego-graph(指距离中心节点小于特定距离的所有点构成的图)
然后说,这样能应用到更复杂的结构,比如说圈

2.1.2 Graph-level features and graph kernel

以上说的都是基于节点的,图级的任务,我们引入新的方法:图核方法(graph kernel),侧重点在于提取显示的特征表示。

Bag of nodes

最简单的方法是,直接聚合节点级的信息,聚合后作为图级显示。缺点是丢失了全局属性。

The Weisfeiler-Lehman kernel

为提升bag of nodes方法,提出了Weisfeiler-Lehman算法(威斯费勒-莱曼算法)

1.定义 label l(0)(v)为节点的度

2.通过邻居节点,迭代的给每一个节点分配新的label

3.重复2进行k次

具体的可以看链接。

Graphlets and path-based methods

在图上提取特征,有效简单的是计算不同的小子图。但很难,所以提出了一些近似的方法。
一种是 基于路径(path-based methods):检查图中出现的不同类型的路径。
例如,Kashima等人提出的随机游走核–在图上运行随机游走,然后计算不同度序列的出现。很强大的思想,后面会说。

2.2 Neighborhood Overlap Detection

2.1的方法在节点和图中都很有用,但是不能量化节点间的关系,so不能通过节点相似度来进行关系预测(边预测)
后面介绍的邻域重叠检测方法,能够解决这个。

先定义节点相似度矩阵,度量两节点间的关联度。最简单的邻域重叠度量是计算两个节点共享的邻居的数量
S [ u , v ] = ∣ N ( u ) ∩ N ( v ) ∣ , S ∈ R ∣ V ∣ × ∣ V ∣ S[u, v] = |N (u) ∩ N (v)|,S ∈ R |V|×|V| S[u,v]=N(u)N(v)SRV×V
S[u,v]表示量化节点u和v之间关系的量化值
S∈R|v|×|v|表示汇总所有成对节点统计量的相似度矩阵。
坦白讲,俩人邻居都一样,那可不就贼相似,关联度贼高,就是这个意思。

2.2.1 Local overlap measures

局部重合度的简单的思想就是上文提及的用共同邻居的比例来描述节点间两两的relationship,当然,单纯计数是缺少一致性,因而需要进行标准化处理。
其中比较著名的有Sorensen提出的:
在这里插入图片描述
其中du便是节点u的度:
类似Salton:在这里插入图片描述

Jaccard overlap:
在这里插入图片描述
这些措施试图量化节点邻域之间的重叠,同时最小化由于节点度引起的任何偏差。

当然,也有的指标并不局限于描述有多少重合的邻居节点,而是反过来描述重合节点的重要程度又如何。譬如经典的Resource Allocation (RA) index:
在这里插入图片描述
还有在RA基础上加上了对数函数的Adamic-Adar(AA) index:
在这里插入图片描述
RA和AA index都给了低度(low degree)的邻接点更高的权重,因为这些low-degree的节点能够比high-degree的节点提供更多信息,这点在文本分类中思想也有体现,譬如经典的TF-IDF,给予频率较少的词更大权重以区分不同词的重要性。

2.2.2 Global overlap measures

上节提到的局部重叠检测(local overlap measures)能够提供重要度以及节点间相似度信息以完成link prediction一类的任务,即使这种方法十分简单高效,还是能匹配DL,but 譬如在社区发现算法中,分到同一个社区的两个节点很可能没有重合的邻居,如何描述他们之间的关系?要借助global overlap的一些统计量描述在全图视角下节点间关系。

Katz index

在这里插入图片描述

统计两点间所有的任意长度的path
β是定义 短路权重/长路权重,β < 1表示长路权重低一点。
邻接矩阵A 的i次方用来表两点间长度为i的路的条数
证明:略
在这里插入图片描述

Leicht, Holme, and Newman (LHN) similarity

Katz指数的一个问题是它受节点度的强烈偏差。Katz指通常会给度高的节点更高的总体相似性得分,因为度高节点通常会涉及更多的路径。因此,我们需要标准化路的数量,所以用了这个:
number of expected paths between two nodes
在这里插入图片描述
E[Ai]的计算是下式:推导过程
在这里插入图片描述
m为总节点数,说明在random configuration model假设下节点间边的似然是和两节点的degree乘积成比例。

如果节点u有du条边离开u,那么这些边有dv/2m的概率流入v点。
基于此提出(蛮复杂,以后用到再细看):
在这里插入图片描述

Random walk methods

从全局角度衡量节点关系的方法则是大名鼎鼎的随机游走法,这种节点关系表征法直接催生出了如Deepwalk这样经典的工作。
在无向图中,易知P为对称矩阵,所以第u行/列就是从节点u出发随机游走无数次后到达其他节点的概率。

2.3 Graph Laplacians and Spectral Methods

这节学习图中节点聚类的问题,介绍谱图理论

2.3.1 Graph Laplacians

拉普拉斯矩阵,在GCN也有用到,类似卷积核这样的东西,挺重要的。
细看

Unnormalized Laplacian

由邻接矩阵变化而来,很有用
非标准化的也是最基础的:L = D − A
L是拉普拉斯,D是节点度的对角矩阵,A是邻接矩阵
L重要性质:

  1. 对称并且半正定的
  2. 有恒等式(总变差公式)在这里插入图片描述
  3. 特征值非负

yinyong引用引用大佬的讲解

Normalized Laplacians

标准化的拉普拉斯矩阵有几种形式:

对称标准化 (symmetric normalized Laplacian)
在这里插入图片描述

随机游走标准化 (random walk Laplacian)
在这里插入图片描述
以上也有拉普拉斯的3个性质,但此前关于特征值为0的节点连接结论则要随着特征值的标准化的改变而改变。

2.3.2 Graph Cuts and Clustering

L的0特征值对应的特征向量,可以用来将连通分量中的节点分配给簇。但如果整张图都是连通的呢? 在这一节中,我们会介绍使用拉普拉斯矩阵,在完全连通图中给出节点的最优聚类(optimal cluster)。

Graph cuts

再次引用大佬
除了直接最优化最小的cut,还有的思路在于描述cut的不同的表达方式

在这里插入图片描述

Approximating the RatioCut with the Laplacian spectrum

大佬写的,我没看懂这里

2.3.3 Generalized spectral clustering

上一节,我们找到了一个将图分成两个簇的最优划分。那么,我们也可以将这种方法推广到K个簇的最优划分问题上。
1、找到L的K个最小的特征值对应的特征向量,除去最小的那个,还剩下K-1个特征向量
2、使用第一步找到的K-1个特征向量组成矩阵 U,每一列对应一个特征向量,矩阵U就是原图在谱空间上的表征
在这里插入图片描述
3、一行代表一个对应节点的表示向量
4、使用K均值聚类方法来聚合,将图划分为K簇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 图表示学习是一种机器学习技术,旨在将图形数据转换为低维向量表示,以便于计算机进行处理和分析。这种技术可以应用于各种领域,如社交网络分析、生物信息学、推荐系统等。通过图表示学习,可以更好地理解和分析图形数据,从而提高数据处理和应用的效率。 ### 回答2: 图表示学习是一种机器学习的方法,用于学习和提取图结构中的有用信息和特征。图表示学习的目标是将图中的节点和边转化为向量表达,从而实现对图结构的分析和预测。 图表示学习可以应用于各种各样的领域,如社交网络分析、生物信息学、推荐系统等。通过学习图中节点的向量表达,我们可以对节点进行聚类、分类、推荐等任务。同时,图表示学习还可以揭示图结构中的隐藏关系和模式,帮助我们理解和挖掘图中的信息。 图表示学习有多种方法和技术。其中一种常用的方法是基于图的随机游走。通过模拟随机游走的过程,我们可以收集节点的邻居信息,并根据节点的邻居关系来学习节点的向量表达。还有一种常用的方法是基于图的图卷积网络。这种方法利用图结构的局部连接性来学习节点的向量表达,通过多层图卷积网络可以逐步提取节点的更高级别的特征。 图表示学习在图挖掘和数据分析领域具有广泛的应用和研究价值。它可以帮助我们理解和解释复杂的图结构,从而更好地处理和分析图数据。同时,图表示学习还能够应对大规模和高维度的图数据,提高计算效率和准确性。未来,我们可以进一步研究和发展图表示学习的方法和技术,以应对图数据分析的挑战。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值