无特征节点的特征表示
节点度数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)