DAGs with NO TEARS

Zheng X., Aragam B., Ravikumar P. and Xing E. DAGs with NO TEARS: Continuous Optimization for Structure Learning. In Advances in Neural Information Processing Systems (NIPS), 2018.

有向图可以用邻接矩阵 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} XRn×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=[w1w2wd]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=0Aij=1,Wij=0Aij=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)=2n1XXWF2,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)+λW1,

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,
满足

  1. h ( W ) = 0 h(W)= 0 h(W)=0当且仅当 A ( W ) ∈ D \mathcal{A}(W) \in \mathbb{D} A(W)D;
  2. h ( W ) h(W) h(W)越小, 说明 A ( W ) \mathcal{A}(W) A(W)越接近无环图;
  3. h ( W ) h(W) h(W)是一个光滑函数;
  4. 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(IW)1=d

Proposition 1: 假设 W ∈ R + d × d W \in \mathbb{R}_+^{d \times d} WR+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(IW)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)=0tr(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(IW)1=tr(k=0Wk)=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(IW)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} WR+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} WR+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,,dtr(Wk),k1.
假设 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=0dβ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=0d1βkWkWd+1=k=1dβkWk+1tr(Wd+1)=k=1dβktr(Wk+1)=0.
由归纳假设可知结论成立.

Corollary 1: 假设 W ∈ R + d × d W \in \mathbb{R}_+^{d \times d} WR+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(eWW)=d

注: ∘ \circ 表示哈达玛积, 即对应元素相乘.

上面依然要求 W W W各元素大于0, 一个好的办法是:

Theorem 1: 一个矩阵 W ∈ R d × d W \in \mathbb{R}^{d \times d} WRd×d, 则 A ( W ) \mathcal{A}(W) A(W) 能表示有向无环图当且仅当
t r ( e W ∘ W ) = d . \mathrm{tr}(e^{W \circ W}) =d. tr(eWW)=d.

proof:

A ( W ) = A ( W ∘ W ) \mathcal{A}(W)=\mathcal{A}(W \circ W) A(W)=A(WW).

t r ( I + W ∘ W ) d = d \mathrm{tr}(I + W \circ W)^d =d tr(I+WW)d=d

Theorem 2: 一个矩阵 W ∈ R d × d W \in \mathbb{R}^{d \times d} WRd×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+WW)d=d.

注: W ∘ W W \circ W WW前面加个系数也是没关系的.

性质的推导

故, 此时我们只需设置
h ( W ) = t r ( e W ∘ W ) − d h(W) = \mathrm{tr}(e^{W\circ W}) - d h(W)=tr(eWW)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(eWW)=tr(deWW)=tr(dk=1k!Mk)=k=1tr(k!dMk)=k=0tr(k!MkdM)=tr(eWWd(WW))=tr(eWW(2WdW))=tr(eWW2WTdW)

∇ h ( W ) = ( e W ∘ W ) T ∘ W . \nabla h(W) = (e^{W\circ W})^T \circ W. h(W)=(eWW)TW.

注: 其中 M = W ∘ W M =W \circ W M=WW.

求解

利用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)+λW1+2ρh(W)2+αh(W),

具体求解算法如下:

image-20210527202839747

代码

原文代码

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值