Awesome
Causal DA - Few-shot domain adaptation by causal mechanism transfer
Introduction
How can we use the causal knowledge obtained by causal discovery to improve machine learning? Are causal discovery methods beneficial for machine learning tasks?
-
Causal mechanism transfer <sup>1</sup> Domain adaptation among systems sharing the same causal mechanism can be performed by estimating the structural equations (reduced-form equations; estimated by nonlinear ICA).
<div align="center"> <img src="./docs_src/figs/schema_problem_setup.png" alt="Problem setup schema" width="50%"/> </div>- Theoretically well-grounded domain adaptation (generalization error bound without the partial-distribution-shift assumption).
- Intuitively accessible transfer assumption: if the data come from the same causal mechanism, information can be transferred.
- Method to directly leverage the estimated structural equations: via data augmentation.
Requirements
- Python 3.6+
- See requirements.txt for the others.
Install
$ pip install git+https://github.com/takeshi-teshima/few-shot-domain-adaptation-by-causal-mechanism-transfer
$ pip install -r experiments/icml2020/requirements.txt
# To reproduce the experiments of our ICML2020 paper:
$ pip install -r experiments/icml2020/requirements.txt
OR clone this repository and run
$ pip install .
and the package will be installed under the name of causal-da
(the module name will be causal_da
).
Usage
Experiments
See experiments/icml2020/README.md.
License
This project is licensed under the terms of the Apache 2.0 license.
References
<!-- This header title is used as an anchor tag somewhere else in this README.md -->If you use the code in your project, please consider citing:
[1] Teshima, T., Sato, I., & Sugiyama, M. (2020). Few-shot domain adaptation by causal mechanism transfer (ICML 2020).
@inproceedings{Teshima2020Fewshot,
author = {Teshima, Takeshi and Sato, Issei and Sugiyama, Masashi},
booktitle = {Proceedings of the 37th International Conference on Machine Learning},
title = {Few-shot domain adaptation by causal mechanism transfer},
year = {2020}
}
Problems?
- If you encounter any problem using the code in this repository or have suggestions for improvements, please do us a favor by ticketing an issue!
Notes
- In case you encounter any issues regarding the requirements,
a full list of the installed packages in a working environment can be found at requirements-full.txt (the output of
$ pip freeze
). - The code released along with the paper [1] will be preserved in the branch
icml2020
.