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


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.