《Graph Representation Learning》笔记 Chapter2
作者:互联网
目录
节点特征
node degree
最直接的节点特征是度 degree ,通常表示为
d
u
,
u
∈
V
d_{u}, u∈\mathcal{V}
du,u∈V
d
u
=
∑
v
∈
V
A
[
u
,
v
]
.
d_{u} = \sum_{v∈\mathcal{V}}{A[u, v]}.
du=v∈V∑A[u,v].
它简单地计算了节点的边数。
node centrality
一个重要的中心性度量是特征向量中心性 eigenvector centrality ,它考虑了节点邻居的重要性 。通过递归关系定义了节点的中心性
e
u
e_{u}
eu ,其中节点的中心度与其邻居的中心度之和成正比
e
u
=
1
λ
∑
v
∈
V
A
[
u
,
v
]
e
v
∀
u
∈
V
e_{u} = \frac{1}{λ}\sum_{v∈\mathcal{V}}{A[u, v]e_{v}} \quad \forall{u∈\mathcal{V}}
eu=λ1v∈V∑A[u,v]ev∀u∈V
其中
λ
λ
λ 是常数,用 e 作为中心性的向量重写这个方程
λ
e
=
A
e
λe = Ae
λe=Ae
中心性向量 e 对应邻接矩阵
A
A
A 的一个特征向量,应用Perron-Frobenius定理(任何不可约方阵都有一个唯一的最大实特征值,其对应的特征向量内的元素均正)确定 e 为邻接矩阵最大特征值
λ
λ
λ 所对应的特征向量。同一网络中邻接矩阵为强连通方阵,故其为不可约方阵,证明可见 定理1 。
λ
λ
λ 是
A
A
A 的主特征值,可以通过幂迭代来计算
e
(
t
+
1
)
=
A
e
(
t
)
e^{(t+1)} = Ae^{(t)}
e(t+1)=Ae(t)
如果我们从向量
e
(
0
)
=
(
1
,
1
,
.
.
.
,
1
)
T
e^{(0)} = (1, 1, ..., 1)^{T}
e(0)=(1,1,...,1)T 开始幂迭代,那么我们可以看到,在第一次迭代之后,
e
(
1
)
e^{(1)}
e(1) 将包含所有节点的 degree 。当
t
>
1
t>1
t>1 时
e
(
t
)
e^{(t)}
e(t) 为从某一节点出发,长度小于等于
t
t
t 的路径数量。
集聚系数 The clustering coefficient
聚类系数描述了与节点
u
u
u 相邻等等节点抱成团(完全子图)的程度,用
c
u
c_{u}
cu 表示
c
u
=
∣
(
v
1
,
v
2
)
∈
E
:
v
1
,
v
2
∈
N
(
u
)
∣
d
u
(
d
u
−
1
)
N
(
u
)
=
{
v
∈
V
:
(
u
,
v
)
∈
E
}
c_{u} = \frac{|(v_{1}, v_{2})∈\mathcal{E} : v_{1}, v_{2}∈\mathcal{N}(u)|}{d_{u}(d_{u} - 1)} \\ \mathcal{N}(u) = \{v∈\mathcal{V} : (u, v)∈\mathcal{E}\}
cu=du(du−1)∣(v1,v2)∈E:v1,v2∈N(u)∣N(u)={v∈V:(u,v)∈E}
分子计算了节点
u
u
u 邻域的边数,分母计算了
u
u
u 及其邻域内的节点之间可以连出的最大边数。与书中描述不一样,详见局部集聚系数。
图特征
Weisfieler-Lehman kernel
- 给每个节点分配一个初始标签 l ( 0 ) ( v ) l^{(0)}(v) l(0)(v) ,标签内的值为节点的特征。
- 通过hash(映射函数)节点及其邻域的标签组成的多重集,给每个节点分配一个新标签,并进行迭代
l ( i ) ( v ) = h a s h ( { { l ( i − 1 ) ( u ) ∀ u ∈ N ( v ) } } ) l^{(i)}(v) = hash(\{\{l^{(i-1)}(u) \quad \forall{u∈\mathcal{N}(v)}\}\}) l(i)(v)=hash({{l(i−1)(u)∀u∈N(v)}})
双大括号表示多重集,hash函数将每个多重集分别映射成新的标签。
WL核可以通过比较两个图的最终标签集来判定两图是否同构。
邻域重叠检测 Neighborhood Overlap Detection
最简单的邻域重叠度量只计算两节点间共同相邻节点的数量
S
[
u
,
v
]
=
∣
N
(
u
)
∩
N
(
v
)
∣
S[u, v] = |\mathcal{N}(u) ∩ \mathcal{N}(v)|
S[u,v]=∣N(u)∩N(v)∣
表示节点
u
u
u 和
v
v
v 之间关系的量化。
局部重叠度量 Local overlap measure
S
S
o
r
e
n
s
o
n
[
u
,
v
]
=
2
∣
N
(
u
)
∩
N
(
v
)
∣
d
u
+
d
v
S_{Sorenson}[u, v] = \frac{2|\mathcal{N}(u) ∩ \mathcal{N}(v)|}{d_{u} + d_{v}}
SSorenson[u,v]=du+dv2∣N(u)∩N(v)∣
Sorenson指标通过节点 degree 的总和来标准化共同邻点的个数,否则 degree 大的节点重叠度量将普遍大于 degree 小的节点。
其他相似的方法包括Salton指标和Jaccard指标
S
S
a
l
t
o
n
[
u
,
v
]
=
2
∣
N
(
u
)
∩
N
(
v
)
∣
s
q
r
t
(
d
u
d
v
)
S
J
a
c
c
a
r
d
[
u
,
v
]
=
∣
N
(
u
)
∩
N
(
v
)
∣
∣
N
(
u
)
∪
N
(
v
)
∣
S_{Salton}[u, v] = \frac{2|\mathcal{N}(u) ∩ \mathcal{N}(v)|}{sqrt(d_{u}d_{v})} \\ S_{Jaccard}[u, v] = \frac{|\mathcal{N}(u) ∩ \mathcal{N}(v)|}{|\mathcal{N}(u) ∪ \mathcal{N}(v)|}
SSalton[u,v]=sqrt(dudv)2∣N(u)∩N(v)∣SJaccard[u,v]=∣N(u)∪N(v)∣∣N(u)∩N(v)∣
也有一些方法考虑了共同邻点的重要性,如Resource Allocation(RA)指标计算共同邻点 degree 的倒数
S
R
A
[
v
1
,
v
2
]
=
∑
u
∈
N
(
v
1
)
∩
N
(
v
2
)
1
d
u
S_{RA}[v_{1}, v_{2}] = \sum_{u∈\mathcal{N}(v_{1})∩\mathcal{N}(v_{2})}{\frac{1}{d_{u}}}
SRA[v1,v2]=u∈N(v1)∩N(v2)∑du1
Adamic-Adar(AA)指标使用 degree 的对数倒数来执行相似的计算
S
A
A
[
v
1
,
v
2
]
=
∑
u
∈
N
(
v
1
)
∩
N
(
v
2
)
1
l
o
g
(
d
u
)
S_{AA}[v_{1}, v_{2}] = \sum_{u∈\mathcal{N}(v_{1})∩\mathcal{N}(v_{2})}{\frac{1}{log(d_{u})}}
SAA[v1,v2]=u∈N(v1)∩N(v2)∑log(du)1
全局重叠度量 Global overlap measure
Kate index
Kate指标计算两节点之间的所有路径
S
K
a
t
e
[
u
,
v
]
=
∑
i
=
1
∞
β
i
A
i
[
u
,
v
]
S_{Kate}[u, v] = \sum_{i=1}^{∞}{β^{i}A^{i}[u, v]}
SKate[u,v]=i=1∑∞βiAi[u,v]
β
∈
R
+
,
β
<
m
i
n
(
1
,
1
λ
1
)
β∈\mathbb{R}^{+}, β < min(1, \frac{1}{λ_{1}})
β∈R+,β<min(1,λ11) 是一个用户定义的参数,为了控制短路径和长路径的权重,路径越长权重越小,
λ
1
λ_{1}
λ1 是
A
A
A 的最大特征值。
根据定理1(见文末)
S
K
a
t
e
=
(
I
−
β
A
)
−
1
−
I
S_{Kate} = (I-βA)^{-1} - I
SKate=(I−βA)−1−I
Leicht, Holme, and Newman(LHN) similarity
当考虑高 degree 节点时,Kate指标通常会给出更高的分数。为了减轻 degree 的影响,Leicht等人采用两节点间实际观测到的路径数和期望的路径数之比
A
i
E
[
A
i
]
\frac{A^{i}}{\mathbb{E}[A^{i}]}
E[Ai]Ai
为了计算期望
E
[
A
i
]
\mathbb{E}[A^{i}]
E[Ai] ,我们绘制一个与给定图各节点 degree 相同的随机图。
在这个随机图中,一条路径存在的可能性可以看作有
d
u
d_{u}
du 条边离开节点
u
u
u ,每条边有
d
v
2
∣
E
∣
\frac{d_{v}}{2|\mathcal{E}|}
2∣E∣dv 的可能性到达节点
v
v
v ,即
E
[
A
[
u
,
v
]
]
=
d
u
d
v
2
∣
E
∣
\mathbb{E}[A[u, v]] = \frac{d_{u}d_{v}}{2|\mathcal{E}|}
E[A[u,v]]=2∣E∣dudv
当计算长度为2的路径时,其存在的可能性可以看作从节点
v
1
v_{1}
v1 出发到达节点
u
u
u 的概率
d
v
1
d
u
2
∣
E
∣
\frac{d_{v1}d_{u}}{2|\mathcal{E}|}
2∣E∣dv1du 乘以节点
u
u
u 出发到达节点
v
2
v_{2}
v2 的概率
d
v
2
(
d
u
−
1
)
2
∣
E
∣
\frac{d_{v2}(d_{u}-1)}{2|\mathcal{E}|}
2∣E∣dv2(du−1) (
d
u
−
1
d_{u}-1
du−1 是因为节点
v
1
v_{1}
v1 到达节点
u
u
u 时已经占据了
u
u
u 的一条边),即
E
[
A
2
[
v
1
,
v
2
]
]
=
d
v
1
d
v
2
(
2
∣
E
∣
)
2
∑
u
∈
V
(
d
u
−
1
)
d
u
\mathbb{E}[A^{2}[v_{1}, v_{2}]] = \frac{d_{v1}d_{v2}}{(2|\mathcal{E}|)^{2}}\sum_{u∈\mathcal{V}}{(d_{u} - 1)d_{u}}
E[A2[v1,v2]]=(2∣E∣)2dv1dv2u∈V∑(du−1)du
但是当
i
>
2
i>2
i>2 时,路径的期望难以计算。依赖于最大特征值可用于近似路径数量增长的事实,我们定义向量
p
i
∈
R
∣
V
∣
p_{i} ∈ \mathbb{R}^{|\mathcal{V}|}
pi∈R∣V∣ 代表节点
u
u
u 和所有其他节点之间的长度为
i
i
i 的路径数量
p
i
=
A
i
v
p_{i} = A^{i}v
pi=Aiv
其中,向量
v
v
v 除了
v
[
i
]
=
1
v[i] = 1
v[i]=1 其余元素全为0,
p
i
p_{i}
pi 将最终收敛到邻接矩阵的主特征向量(幂迭代),因此
p
i
+
1
=
λ
1
p
i
p_{i+1} = λ_{1}p_{i}
pi+1=λ1pi
其中,
λ
1
λ_{1}
λ1 是
A
A
A 的最大特征值,因此
E
[
A
i
[
u
,
v
]
]
=
d
u
d
v
λ
1
i
−
1
2
∣
E
∣
\mathbb{E}[A^{i}[u, v]] = \frac{d_{u}d_{v}λ_{1}^{i-1}}{2|\mathcal{E}|}
E[Ai[u,v]]=2∣E∣dudvλ1i−1
最终,LNH指标表示为
S
L
N
H
[
u
,
v
]
=
I
[
u
,
v
]
+
2
∣
E
∣
d
u
d
v
∑
i
=
1
∞
β
i
λ
1
1
−
i
A
i
[
u
,
v
]
S_{LNH}[u, v] = I[u, v] + \frac{2|\mathcal{E}|}{d_{u}d_{v}}\sum_{i=1}^{\infty}{β^{i}λ_{1}^{1-i}A^{i}[u, v]}
SLNH[u,v]=I[u,v]+dudv2∣E∣i=1∑∞βiλ11−iAi[u,v]
其中,
I
I
I 使
S
L
N
H
[
u
,
u
]
=
1
S_{LNH}[u, u]=1
SLNH[u,u]=1 ,且不对其他部分产生影响。
根据定理1(见文末)
S
L
N
H
=
I
+
2
∣
E
∣
λ
1
d
u
d
v
∑
i
=
1
∞
(
β
λ
1
A
)
i
=
2
∣
E
∣
λ
1
D
−
1
(
I
−
β
λ
1
A
)
−
1
D
−
1
\begin{aligned} S_{LNH} & = I + \frac{2|\mathcal{E}|λ_{1}}{d_{u}d_{v}}\sum_{i=1}^{\infty}{(\frac{β}{λ_{1}}A)^{i}} \\ &= 2|\mathcal{E}|λ_{1}D^{-1}(I-\frac{β}{λ_{1}}A)^{-1}D^{-1} \end{aligned}
SLNH=I+dudv2∣E∣λ1i=1∑∞(λ1βA)i=2∣E∣λ1D−1(I−λ1βA)−1D−1
其中
D
D
D 为对角线为 node degree 的矩阵。
随机游走法 Random walk methods
该方法起源于Personalized PageRank方法,用于量化互联网网页的重要程度。定义随机矩阵
P
=
A
D
−
1
P=AD^{-1}
P=AD−1 表示从某一节点出发到达另一节点的期望,计算
q
u
=
c
P
q
u
+
(
1
−
c
)
e
u
=
(
1
−
c
)
(
I
−
c
P
)
−
1
e
u
\begin{aligned} q_{u} &= cPq_{u} + (1-c)e_{u} \\ &= (1-c)(I-cP)^{-1}e_{u} \end{aligned}
qu=cPqu+(1−c)eu=(1−c)(I−cP)−1eu
其中
e
u
e_{u}
eu 表示上文提到的节点中心性向量,
q
u
q_{u}
qu 表示从节点
u
u
u 开始随机游走到其他节点的稳态概率的向量,这个概率由两部分组成,式中第一项表示根据路径进行转移访问的概率(通过网页
u
u
u 提供的的链接转移访问网页
v
v
v),第二项表示直接访问某一节点的概率(直接输入网址访问网页
v
v
v),
c
c
c 为转移概率。
两节点的相似度与其互相随机游走到达彼此的概率成正比,因此定义节点间的随机游走相似性度量为
S
R
W
[
u
,
v
]
=
q
u
[
v
]
+
q
v
[
u
]
S_{RW}[u, v] = q_{u}[v] + q_{v}[u]
SRW[u,v]=qu[v]+qv[u]
Graph Laplacians and Spectral Methods
Graph Laplacians
unnormalized Laplacian
最基本的拉普拉斯矩阵是未标准化的,定义为
L
=
D
−
A
L = D - A
L=D−A
其中,
A
A
A 是邻接矩阵,
D
D
D 是度矩阵(对角线为 node degree 的矩阵)。简单图的拉普拉斯矩阵由一些重要的特性
- 拉普拉斯矩阵是对称( L T = L L^{T} = L LT=L )且半正定的( x T L x ≥ 0 , ∀ x ∈ R ∣ V ∣ x^{T}Lx ≥ 0, \forall{x ∈ \mathbb{R}^{|\mathcal{V}|}} xTLx≥0,∀x∈R∣V∣ )。
- 对于
∀
x
∈
R
∣
V
∣
\forall{x} ∈ \mathbb{R}^{|\mathcal{V}|}
∀x∈R∣V∣
x T L x = x T D x − x T A x = ∑ u x [ u ] 2 D [ u , u ] − ∑ u x [ u ] ∑ v A [ u , v ] x [ v ] = 1 2 ( 2 ∑ u x [ u ] 2 D [ u , u ] − 2 ∑ u ∑ v x [ u ] A [ u , v ] x [ v ] ) = 1 2 ( ∑ u x [ u ] 2 D [ u , u ] − 2 ∑ u ∑ v x [ u ] A [ u , v ] x [ v ] + ∑ v x [ v ] 2 D [ v , v ] ) = 1 2 ( ∑ u ∑ v x [ u ] 2 A [ u , v ] − 2 ∑ u ∑ v x [ u ] A [ u , v ] x [ v ] + ∑ u ∑ v x [ v ] 2 A [ u , v ] ) = 1 2 ∑ u ∑ v A [ u , v ] ( x [ u ] − x [ v ] ) 2 = ∑ ( u , v ) ∈ E ( x [ u ] − x [ v ] ) 2 ≥ 0 \begin{aligned} x^{T}Lx &= x^{T}Dx - x^{T}Ax \\ &= \sum_{u}{x[u]^{2}D[u, u]} - \sum_{u}{x[u]\sum_{v}{A[u, v]x[v]}} \\ &= \frac{1}{2}(2\sum_{u}{x[u]^{2}D[u, u]} - 2\sum_{u}\sum_{v}{x[u]A[u, v]x[v]}) \\ &= \frac{1}{2}(\sum_{u}{x[u]^{2}D[u, u]} - 2\sum_{u}\sum_{v}{x[u]A[u, v]x[v]} + \sum_{v}{x[v]^{2}D[v, v]}) \\ &= \frac{1}{2}(\sum_{u}\sum_{v}{x[u]^{2}A[u, v]} - 2\sum_{u}\sum_{v}{x[u]A[u, v]x[v]} + \sum_{u}\sum_{v}{x[v]^{2}A[u, v]}) \\ &= \frac{1}{2}\sum_{u}\sum_{v}{A[u, v](x[u] - x[v])^{2}} \\ &= \sum_{(u, v) ∈ \mathcal{E}}{(x[u] - x[v])^{2}} ≥ 0 \end{aligned} xTLx=xTDx−xTAx=u∑x[u]2D[u,u]−u∑x[u]v∑A[u,v]x[v]=21(2u∑x[u]2D[u,u]−2u∑v∑x[u]A[u,v]x[v])=21(u∑x[u]2D[u,u]−2u∑v∑x[u]A[u,v]x[v]+v∑x[v]2D[v,v])=21(u∑v∑x[u]2A[u,v]−2u∑v∑x[u]A[u,v]x[v]+u∑v∑x[v]2A[u,v])=21u∑v∑A[u,v](x[u]−x[v])2=(u,v)∈E∑(x[u]−x[v])2≥0 - L L L 有 ∣ V ∣ |\mathcal{V}| ∣V∣ 个非负特征值: 0 = λ ∣ V ∣ ≤ λ ∣ V ∣ − 1 ≤ . . . ≤ λ 1 0 = λ_{|\mathcal{V}|} ≤ λ_{|\mathcal{V}|-1} ≤ ... ≤ λ_{1} 0=λ∣V∣≤λ∣V∣−1≤...≤λ1
Normalized Laplacians
介绍两种标准化方法,其中对称标准化拉普拉斯矩阵被定义为
L
s
y
m
=
D
−
1
2
L
D
−
1
2
L_{sym} = D^{-\frac{1}{2}}LD^{-\frac{1}{2}}
Lsym=D−21LD−21
随机游走(random walk)拉普拉斯矩阵被定义为
L
R
W
=
D
−
1
L
L_{RW} = D^{-1}L
LRW=D−1L
这些标准化方法只改变了代数性质。
Graph Cuts and Clustering
图分割 Graph cuts
设
A
⊂
V
\mathcal{A} \subset \mathcal{V}
A⊂V 代表图中节点的子集,
A
ˉ
\bar{\mathcal{A}}
Aˉ 为该子集的补集。将图分割成
K
K
K 个不重合的子集
A
1
,
.
.
.
,
A
k
\mathcal{A}_1, ..., \mathcal{A}_k
A1,...,Ak ,定义分割量化指标为
c
u
t
(
A
1
,
.
.
.
,
A
k
)
=
1
2
∑
k
=
1
K
∣
(
u
,
v
)
∈
E
:
u
∈
A
k
,
v
∈
A
ˉ
k
∣
cut(\mathcal{A}_1, ..., \mathcal{A}_k) = \frac{1}{2}\sum_{k = 1}^{K}{|(u, v) ∈ \mathcal{E} : u ∈ \mathcal{A}_k, v ∈ \bar{\mathcal{A}}_k|}
cut(A1,...,Ak)=21k=1∑K∣(u,v)∈E:u∈Ak,v∈Aˉk∣
这个指标简单的计算了不同子集及其补集在边界的边缘数,我们需要最小化这个量化指标进行切割,但是这种方法会使切割后的子集趋向于仅包含一个节点。
为了使每个子集具有合理的大小, Ratio Cut 被提出,惩罚了较小的子集
R
a
t
i
o
C
u
t
(
A
1
,
.
.
.
,
A
k
)
=
1
2
∑
k
=
1
K
∣
(
u
,
v
)
∈
E
:
u
∈
A
k
,
v
∈
A
ˉ
k
∣
∣
A
k
∣
RatioCut(\mathcal{A}_1, ..., \mathcal{A}_k) = \frac{1}{2}\sum_{k = 1}^{K}{\frac{|(u, v) ∈ \mathcal{E} : u ∈ \mathcal{A}_k, v ∈ \bar{\mathcal{A}}_k|}{|\mathcal{A}_k|}}
RatioCut(A1,...,Ak)=21k=1∑K∣Ak∣∣(u,v)∈E:u∈Ak,v∈Aˉk∣
还有一种解决方法是最小化 Normalized Cut (NCut) ,它会使分割后的子集内部具有差不多的边缘
N
C
u
t
(
A
1
,
.
.
.
,
A
k
)
=
1
2
∑
k
=
1
K
∣
(
u
,
v
)
∈
E
:
u
∈
A
k
,
v
∈
A
ˉ
k
∣
∑
u
∈
A
k
d
u
NCut(\mathcal{A}_1, ..., \mathcal{A}_k) = \frac{1}{2}\sum_{k = 1}^{K}{\frac{|(u, v) ∈ \mathcal{E} : u ∈ \mathcal{A}_k, v ∈ \bar{\mathcal{A}}_k|}{\sum_{u ∈ \mathcal{A}_k}{d_{u}}}}
NCut(A1,...,Ak)=21k=1∑K∑u∈Akdu∣(u,v)∈E:u∈Ak,v∈Aˉk∣
Approximating the RatioCut with the Laplacian spectrum
以下讨论将图分割成两个子集的情况,我们的目标是解决如下优化问题
min
A
∈
V
R
a
t
i
o
C
u
t
(
A
,
A
ˉ
)
\min_{\mathcal{A} ∈ \mathcal{V}}{RatioCut(\mathcal{A}, \bar{\mathcal{A}})}
A∈VminRatioCut(A,Aˉ)
定义向量
a
∈
R
∣
V
∣
a ∈ \mathbb{R}^{|\mathcal{V}|}
a∈R∣V∣
a
[
u
]
=
{
∣
A
ˉ
∣
A
,
i
f
u
∈
A
−
∣
A
∣
∣
A
ˉ
∣
,
i
f
u
∈
A
ˉ
a
T
L
a
=
1
2
∑
u
,
v
A
[
u
,
v
]
(
a
[
u
]
−
a
[
v
]
)
2
=
1
2
∑
u
∈
A
,
v
∈
A
ˉ
A
[
u
,
v
]
(
a
[
u
]
−
a
[
v
]
)
2
+
1
2
∑
u
∈
A
ˉ
,
v
∈
A
A
[
u
,
v
]
(
a
[
u
]
−
a
[
v
]
)
2
=
c
u
t
(
A
,
A
ˉ
)
(
∣
A
ˉ
∣
A
+
∣
A
∣
∣
A
ˉ
∣
+
2
)
=
c
u
t
(
A
,
A
ˉ
)
(
∣
A
∣
+
∣
A
ˉ
∣
∣
A
ˉ
∣
+
∣
A
∣
+
∣
A
ˉ
∣
∣
A
∣
)
=
∣
V
∣
R
a
t
i
o
c
u
t
(
A
,
A
ˉ
)
a[u] = \begin{cases} \sqrt{\frac{|\bar{\mathcal{A}}|}{\mathcal{A}}}, & if \ u ∈ \mathcal{A} \\ -\sqrt{\frac{|\mathcal{A}|}{|\bar{\mathcal{A}}|}}, & if \ u ∈ \bar{\mathcal{A}} \end{cases} \\ \begin{aligned} a^{T}La &= \frac{1}{2}\sum_{u, v}{A[u, v](a[u] - a[v])^{2}} \\ &= \frac{1}{2}\sum_{u ∈ \mathcal{A}, v ∈ \bar{\mathcal{A}}}{A[u, v](a[u] - a[v])^{2}} + \frac{1}{2}\sum_{u ∈ \bar{\mathcal{A}}, v ∈ \mathcal{A}}{A[u, v](a[u] - a[v])^{2}} \\ &= cut(\mathcal{A}, \bar{\mathcal{A}})(\frac{|\bar{\mathcal{A}}|}{\mathcal{A}} + \frac{|\mathcal{A}|}{|\bar{\mathcal{A}}|} + 2)\\ &= cut(\mathcal{A}, \bar{\mathcal{A}})(\frac{|\mathcal{A}| + |\bar{\mathcal{A}}|}{|\bar{\mathcal{A}}|} + \frac{|\mathcal{A}| + |\bar{\mathcal{A}}|}{|\mathcal{A}|}) \\ &= |\mathcal{V}|Ratiocut(\mathcal{A}, \bar{\mathcal{A}}) \end{aligned}
a[u]=⎩⎨⎧A∣Aˉ∣
,−∣Aˉ∣∣A∣
,if u∈Aif u∈AˉaTLa=21u,v∑A[u,v](a[u]−a[v])2=21u∈A,v∈Aˉ∑A[u,v](a[u]−a[v])2+21u∈Aˉ,v∈A∑A[u,v](a[u]−a[v])2=cut(A,Aˉ)(A∣Aˉ∣+∣Aˉ∣∣A∣+2)=cut(A,Aˉ)(∣Aˉ∣∣A∣+∣Aˉ∣+∣A∣∣A∣+∣Aˉ∣)=∣V∣Ratiocut(A,Aˉ)
注意:
A
A
A 为邻接矩阵,
A
\mathcal{A}
A 为分割后的子集。
a
a
a 有两个重要的特性
- ∑ u ∈ V a u = ∣ A ∣ ∣ A ˉ ∣ A − ∣ A ˉ ∣ ∣ A ∣ ∣ A ˉ ∣ = 0 ⇔ a ⊥ [ 1 , 1 , . . . , 1 ] \sum_{u ∈ \mathcal{V}}{a_{u}} = |\mathcal{A}|\sqrt{\frac{|\bar{\mathcal{A}}|}{\mathcal{A}}} - |\bar{\mathcal{A}}|\sqrt{\frac{|\mathcal{A}|}{|\bar{\mathcal{A}}|}} = 0 \Leftrightarrow a \perp [1, 1, ..., 1] ∑u∈Vau=∣A∣A∣Aˉ∣ −∣Aˉ∣∣Aˉ∣∣A∣ =0⇔a⊥[1,1,...,1]
- ∣ ∣ a ∣ ∣ 2 = ∣ A ∣ ∣ A ˉ ∣ ∣ A ∣ + ∣ A ˉ ∣ ∣ A ∣ ∣ A ˉ ∣ = ∣ V ∣ ||a||^{2} = |\mathcal{A}|\frac{|\bar{\mathcal{A}}|}{|\mathcal{A}|} + |\bar{\mathcal{A}}|\frac{|\mathcal{A}|}{|\bar{\mathcal{A}}|} = |\mathcal{V}| ∣∣a∣∣2=∣A∣∣A∣∣Aˉ∣+∣Aˉ∣∣Aˉ∣∣A∣=∣V∣
松弛
A
∈
V
\mathcal{A} ∈ \mathcal{V}
A∈V 这个离散条件,优化目标变为
min
a
∈
R
∣
V
∣
a
T
L
a
\min_{a ∈ \mathbb{R}^{|\mathcal{V}|}}{a^{T}La}
a∈R∣V∣minaTLa
根据Rayleigh-Ritz定理,其解为
L
L
L 的第二小特征值对应的特征向量。为了将这个实值向量
a
a
a 转化为离散的子集分配,可以根据
a
[
u
]
a[u]
a[u] 的符号来划分子集。
{
u
∈
A
i
f
a
[
u
]
≥
0
u
∈
A
ˉ
i
f
a
[
u
]
<
0
\begin{cases} u ∈ \mathcal{A} & if \ a[u] ≥ 0 \\ u ∈ \bar{\mathcal{A}} & if \ a[u] < 0 \end{cases}
{u∈Au∈Aˉif a[u]≥0if a[u]<0
Generalized spectral clustering
上述结论可以扩展至任意 K K K 个子集,流程如下
- 计算 L L L 的最小的 K K K 个特征值对应的特征向量 e ∣ V ∣ − 1 , e ∣ V ∣ − 2 , . . . , e ∣ V ∣ − K e_{|\mathcal{V}| - 1}, e_{|\mathcal{V}| - 2}, ..., e_{|\mathcal{V}| - K} e∣V∣−1,e∣V∣−2,...,e∣V∣−K 。
- 将步骤1所得的特征向量按列拼接成矩阵 U ∈ R ∣ V ∣ × ( K − 1 ) U ∈ \mathbb{R}^{|\mathcal{V}|×(K-1)} U∈R∣V∣×(K−1) 。
- 用矩阵
U
U
U 中对应的行来表示每个节点
z u = U [ u ] ∀ u ∈ V z_u = U[u] \quad \forall u ∈ \mathcal{V} zu=U[u]∀u∈V - 使用 K-means 算法对 embeddings z u z_{u} zu 聚类
定理1
如果
X
X
X 为一个实数方阵,
λ
1
<
1
λ_{1} < 1
λ1<1 代表
X
X
X 的最大特征值,并且
(
I
−
X
)
(I-X)
(I−X) 是非奇异矩阵,那么
(
I
−
X
)
−
1
=
∑
i
=
0
∞
X
i
(I-X)^{-1} = \sum_{i=0}^{∞}{X^{i}}
(I−X)−1=i=0∑∞Xi
证明:设
s
n
=
∑
i
=
0
n
X
i
s_{n} = \sum_{i=0}^{n}{X^{i}}
sn=∑i=0nXi ,则
X
s
n
=
X
∑
i
=
0
n
X
i
=
∑
i
=
1
n
+
1
X
i
s
n
−
X
s
n
=
∑
i
=
0
n
X
i
−
∑
i
=
1
n
+
1
X
i
(
I
−
X
)
s
n
=
X
0
−
X
n
+
1
s
n
=
(
I
−
X
)
−
1
(
I
−
X
n
+
1
)
\begin{aligned} Xs_{n} &= X\sum_{i=0}^{n}{X^{i}} \\ &= \sum_{i=1}^{n+1}{X^{i}} \\ s_{n} - Xs_{n} &= \sum_{i=0}^{n}{X^{i}} - \sum_{i=1}^{n+1}{X^{i}} \\ (I - X)s_{n} &= X^{0} - X^{n+1} \\ s_{n} &= (I - X)^{-1}(I - X^{n+1}) \end{aligned}
Xsnsn−Xsn(I−X)snsn=Xi=0∑nXi=i=1∑n+1Xi=i=0∑nXi−i=1∑n+1Xi=X0−Xn+1=(I−X)−1(I−Xn+1)
因为
λ
1
<
1
λ_{1} < 1
λ1<1 ,可知
lim
n
→
∞
X
n
=
0
\lim_{n \to \infty}{X^{n}} = 0
limn→∞Xn=0 ,所以
lim
n
→
∞
s
n
=
lim
n
→
∞
(
I
−
X
)
−
1
(
I
−
X
n
+
1
)
=
(
I
−
X
)
−
1
\begin{aligned} \lim_{n \to \infty}{s_{n}} &= \lim_{n \to \infty}{(I-X)^{-1}(I-X^{n+1})} \\ &= (I-X)^{-1} \end{aligned}
n→∞limsn=n→∞lim(I−X)−1(I−Xn+1)=(I−X)−1
定理2
拉普拉斯矩阵
L
L
L 的特征值为0的个数与图中连通部分的个数相等。
证明:对于特征值0的任何特征向量
e
e
e
e
T
L
e
=
0
e^{T}Le = 0
eTLe=0
因此
∑
(
u
,
v
)
∈
E
(
e
[
u
]
−
e
[
v
]
)
2
=
0
\sum_{(u, v) ∈ \mathcal{E}}{(e[u] - e[v])^{2}} = 0
(u,v)∈E∑(e[u]−e[v])2=0
可知,对于同一连通部分中所有节点
u
u
u ,
e
[
u
]
e[u]
e[u] 相同。当图全连接时,
e
[
u
]
e[u]
e[u] 全为1,只有一个特征值为0。
当图中有
K
K
K 个连通部分时,拉普拉斯矩阵表示为
L
=
[
L
1
L
2
⋱
L
K
]
L = \left[ \begin{matrix} L_{1} & & & \\ & L_{2} & & \\ & & \ddots & \\ & & & L_{K} \end{matrix} \right]
L=⎣⎢⎢⎡L1L2⋱LK⎦⎥⎥⎤
每个
L
K
L_{K}
LK 都是全连接子图,都有唯一的特征值0。
标签:bar,frac,Graph,sum,Chapter2,Learning,mathcal,du,节点 来源: https://blog.csdn.net/weixin_43269419/article/details/120381645