Ng I., Fang Z., Zhu S., Chen Z. and Wang J. Masked Gradient-Based Causal Structure Learning. arXiv preprint arXiv:1911.10500, 2019.

非线性, 自动地学习因果图.

主要内容

NOTEARS将有向无环图凝练成了易处理的条件, 本文将这种思想扩展至非线性的情况:

\[X_i = f_i(X_{\mathrm{pa}(i)}) + \epsilon_i,
\]

其中\(X_i\)是因果图的结点, \(X_{\mathrm{pa}(i)}\)是其父结点, \(\epsilon\)是无关的噪声.

上述等式等价于

\[X_i = f_i(A_i \circ X) + \epsilon_i,
\]

\(A_i\)是邻接矩阵\(A=[A_1|A_2|\cdots|A_d] \in \{0, 1\}^{d\times d}\)的第i列, \(A_{ij}=1\)表示结点\(X_i\)直接作用于\(X_j\).

所以本文的目标就可以转换为如何估计\(A\)(实际上有了\(A\)也就知道了因果图了). \(A\)应当满足的条件:

  1. \(A\) 能够表示有向无环图;
  2. \(X_i\) 和 \(f(A_i \circ X)\)必须接近, 比如用常见的
\[\|X_i - f(A_i \circ X)\|_2^2
\]

来度量.

直接处理非常麻烦, 首先对上面的问题进行放松, 等价于

\[X_i = f_i(W_i \circ X) + \epsilon_i,
\]

此时\(A = \mathcal{A}(W)\), 即

\[W_{ij} \not = 0 \rightarrow A_{ij} = 1;
W_{ij} = 0 \rightarrow A_{ij} = 0.
\]

本文更进一步, 令

\[W = g_{\tau}(U), \quad U \in \mathbb{R}^{d \times d}.
\]
\[[g_{\tau}(U)]_{ij} = \sigma((u_{ij} + g) / \tau) = \frac{1}{1 + \exp(-(u_{ij}+ (g_1 - g_0)) / \tau)},
\]

其中

\[g = g_1 - g_0, \: g_i \mathop{\sim}\limits^{i.i.d.} \mathrm{Gumbel}(0, 1).
\]

注: Gumbel.

此类操作能保证\(g_{\tau}(U) \in (0, 1)^{d\times d}\), 此时能够把\([g_{\tau}(U)]_{ij}\)看成是\(X_i\), \(X_j\)的关系的紧密型的度量, 在这种情况下

\[[g_{\tau}(U)]_{ij} \le \omega \Rightarrow A_{ij} = 0.
\]

或许会问, 为什么不用sigmoid而用一个这么麻烦的东西, 原因是当\(\tau\)足够小的时候(如本文取的0.2), \([g_{\tau}(U)]_{ij}\)非常接近\(0\)或者\(1\), 而用sigmoid, 作者发现这些值都接近0, 不能很好的模拟有向无环图, 故采用了这个方案.

接下来, 只需要满足

\[\mathbb{E}[\mathrm{tr}(e^{g_{\tau}(U)}) - d] = 0,
\]

即可保证\(g_{\tau}(U)\)能够代表有效无环图. 在实际中, 只需

\[\mathbb{E}[\mathrm{tr}(e^{g_{\tau}(U)}) - d] \le \xi.
\]

注: 期望是关于\(g\)的.

最终的目标

总结下来,

\[\min_{U, \theta} \quad \mathbb{E}_g[\frac{1}{2n} \sum_{k=1}^n \mathcal{L}(x^{(k)}, f(g_{\tau}, x^{(k)}; \theta))] \\
\mathrm{s.t.} \quad \mathbb{E}_g[\mathrm{tr}(e^{g_{\tau}(U)}) - d] \le \xi.
\]

注: \(\mathbb{E}\)是关于\(g\)的, \(n\)的观测数据的总数.

进一步地, 我们希望\(g_{\tau}\)是稀疏的, 故加上正则化项:

\[\min_{U, \theta} \quad \mathbb{E}_g[\frac{1}{2n} \sum_{k=1}^n \mathcal{L}(x^{(k)}, f(g_{\tau}, x^{(k)}; \theta)) + \lambda \|g_{\tau}(U)\|_1] \\
\mathrm{s.t.} \quad \mathbb{E}_g[\mathrm{tr}(e^{g_{\tau}(U)}) - d] \le \xi.
\]

利用augmented Lagrange multiplier, 可得

\[L_p(U, \phi, \alpha) =
\mathbb{E}_g[\frac{1}{2n} \sum_{k=1}^n \mathcal{L}(x^{(k)}, f(g_{\tau}, x^{(k)}; \theta)) + \lambda \|g_{\tau}(U)\|_1 + \alpha h(U)] + \frac{\rho}{2} (\mathbb{E}[h(U)])^2,
\]

其中\(h(U):= \mathrm{tr}(e^{g_{\tau}(U)}) - d\).

采用分布更新:

\[U^{t+1}, \theta^{t+1} = \arg \min_{U, \theta} L_{\rho^t}(U, \phi, \alpha^t); \\
\alpha^{t+1} = \alpha^t + \rho^t \mathbb{E}[h(U^{t+1})]; \\
\rho^{t+1} = \left \{
\begin{array}{ll}
\beta \rho^t, & \mathrm{if} \: \mathbb{E}[h(U^{t+1})] \ge \gamma \mathbb{E}[h(U^t)], \\
\rho^t, & \mathrm{otherwise}.
\end{array} \right .
\]

其中第一步使用Adam执行1000次迭代计算的.

文中还讨论了后处理的一些方法, 和\(A\)是否唯一.

代码

GES and PC

CAM

NOTEARS

DAG-GNN

GraN-DAG

Masked Gradient-Based Causal Structure Learning的更多相关文章

  1. FITTING A MODEL VIA CLOSED-FORM EQUATIONS VS. GRADIENT DESCENT VS STOCHASTIC GRADIENT DESCENT VS MINI-BATCH LEARNING. WHAT IS THE DIFFERENCE?

    FITTING A MODEL VIA CLOSED-FORM EQUATIONS VS. GRADIENT DESCENT VS STOCHASTIC GRADIENT DESCENT VS MIN ...

  2. 201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptors

    论文标题:Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptor ...

  3. Survey of single-target visual tracking methods based on online learning 翻译

    基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...

  4. DAG-GNN: DAG Structure Learning with Graph Neural Networks

    目录 概 主要内容 代码 Yu Y., Chen J., Gao T. and Yu M. DAG-GNN: DAG structure learning with graph neural netw ...

  5. DAGs with NO TEARS: Continuous Optimization for Structure Learning

    DAGs with NO TEARS: Continuous Optimization for Structure Learning 目录 DAGs with NO TEARS: Continuous ...

  6. 论文解读(SUBLIME)《Towards Unsupervised Deep Graph Structure Learning》

    论文信息 论文标题:Towards Unsupervised Deep Graph Structure Learning论文作者:Yixin Liu, Yu Zheng, Daokun Zhang, ...

  7. 论文翻译:2020_A Robust and Cascaded Acoustic Echo Cancellation Based on Deep Learning

    论文地址:https://indico2.conference4me.psnc.pl/event/35/contributions/3364/attachments/777/815/Thu-1-10- ...

  8. 机器学习 —— 概率图模型(Homework: Structure Learning)

    概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大.这周的作业本质上是data mining.从数据中学习PGM的结构和参数,完全使用数据驱动 —— No structure, No par ...

  9. Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解

    视频目标跟踪问题分析         视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...

随机推荐

  1. 22 SHELL 获取当前路径

    常见的一种误区,是使用 pwd 命令,该命令的作用是"print name of current/working directory",这才是此命令的真实含义,当前的工作目录,这里 ...

  2. 源码分析-Consumer

    消息消费概述 消息消费以组的模式开展,一个消费组内可以包含多个消费者,每一个消费者组可订阅多个主题,消费组之间有集群模式和广播模式两种消费模式. 集群模式,主题下的同一条消息只允许被其中一个消费者消费 ...

  3. Sharding-JDBC 实现水平分表

    1.搭建环 (1) 技术: SpringBoot2.2.1+ MyBatisPlus + Sharding-JDBC + Druid 连接池(2)创建 SpringBoot 工程

  4. [学习总结]2、android中的VelocityTracker(获得速率用的类)

    参考资料:http://blog.jrj.com.cn/4586793646,5298605a.html 感谢这位兄弟! android.view.VelocityTracker主要用跟踪触摸屏事件( ...

  5. clickhouse客户端使用

    测试初始化 clickhouse-client -m create database if not exists test; use test; drop table test; create tab ...

  6. vue-cli4脚手架搭建三

    组件传值 <script> import LunBo from "./LunBo"; export default { name: 'Home', components ...

  7. Can a C++ class have an object of self type?

    A class declaration can contain static object of self type,it can also have pointer to self type,but ...

  8. BigDecimal中要注意的一些事

    一.关于public BigDecimal(double val) BigDecimal中三个主要的构造函数 1 public BigDecimal(double val) 将double表示形式转换 ...

  9. SSM框架整合后使用pagehelper实现分页功能

    一.导入pagehelper-5.1.10.jar和jsqlparser-3.1.jar两个jar包 二.配置pagehelper 2.1 在mybatis配置文件中配置 <plugins> ...

  10. 使用jsp制作index,可以通过<c:if test==“管理员”>或<c:if test=="客户">来区别展示用户界面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ ta ...