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 1 Domain adaptation among systems sharing the same causal mechanism can be performed by estimating the structural equations (reduced-form equations; estimated by nonlinear ICA).
- 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.
- Python 3.6+
- See requirements.txt for the others.
$ 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
).
See experiments/icml2020/README.md.
This project is licensed under the terms of the Apache 2.0 license.
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}
}
- 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!
- 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
.