Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jaydu1/ood-ridge
Optimal Ridge Regularization for Out-of-Distribution Prediction
https://github.com/jaydu1/ood-ridge
Last synced: about 1 month ago
JSON representation
Optimal Ridge Regularization for Out-of-Distribution Prediction
- Host: GitHub
- URL: https://github.com/jaydu1/ood-ridge
- Owner: jaydu1
- License: mit
- Created: 2024-03-31T03:30:14.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-03-31T13:15:50.000Z (8 months ago)
- Last Synced: 2024-04-01T04:24:54.038Z (8 months ago)
- Language: Jupyter Notebook
- Homepage:
- Size: 472 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Optimal Ridge Regularization for Out-of-Distribution Prediction
This repository contains code for reproducing results in the paper *Optimal Ridge Regularization for Out-of-Distribution Prediction*.
## Scripts
The following files are included in this repository:
- Util functions:
- `generate_data.py`: A Python script that generates the data set.
- `compute_risk.py`: A Python script that computes the empirical and theoretical risks of ridge predictor and ensembles.
- `fixed_point_sol.py`: A Python script that computes the fixed-point solutions in $(\lambda,\phi)$.
- Ex1
- `ex1_equiv_lam_min.py`: compute the minimum feasible $\lambda$.
- `ex1_opt_ridge.py`: compute the in-distribution risk of ridge predictors.
- `ex1_opt_ridge_ood.py`: compute the OOD risk of ridge predictors.
- Ex2
- `ex2_MNIST.py`: compute the OOD risk with distribution shifts on MNIST datasets.
- Ex3
- `ex3_mono.py`: compute the ridge risk at different values of $\lambda$.
- `ex3_MNIST.py`: compute the OOD risk at different values of $\lambda$ on MNIST datasets.
- Ex4
- `ex4_equiv_v.py`: compute the fixed-point solutions in $(\lambda,\phi)$.
- `ex4_equiv_risk.py`: compute the risks of ridge predictors in $(\lambda,\phi)$.
- Ex5: Figure F8
- `ex5_theory_ridge_opt.py`: theoretical risk of ridge predictors.
- `ex5_theory_ridgeless.py`: theoretical risk of full-ensemble ridgeless predictors.
- Visualization:
- `Plot.ipynb`: A Jupyter notebook that visualizes the results.## Computation details
All the experiments are run on Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-72-generic x86_64) using 12 cores.
The estimated time to run all experiments is roughly less than 2 hours for each script.