概
有向图可以用邻接矩阵 A ∈ { 0 , 1 } d × d A \in \{0, 1\}^{d \times d} A∈{0,1}d×d来表示, 其中 A i j = 1 A_{ij} = 1 Aij=1 表示 node i i i 指向 node j j j. 进一步的, 我们想要表示有向无环图(DAG), 则 A A A需要满足额外的性质, 保证无环.
现在的问题是, 有一堆观测数据 X ∈ R n × d X \in \mathbb{R}^{n \times d} X∈Rn×d, 如何通过这些数据推测其(特征之间的)关系, 即对应的 A A A.
主要内容
首先, 假设特征之间满足一个线性关系:
X
j
=
w
j
T
X
+
z
j
,
X_j = w_j^T X + z_j,
Xj=wjTX+zj,
其中
W
=
[
w
1
∣
w
2
∣
⋯
∣
w
d
]
∈
R
d
,
W = [w_1|w_2|\cdots|w_d] \in \mathbb{R}^{d},
W=[w1∣w2∣⋯∣wd]∈Rd,
z
z
z为随机的噪声.
通过
W
W
W可以推出相应的
A
=
A
(
W
)
A=\mathcal{A}(W)
A=A(W), 即
W
i
j
≠
0
⇔
A
i
j
=
1
,
W
i
j
=
0
⇔
A
i
j
=
0.
W_{ij} \not = 0 \Leftrightarrow A_{ij} = 1, W_{ij} =0 \Leftrightarrow A_{ij} = 0.
Wij=0⇔Aij=1,Wij=0⇔Aij=0.
故我们目标通常是:
min
W
ℓ
(
W
;
X
)
=
1
2
n
∥
X
−
X
W
∥
F
2
,
s
.
t
.
A
(
W
)
∈
D
,
\min_{W} \quad \ell(W;X) = \frac{1}{2n}\|X - XW\|_F^2, \\ \mathrm{s.t.} \quad \mathcal{A}(W) \in \mathbb{D},
Wminℓ(W;X)=2n1∥X−XW∥F2,s.t.A(W)∈D,
其中
D
\mathbb{D}
D表示有向无环图.
进一步地, 因为我们希望
W
W
W是一个系数的矩阵(否则断然不是DAG), 故
F
(
W
;
X
)
=
ℓ
(
W
;
X
)
+
λ
∥
W
∥
1
,
F(W;X) = \ell(W;X) + \lambda \|W\|_1,
F(W;X)=ℓ(W;X)+λ∥W∥1,
并
min
W
F
(
W
;
X
)
s
.
t
.
A
(
W
)
∈
D
.
\min_W \quad F(W;X) \\ \mathrm{s.t.} \quad \mathcal{A}(W) \in \mathbb{D}.
WminF(W;X)s.t.A(W)∈D.
显然现在的关键是如何处理
A
(
W
)
∈
D
\mathcal{A}(W) \in \mathbb{D}
A(W)∈D这个条件, 以前的方法通常需要复杂的运算, 本文提出一种等价的条件
h
(
W
)
=
0
,
h(W) = 0,
h(W)=0,
满足
- h ( W ) = 0 h(W)= 0 h(W)=0当且仅当 A ( W ) ∈ D \mathcal{A}(W) \in \mathbb{D} A(W)∈D;
- h ( W ) h(W) h(W)越小, 说明 A ( W ) \mathcal{A}(W) A(W)越接近无环图;
- h ( W ) h(W) h(W)是一个光滑函数;
- h ( W ) h(W) h(W)便于求导.
显然1是期望的, 2可以用于判断所得的 W W W的优劣, 3, 4便于我们用数值方法求解.
等价条件的推导
t r ( I − W ) − 1 = d \mathrm{tr}(I-W)^{-1} = d tr(I−W)−1=d
Proposition 1: 假设
W
∈
R
+
d
×
d
W \in \mathbb{R}_+^{d \times d}
W∈R+d×d 且
∥
W
∥
<
1
\|W\| < 1
∥W∥<1, 则
A
(
W
)
\mathcal{A}(W)
A(W)能够表示有向无环图当且仅当
t
r
(
I
−
W
)
−
1
=
d
.
\mathrm{tr}(I - W)^{-1} = d.
tr(I−W)−1=d.
proof:
A
=
A
(
W
)
A = \mathcal{A}(W)
A=A(W)能够表示有向无环图, 当且仅当
t
r
(
A
k
)
=
0
⇔
t
r
(
W
k
)
=
0
,
∀
k
=
1
,
⋯
\mathrm{tr}(A^k) = 0 \Leftrightarrow \mathrm{tr} (W^k) = 0, \forall\: k=1,\cdots
tr(Ak)=0⇔tr(Wk)=0,∀k=1,⋯
⇒
\Rightarrow
⇒
由于
∥
W
∥
<
1
\|W\| < 1
∥W∥<1(最大奇异值小于1), 故
t
r
(
I
−
W
)
−
1
=
t
r
(
∑
k
=
0
W
k
)
=
t
r
(
I
)
=
d
.
\mathrm{tr}(I-W)^{-1} = \mathrm{tr}(\sum_{k=0} W^k) = \mathrm{tr}(I) = d.
tr(I−W)−1=tr(k=0∑Wk)=tr(I)=d.
⇐
\Leftarrow
⇐
t
r
(
W
k
)
≥
0
\mathrm{tr}(W^k) \ge 0
tr(Wk)≥0, 故
t
r
(
I
−
W
)
−
1
=
d
\mathrm{tr}(I-W)^{-1} = d
tr(I−W)−1=d
当且仅当
t
r
(
W
k
)
=
0.
\mathrm{tr}(W^k) = 0.
tr(Wk)=0.
注: ∥ W ∥ < 1 \|W\| < 1 ∥W∥<1这个条件并不容易满足.
t r ( e W ) = d \mathrm{tr}(e^W)=d tr(eW)=d
注: e A = I + ∑ k = 1 A k k ! e^A = I + \sum_{k=1} \frac{A^k}{k!} eA=I+∑k=1k!Ak.
Proposition 2: 假设
W
∈
R
+
d
×
d
W \in \mathbb{R}_+^{d \times d}
W∈R+d×d, 则
A
(
W
)
\mathcal{A}(W)
A(W)能够表示有向无环图当且仅当
t
r
(
e
W
)
=
d
.
\mathrm{tr}(e^W) = d.
tr(eW)=d.
proof:
证明是类似的.
注: 此时对 W W W的最大奇异值没有要求.
t r ( W k ) = 0 \mathrm{tr}(W^k) = 0 tr(Wk)=0
这部分的证明可能应该归属于DAG-GNN.
Proposition 3: 假设
W
∈
R
+
d
×
d
W \in \mathbb{R}_+^{d \times d}
W∈R+d×d , 则
A
(
W
)
\mathcal{A}(W)
A(W)能够表示有向无环图当且仅当
t
r
(
W
k
)
=
0
,
k
=
1
,
2
,
⋯
,
d
.
\mathrm{tr}(W^k) = 0, \: k=1,2,\cdots, d.
tr(Wk)=0,k=1,2,⋯,d.
proof:
⇒
\Rightarrow
⇒是显然的, 证明
⇒
\Rightarrow
⇒只需说明
t
r
(
W
k
)
=
0
,
k
=
1
,
2
,
⋯
,
d
⇒
t
r
(
W
k
)
,
k
≥
1.
\mathrm{tr}(W^k)=0, \: k=1,2,\cdots, d \Rightarrow \mathrm{tr}(W^k), \: k\ge 1.
tr(Wk)=0,k=1,2,⋯,d⇒tr(Wk),k≥1.
假设
W
W
W的特征多项式为
p
(
λ
)
=
∑
k
=
0
d
β
k
λ
k
,
β
d
=
1
p(\lambda) = \sum_{k=0}^d \beta_k \lambda^k, \beta_d=1
p(λ)=∑k=0dβkλk,βd=1, 则有
p
(
W
)
=
∑
k
=
0
d
β
k
W
k
=
0.
p(W) = \sum_{k=0}^d \beta_k W^k = 0.
p(W)=k=0∑dβkWk=0.
进一步有
W
d
=
−
∑
k
=
0
d
−
1
β
k
W
k
⇒
W
d
+
1
=
−
∑
k
=
1
d
β
k
W
k
+
1
⇒
t
r
(
W
d
+
1
)
=
−
∑
k
=
1
d
β
k
t
r
(
W
k
+
1
)
=
0.
W^{d} = -\sum_{k=0}^{d-1} \beta_k W^k \Rightarrow W^{d+1} = -\sum_{k=1}^d \beta_k W^{k+1} \Rightarrow \mathrm{tr}(W^{d+1}) = -\sum_{k=1}^d \beta_k \mathrm{tr}(W^{k+1}) = 0.
Wd=−k=0∑d−1βkWk⇒Wd+1=−k=1∑dβkWk+1⇒tr(Wd+1)=−k=1∑dβktr(Wk+1)=0.
由归纳假设可知结论成立.
Corollary 1: 假设
W
∈
R
+
d
×
d
W \in \mathbb{R}_+^{d \times d}
W∈R+d×d , 则
A
(
W
)
\mathcal{A}(W)
A(W)能够表示有向无环图当且仅当
t
r
(
I
+
W
)
d
=
d
.
\mathrm{tr}(I+W)^d=d.
tr(I+W)d=d.
t r ( e W ∘ W ) = d \mathrm{tr}(e^{W \circ W}) =d tr(eW∘W)=d
注: ∘ \circ ∘ 表示哈达玛积, 即对应元素相乘.
上面依然要求 W W W各元素大于0, 一个好的办法是:
Theorem 1: 一个矩阵
W
∈
R
d
×
d
W \in \mathbb{R}^{d \times d}
W∈Rd×d, 则
A
(
W
)
\mathcal{A}(W)
A(W) 能表示有向无环图当且仅当
t
r
(
e
W
∘
W
)
=
d
.
\mathrm{tr}(e^{W \circ W}) =d.
tr(eW∘W)=d.
proof:
A ( W ) = A ( W ∘ W ) \mathcal{A}(W)=\mathcal{A}(W \circ W) A(W)=A(W∘W).
t r ( I + W ∘ W ) d = d \mathrm{tr}(I + W \circ W)^d =d tr(I+W∘W)d=d
Theorem 2: 一个矩阵
W
∈
R
d
×
d
W \in \mathbb{R}^{d \times d}
W∈Rd×d, 则
A
(
W
)
\mathcal{A}(W)
A(W) 能表示有向无环图当且仅当
t
r
(
I
+
W
∘
W
)
d
=
d
.
\mathrm{tr}(I + W \circ W)^d =d.
tr(I+W∘W)d=d.
注: W ∘ W W \circ W W∘W前面加个系数也是没关系的.
性质的推导
故, 此时我们只需设置
h
(
W
)
=
t
r
(
e
W
∘
W
)
−
d
h(W) = \mathrm{tr}(e^{W\circ W}) - d
h(W)=tr(eW∘W)−d
显然满足1,2,3, 接下来我们推导其梯度
d
h
(
W
)
=
d
t
r
(
e
W
∘
W
)
=
t
r
(
d
e
W
∘
W
)
=
t
r
(
d
∑
k
=
1
M
k
k
!
)
=
∑
k
=
1
t
r
(
d
M
k
k
!
)
=
∑
k
=
0
t
r
(
M
k
d
M
k
!
)
=
t
r
(
e
W
∘
W
⋅
d
(
W
∘
W
)
)
=
t
r
(
e
W
∘
W
⋅
(
2
W
∘
d
W
)
)
=
t
r
(
e
W
∘
W
∘
2
W
T
⋅
d
W
)
\begin{array}{ll} \mathrm{d}h(W) &= \mathrm{d}\: \mathrm{tr} (e^{W\circ W}) \\ &= \mathrm{tr} (\mathrm{d}e^{W\circ W}) \\ &= \mathrm{tr} (\mathrm{d}\sum_{k=1} \frac{M^k}{k!}) \\ &=\sum_{k=1} \mathrm{tr} ( \frac{\mathrm{d}M^k}{k!}) \\ &=\sum_{k=0} \mathrm{tr} ( \frac{M^k \mathrm{d}M}{k!}) \\ &= \mathrm{tr}(e^{W\circ W} \cdot \mathrm{d}(W\circ W)) \\ &= \mathrm{tr}(e^{W\circ W} \cdot (2W \circ \mathrm{d} W)) \\ &= \mathrm{tr}(e^{W\circ W} \circ 2W^T \cdot \mathrm{d} W) \\ \end{array}
dh(W)=dtr(eW∘W)=tr(deW∘W)=tr(d∑k=1k!Mk)=∑k=1tr(k!dMk)=∑k=0tr(k!MkdM)=tr(eW∘W⋅d(W∘W))=tr(eW∘W⋅(2W∘dW))=tr(eW∘W∘2WT⋅dW)
故
∇
h
(
W
)
=
(
e
W
∘
W
)
T
∘
W
.
\nabla h(W) = (e^{W\circ W})^T \circ W.
∇h(W)=(eW∘W)T∘W.
注: 其中 M = W ∘ W M =W \circ W M=W∘W.
求解
利用augmented Lagrangian转换为(这一块不是很懂, 但只是数值求解的东西, 不影响理解)
min
W
max
α
ℓ
(
W
;
X
)
+
λ
∥
W
∥
1
+
ρ
2
∣
h
(
W
)
∣
2
+
α
h
(
W
)
,
\min_W \max_{\alpha}\quad \ell (W;X) +\lambda \|W\|_1 + \frac{\rho}{2}|h(W)|^2 + \alpha h(W),
Wminαmaxℓ(W;X)+λ∥W∥1+2ρ∣h(W)∣2+αh(W),
具体求解算法如下: