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}
}
Metadata
Release files for uglad 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| uglad-2.0.0.tar.gz | 317.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| uglad-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 349.3 kB
Release files / uglad-2.0.0.tar.gz
| Download URL | uglad-2.0.0.tar.gz |
|---|---|
| Size | 317.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f075020716b48b2750222c4419b2d00915aec7a68eda200fd6cc71a1f2bbb9c5
|
|
BLAKE2b-256 checksum How to use checksums |
9f900e1ba2d7889fca8b5f224b9b520b5859db8bb259fafb2719f1785d7a47e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / uglad-2.0.0-py3-none-any.whl
| Download URL | uglad-2.0.0-py3-none-any.whl |
|---|---|
| Size | 31.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75f75fd9c1497d79393c2cdd6234d9bb306678d5583cbcb061dc922570c71272
|
|
BLAKE2b-256 checksum How to use checksums |
4439a09bb5882597436e70ac6dd521af66216d8f2afe050a369ecee3a26571ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|