Masked Gradient-Based Causal Structure Learning
概
非线性, 自动地学习因果图.
主要内容
NOTEARS将有向无环图凝练成了易处理的条件, 本文将这种思想扩展至非线性的情况:
\]
其中\(X_i\)是因果图的结点, \(X_{\mathrm{pa}(i)}\)是其父结点, \(\epsilon\)是无关的噪声.
上述等式等价于
\]
\(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\)应当满足的条件:
- \(A\) 能够表示有向无环图;
- \(X_i\) 和 \(f(A_i \circ X)\)必须接近, 比如用常见的
\]
来度量.
直接处理非常麻烦, 首先对上面的问题进行放松, 等价于
\]
此时\(A = \mathcal{A}(W)\), 即
W_{ij} = 0 \rightarrow A_{ij} = 0.
\]
本文更进一步, 令
\]
\]
其中
\]
注: Gumbel.
此类操作能保证\(g_{\tau}(U) \in (0, 1)^{d\times d}\), 此时能够把\([g_{\tau}(U)]_{ij}\)看成是\(X_i\), \(X_j\)的关系的紧密型的度量, 在这种情况下
\]
或许会问, 为什么不用sigmoid而用一个这么麻烦的东西, 原因是当\(\tau\)足够小的时候(如本文取的0.2), \([g_{\tau}(U)]_{ij}\)非常接近\(0\)或者\(1\), 而用sigmoid, 作者发现这些值都接近0, 不能很好的模拟有向无环图, 故采用了这个方案.
接下来, 只需要满足
\]
即可保证\(g_{\tau}(U)\)能够代表有效无环图. 在实际中, 只需
\]
注: 期望是关于\(g\)的.
最终的目标
总结下来,
\mathrm{s.t.} \quad \mathbb{E}_g[\mathrm{tr}(e^{g_{\tau}(U)}) - d] \le \xi.
\]
注: \(\mathbb{E}\)是关于\(g\)的, \(n\)的观测数据的总数.
进一步地, 我们希望\(g_{\tau}\)是稀疏的, 故加上正则化项:
\mathrm{s.t.} \quad \mathbb{E}_g[\mathrm{tr}(e^{g_{\tau}(U)}) - d] \le \xi.
\]
利用augmented Lagrange multiplier, 可得
\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\).
采用分布更新:
\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\)是否唯一.
代码
Masked Gradient-Based Causal Structure Learning的更多相关文章
- 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 ...
- 201904Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptors
论文标题:Online Human Action Recognition Based on Incremental Learning of Weighted Covariance Descriptor ...
- Survey of single-target visual tracking methods based on online learning 翻译
基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...
- 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 ...
- DAGs with NO TEARS: Continuous Optimization for Structure Learning
DAGs with NO TEARS: Continuous Optimization for Structure Learning 目录 DAGs with NO TEARS: Continuous ...
- 论文解读(SUBLIME)《Towards Unsupervised Deep Graph Structure Learning》
论文信息 论文标题:Towards Unsupervised Deep Graph Structure Learning论文作者:Yixin Liu, Yu Zheng, Daokun Zhang, ...
- 论文翻译: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- ...
- 机器学习 —— 概率图模型(Homework: Structure Learning)
概率图的学习真的要接近尾声了啊,了解的越多越发感受到它的强大.这周的作业本质上是data mining.从数据中学习PGM的结构和参数,完全使用数据驱动 —— No structure, No par ...
- Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解
视频目标跟踪问题分析 视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...
随机推荐
- 学习java的第二十八天
一.今日收获 1.java完全学习手册第三章算法的3.2排序,比较了跟c语言排序上的不同 2.观看哔哩哔哩上的教学视频 二.今日问题 1.快速排序法的运行调试多次 2.哔哩哔哩教学视频的一些术语不太理 ...
- 学习java 6.29
今天是学习Java的第一天. 学习内容:了解了JDK的下载和安装: 学会了如何配置Path环境变量及安装eclipse: 执行了HelloWorld案例: 在Java中关键字需要小写,Java中最基本 ...
- 我在项目中是这样配置Vue的
启用压缩,让页面加载更快 在我们开发的时候,为了方便调试,我们需要使用源码进行调试,但在生产环境,我们追求的更多的是加载更快,体验更好,这时候我们会将代码中的空格注释去掉,对代码进行混淆压缩,只为了让 ...
- Oracle数据库导入与导出方法简述
说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问 ...
- java加密方式
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- Mysql中replace与replace into的用法讲解
Mysql replace与replace into都是经常会用到的功能:replace其实是做了一次update操作,而不是先delete再insert:而replace into其实与insert ...
- 使用IDEA整合spring4+spring mvc+hibernate
配置文件 spring-mvc.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans x ...
- Gitlab-CICD实践篇
一.背景 随着公司项目使用gitlab越来越多,业务发布的次数越来越频繁,对于发布效率提出了更高的要求.从2012开始,Gitlab官方开始集成了Continuous Integration (CI) ...
- 《转》谈谈基于Kerberos的Windows Network Authentication
http://www.cnblogs.com/artech/archive/2007/07/05/807492.html 基本原理引入Key Distribution: KServer-Client从 ...
- [BUUCTF]REVERSE——[2019红帽杯]easyRE
[2019红帽杯]easyRE 附件 步骤: ida载入,没有main函数,就先检索了程序里的字符串 发现了base64加密的特征字符串,双击you found me跟进,找到了调用它的函数,函数很长 ...