Online Nonnegative Matrix/Tensor Factorization algorithms with applications in dictionary learning for image and network data.
For network dictionary learning experiments, we recommend to look at an alternative repository NDL_paper associated with the more recent paper
Hanbaek Lyu, Yacoub Kureh, Joshua Vendrow, and Mason A. Porter,
"Learning low-rank latent mesoscale structures in networks" (arXiv 2021)
These codes are based on my papers below:
- Hanbaek Lyu, Deanna Needell, and Laura Balzano, “Online matrix factorization for markovian data and applications to network dictionary learning.” Journal of Machine Learning Research. 21(251):1−49, 2020 (Preprint, Journal)
- Hanbaek Lyu, Facundo Memoli, and David Sivakoff, “Sampling random graph homomorphisms and applications to network data analysis.” https://arxiv.org/abs/1910.09483
- onmf.py : Online Nonnegative Matrix Factorization algorithm
- ontf.py : Online Nonnegative Tensor Factorization algorithm (Matricization + ONMF. For a proper CP-decomposition, see OCPDL)
- image_reconstruction.py : Dictionary learning / Image reconstruction based on onmf.py
- image_reconstruction_tensor.py : Dictionary learning / reconstruction for color images based on ontf.py
- network_reconstruction_nx.py : Network Dictionary Learning proposed in reference [1] for networkx format
- ising_simulator.py : Gibbs sampler for the 2-dimensional Ising model
- ising_reconstruction.py : Dictionary learning / reconstruction from MCMC trajectory of Ising spin configurations
- Hanbaek Lyu - Initial work - Website
This project is licensed under the MIT License - see the LICENSE.md file for details
- My REU students Nick Hanoian and Henry Sojico for polishing up onmf.py and image_reconstruction.py