A deep unrolled architecture to recover conditional independence graphs. A better alternative to BCD and other graphical lasso solvers.
Project description
uGLAD
Sparse graph recovery by optimizing deep unrolled networks. This work proposes uGLAD (Sparse graph recovery by optimizing deep unrolled networks. arxiv) which is a unsupervised version of a previous GLAD model (GLAD: Learning Sparse Graph Recovery (ICLR 2020 - link).
Talk
https://www.youtube.com/watch?v=Mx9VSQJACsA
Key benefits & features:
- Solution to Graphical Lasso: A better alternative to solve the Graphical Lasso problem as
- The neural networks of the uGLAD enable adaptive choices of the hyperparameters which leads to better performance than the existing algorithms
- No need to pre-specify the sparsity related regularization hyperparameters
- Requires less number of iterations to converge due to neural network based acceleration of the unrolled optimization algorithm (Alternating Minimization)
- GPU based acceleration can be leveraged
- Novel
consensusstrategy which robustly handles missing values by leveraging the multi-task learning ability of the model - Multi-task learning mode that solves the graphical lasso objective to recover multiple graphs with a single
uGLADmodel
- Glasso loss function: The loss is the logdet objective of the graphical lasso
1/M(-1*log|theta|+ <S, theta>), whereM=num_samples, S=input covariance matrix, theta=predicted precision matrix. - Ease of usability: Matches the I/O signature of
sklearn GraphicalLassoCV, so easy to plug-in to the existing code.
uGLAD architecture: Unrolled deep model
Setup
Users
pip install uglad
Developers
The setup.sh file contains the complete procedure of creating a conda environment to run uGLAD model.
bash setup.sh
demo-uGLAD notebook
A minimalist working example of uGLAD is given in examples/demo-uGLAD.ipynb notebook. It is a good entry point to understand the code structure as well as the uGLAD model.
Citation
If you find this method useful, kindly cite the following 2 associated papers:
-
uGLAD: Sparse graph recovery by optimizing deep unrolled networks. arxiv
@inproceedings{
shrivastava2022a,
title={A deep learning approach to recover conditional independence graphs},
author={Harsh Shrivastava and Urszula Chajewska and Robin Abraham and Xinshi Chen},
booktitle={NeurIPS 2022 Workshop: New Frontiers in Graph Learning},
year={2022},
url={https://openreview.net/forum?id=kEwzoI3Am4c}
} -
GLAD:
@article{shrivastava2019glad,
title={GLAD: Learning sparse graph recovery},
author={Shrivastava, Harsh and Chen, Xinshi and Chen, Binghong and Lan, Guanghui and Aluru, Srinvas and Liu, Han and Song, Le},
journal={arXiv preprint arXiv:1906.00271},
year={2019}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uglad-2.0.0.tar.gz.
File metadata
- Download URL: uglad-2.0.0.tar.gz
- Upload date:
- Size: 317.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f075020716b48b2750222c4419b2d00915aec7a68eda200fd6cc71a1f2bbb9c5
|
|
| MD5 |
092c30c1588ddabfac626f691cd4e2b7
|
|
| BLAKE2b-256 |
9f900e1ba2d7889fca8b5f224b9b520b5859db8bb259fafb2719f1785d7a47e7
|
File details
Details for the file uglad-2.0.0-py3-none-any.whl.
File metadata
- Download URL: uglad-2.0.0-py3-none-any.whl
- Upload date:
- Size: 31.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75f75fd9c1497d79393c2cdd6234d9bb306678d5583cbcb061dc922570c71272
|
|
| MD5 |
53f376361c2c63245220926e9261631f
|
|
| BLAKE2b-256 |
4439a09bb5882597436e70ac6dd521af66216d8f2afe050a369ecee3a26571ce
|