How zoujiahuibin/admm-subsampling works
This repository implements distributed ADMM estimation with subsampling, parameterized for least-squares, cross-entropy, and Poisson losses. The principal workflow is to configure a loss, create a central and multiple noncentral nodes from data, select subsamples, iterate distributed coefficient updates, and record estimates and metrics. The excerpts show the coordinator/node update mechanics and some output handling; several simulation and reporting routines are only partially shown, so uncertain wiring is omitted.
Main entry points: ADMMSubsampling.py ADMM coordinator · ADMM_Simulation_ls.v2.py Least-squares setup · ADMM_Simulation_crossentropy.v2.py Cross-entropy setup · ADMM_Simulation_poi.v2.py Poisson setup
Components 15
Loss configurations
- Least-squares setup
ADMM_Simulation_ls.v2.py - Cross-entropy setup
ADMM_Simulation_crossentropy.v2.py - Poisson setup
ADMM_Simulation_poi.v2.py
Sampling workflow
- Subsample selection
ADMMSubsampling.py - Stage one
ADMMSubsampling.py - Stage two
ADMMSubsampling.py - Sampling methods
ADMMSubsampling.py
Distributed ADMM
- ADMM coordinator
ADMMSubsampling.py - Center node
ADMMSubsampling.py - Worker nodes
ADMMSubsampling.py
Results
- Coefficient estimates
- Run metrics
ADMMSubsampling.py - CSV outputs
Other components
- Researcher
- Input data
Connections 24
- Researcher → Least-squares setup: configures
- Researcher → Cross-entropy setup: configures
- Researcher → Poisson setup: configures
- Input data → ADMM coordinator: initializes nodes
- Least-squares setup → ADMM coordinator: sets loss derivatives
- Cross-entropy setup → ADMM coordinator: sets loss derivatives
- Poisson setup → ADMM coordinator: sets loss derivatives
- ADMM coordinator → Stage one: runs
- ADMM coordinator → Stage two: runs
- Stage one → Subsample selection: selects indices
- Stage two → Subsample selection: selects indices
- Subsample selection → Sampling methods: chooses method
- Stage one → Center node: sets sample
- Stage one → Worker nodes: sets sample
- Stage two → Center node: sets sample
- Stage two → Worker nodes: sets sample
- ADMM coordinator → Center node: coordinates updates
- ADMM coordinator → Worker nodes: dispatches updates
- Center node → Worker nodes: sends update data
- Worker nodes → Center node: returns products
- ADMM coordinator → Coefficient estimates: records coefficients
- ADMM coordinator → Run metrics: tracks runtime and cost
- ADMM coordinator → CSV outputs: writes estimates
- Run metrics → CSV outputs: writes summaries