Joint Gaussian Graphical Model Estimation: A Survey

Overview

Joint Gaussian Graphical Model Estimation: A Survey

Test Models

  1. Fused graphical lasso [1]
  2. Group graphical lasso [1]
  3. Graphical lasso [1]
  4. Doubly joint spike-and-slab graphical lasso [2]

Installation

  1. Anaconda Environment package:
conda env create -f environment.yml
conda activate r_env2  #activate environment
  1. Install R packages
Rscript install_packages.R

Run Examples

Jupyter notebook

Saveral examples of data generation processes as well as sample codes are in the folder ./examples/jupyter_notebook

Plot ROC curve

Sample code for data generation process 1 (DGP1). The instruction for running DGP2_roc.r is the same.

cd examples/roc
### Generate simulated data, the result will be stored in ./data 
Rscript DGP1_roc.r DG [DATA DIMENSION]

### Select one of the refularization method FGL/GGL/GL. The result will be stored in ./results
Rscript DGP1_roc.r [ACTION: FGL/DGL/GL] [DATA DIMENSION]

###visualization
Rscript DGP1_roc_visualization.r
Other examples

Please check the structure tree below for more details.

Structure

├── examples
│   ├── jupyter_notebook
|   |   ├── simple_example_block.ipynb
|   |   ├── simple_example_scalefree.ipynb
|   |   ├── simple_example_ssjgl.ipynb
│   │   └── simple_example.ipynb
│   │
│   ├── roc # run & visualize ROC curve
|   |   ├── DGP1_roc_visualization.r #visualization|   ├── DGP1_roc.r # roc curve on scalefree network, common structures share same inverse convarince matrix (data generation process 1)
|   |   |                
|   |   ├── DGP2_roc_visualization.r #visualization
|   |   ├── DGP2_roc.r # roc curve on scalefree network, common structures have different inverse convarince matrices (data generation process 2)
|   |   |                    
|   |   ├── simple_roc_vis.r # visualization
|   |   └── simple_roc.r # roc curve on ramdom network
|   | 
|   ├── joint_demo.r # beautiful result on random network (Erdos-Renyi graph)            
│   ├── loss_graphsize_npAIC.r #fix p, vary n            
│   ├── loss_smallgraphsize.r #fix n, vary n             
│   ├── oos_scalefree.r # out-of-sample likelihood on scalefree network.              
│   ├── oos.r # out-of-sample likelihood on random network      
|   ├── scalefree_AIC.r # model selection on scalefree network using AIC, tune the trucation value                
|   ├── scalefree_BIC.r # model selection on scalefree network using BIC, tune the trucation value               
|   ├── simple_example_ar.r # example on AR network: model selction, fnr,fpr, Frobenious loss, etropy loss                      
|   └── simple_example_scalefree.r # example on scalefree network: model selction, fnr,fpr, Frobenious loss, etropy loss
|                          
├── R #source file
|   ├── admm.iters.R
|   ├── display.R
|   ├── eval.R
|   ├── gen_data.R
|   ├── gete.R
|   ├── JGL.R
|   ├── metrics.R
|   └── SSJGL.R
|   
├── environment.yml
├── install_packages.R
├── README.md
└── .gitignore

References

[1] Danaher, P., Wang, P., & Witten, D. M. (2014). The joint graphical lasso for inverse covariance estimation across multiple classes. Journal of the Royal Statistical Society. Series B, Statistical methodology, 76(2), 373.

[2] Zehang Richard Li, Tyler H. McCormick, and Samuel J. Clark. "Bayesian joint spike-and-slab graphical lasso". International Conference on Machine Learning, 2019.

Owner
Koyejo Lab
Koyejo Lab @ UIUC
Koyejo Lab
ULMFiT for Genomic Sequence Data

Genomic ULMFiT This is an implementation of ULMFiT for genomics classification using Pytorch and Fastai. The model architecture used is based on the A

Karl 276 Dec 12, 2022
Object detection and instance segmentation toolkit based on PaddlePaddle.

Object detection and instance segmentation toolkit based on PaddlePaddle.

9.3k Jan 02, 2023
Code for "Modeling Indirect Illumination for Inverse Rendering", CVPR 2022

Modeling Indirect Illumination for Inverse Rendering Project Page | Paper | Data Preparation Set up the python environment conda create -n invrender p

ZJU3DV 116 Jan 03, 2023
An implementation of the "Attention is all you need" paper without extra bells and whistles, or difficult syntax

Simple Transformer An implementation of the "Attention is all you need" paper without extra bells and whistles, or difficult syntax. Note: The only ex

29 Jun 16, 2022
Reducing Information Bottleneck for Weakly Supervised Semantic Segmentation (NeurIPS 2021)

Reducing Information Bottleneck for Weakly Supervised Semantic Segmentation (NeurIPS 2021) The implementation of Reducing Infromation Bottleneck for W

Jungbeom Lee 81 Dec 16, 2022
clustimage is a python package for unsupervised clustering of images.

clustimage The aim of clustimage is to detect natural groups or clusters of images. Image recognition is a computer vision task for identifying and ve

Erdogan Taskesen 52 Jan 02, 2023
DIT is a DTLS MitM proxy implemented in Python 3. It can intercept, manipulate and suppress datagrams between two DTLS endpoints and supports psk-based and certificate-based authentication schemes (RSA + ECC).

DIT - DTLS Interception Tool DIT is a MitM proxy tool to intercept DTLS traffic. It can intercept, manipulate and/or suppress DTLS datagrams between t

52 Nov 30, 2022
Best Practices on Recommendation Systems

Recommenders What's New (February 4, 2021) We have a new relase Recommenders 2021.2! It comes with lots of bug fixes, optimizations and 3 new algorith

Microsoft 14.8k Jan 03, 2023
Bridging Composite and Real: Towards End-to-end Deep Image Matting

Bridging Composite and Real: Towards End-to-end Deep Image Matting Please note that the official repository of the paper Bridging Composite and Real:

Jizhizi_Li 30 Oct 31, 2022
DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.

Microsoft 8.4k Jan 01, 2023
SLAMP: Stochastic Latent Appearance and Motion Prediction

SLAMP: Stochastic Latent Appearance and Motion Prediction Official implementation of the paper SLAMP: Stochastic Latent Appearance and Motion Predicti

Kaan Akan 34 Dec 08, 2022
Unofficial PyTorch Implementation for HifiFace (https://arxiv.org/abs/2106.09965)

HifiFace — Unofficial Pytorch Implementation Image source: HifiFace: 3D Shape and Semantic Prior Guided High Fidelity Face Swapping (figure 1, pg. 1)

MINDs Lab 218 Jan 04, 2023
🇰🇷 Text to Image in Korean

KoDALLE Utilizing pretrained language model’s token embedding layer and position embedding layer as DALLE’s text encoder. Background Training DALLE mo

HappyFace 74 Sep 22, 2022
Extracting knowledge graphs from language models as a diagnostic benchmark of model performance.

Interpreting Language Models Through Knowledge Graph Extraction Idea: How do we interpret what a language model learns at various stages of training?

EPFL Machine Learning and Optimization Laboratory 9 Oct 25, 2022
Checking fibonacci - Generating the Fibonacci sequence is a classic recursive problem

Fibonaaci Series Generating the Fibonacci sequence is a classic recursive proble

Moureen Caroline O 1 Feb 15, 2022
Official Repository for Machine Learning class - Physics Without Frontiers 2021

PWF 2021 Física Sin Fronteras es un proyecto del Centro Internacional de Física Teórica (ICTP) en Trieste Italia. El ICTP es un centro dedicado a fome

36 Aug 06, 2022
Image Fusion Transformer

Image-Fusion-Transformer Platform Python 3.7 Pytorch =1.0 Training Dataset MS-COCO 2014 (T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ram

Vibashan VS 68 Dec 23, 2022
CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery

CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery This paper (CoANet) has been published in IEEE TIP 2021. This code i

Jie Mei 53 Dec 03, 2022
Fake News Detection Using Machine Learning Methods

Fake-News-Detection-Using-Machine-Learning-Methods Fake news is always a real and dangerous issue. However, with the presence and abundance of various

Achraf Safsafi 1 Jan 11, 2022
A simple software for capturing human body movements using the Kinect camera.

KinectMotionCapture A simple software for capturing human body movements using the Kinect camera. The software can seamlessly save joints and bones po

Aleksander Palkowski 5 Aug 13, 2022