Nonlinear independent component analysis (ICA) based on the Donsker-Varadhan representation
A nonlinear ICA method based on the Donsker-Varadhan representation (Section 5.1.2 in [1]).
Python implementation: NICA.zip
My python implementation is based on an implementation of permutation contrastive learning shared by Dr. Hiroshi Morioka. I appreciate that he shared it.
This implementation could be used to perform nonlinear ICA with auxiliary variables [2].
References:
[1] Hiroaki Sasaki and Takashi Takenouchi, "Representation learning for maximization of MI, nonlinear ICA and nonlinear subspaces with robust density ratio estimation", Journal of Machine Learning Research, to appear.
[2] Aapo Hyvärinen, Hiroaki Sasaki and Richard E. Turner, "Nonlinear ICA Using Auxiliary Variables and Generalized Contrastive Learning", the 22th International Conference on Artificial Intelligence and Statistics (AISTATS), Proceedings of Machine Learning Research, vol.89, pp.859-868.