无特征节点的特征表示
节点度数degree
pagerank
以pagerank起源的应用场景为例,不是所有的网站都是同等重要的,所以需要根据结构信息对节点进行排序。
直觉上,如果一个网站它有很多链接,它就很重要,举例来说,一个网站有很多射入链接,那么,它比一个只有一个射入链接的网站重要,但是对于射入网站的网站的重要性也是不同的。
一个重要网址的给到的vote分值是很高的,链接的vote值正比于它的来源网站的重要性,如果一个网址i有重要性 r i r_i ri有 d i d_i di个out-links,每一个链接有 r i d i \frac{r_i}{d_i} dirivote值。网址j的重要性 r j r_j rj是所有in-links的vote值的加和。
r j = ∑ i → j r i d i r_j = \sum_{i \rightarrow j} \frac{r_i}{d_i} rj=i→j∑diri
矩阵化
下面将这个过程矩阵化,首先是概率邻接矩阵M
M i j = 1 d j M_{ij} = \frac{1}{d_j} Mij=dj1
每个值就代表节点j传递给节点i的vote值,也就是M的每一列的加和为1
rank向量
r i r_i ri是网址i的重要性,满足 ∑ i r i = 1 \sum_i r_i = 1 ∑iri=1
流程就可以表达为:
r = M ⋅ r r=M\cdot r r=M⋅r
可以看到,r是矩阵M特征值1的特征向量,怎么解决呢?
用方法power iteration
Power Iteration:
Set r j ← 1 / N r_j \leftarrow 1/N rj←1/N
1: r j ′ = ∑ i → j r i d i r'_j = \sum_{i \rightarrow j} \frac{r_i}{d_i} rj′=∑i→jdiri
2: If ∣ r − r ′ ∣ > ϵ |r-r'|>\epsilon ∣r−r′∣>ϵ
r ← r ′ r \leftarrow r' r←r′
3: goto 1
但是存在两个问题
所以需要修改
有 β \beta β概率,按照链接传递vote值,有 1 − β 1-\beta 1−β的概率随机跳转到一个节点,这样就解决了上面两个问题。
r j = ∑ i → j β r i d i + ( 1 − β ) 1 N r_j = \sum_{i \rightarrow j}\beta \frac{r_i}{d_i} + (1-\beta)\frac{1}{N} rj=i→j∑βdiri+(1−β)N1
用矩阵表示为
P = β M + ( 1 − β ) [ 1 N ] N × N P=\beta M + (1-\beta)\left[\frac{1}{N}\right]_{N\times N} P=βM+(1−β)[N1]N×N
motifs
子图
有两种1.由节点得到的子图.(node induced subgraph)2.由边得到的子图(edge induced subgraph)
图同构
子图同构
当G1的子图和G2同构,也可以说G1对G2子图同构。
无论是判断图同构还是子图同构都是一个np难问题。
motif定义
是满足三类性质的子图
1:pattern:是(node induced)小型子图
2:Recurring:有一个高的频率
3:Significant:比期望的频率高,也就是说比随机生成的图中motif频率高
子图频率
图级别的频率
节点级别的频率(通过anchor点)
motif significance
子图在图中比随机图中出现频率更高,那么就说这个子图是功能重要性。
生成随机图的方法
1 ER随机图
生成n个节点,每两个节点有p的概率相连
2 Confifuration model
spokes的替换方法switching
算法步骤
1 数出图中的motifs的数量
2 生成随机图,并数随即图中的motif数量
3 用统计方法评估每个motif的重要性(用Z-score)
来自相同领域的网络有相似的SP
神经子图表示
用GNN解决子图匹配
将子图投射到有序空间中,判断是否有子图关系
损失函数
用广度优先搜索得到正样本,对正样本进行corrupt(增加节点、删除节点或边)得到负样本
SPMiner
用于求motif频率
搜索过程
1 随机选择一个点初始化
2 每次生成节点都选择能让motif数量最多的节点(greedy)