Skip to content

Commit 4bcfcac

Browse files
Merge pull request #90 from scikit-learn-contrib/joss-feedback
♻️ editorial edits JOSS paper
2 parents 3ac5800 + e46bded commit 4bcfcac

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

paper/paper.bib

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ @misc{jax2018github
7979
}
8080

8181
@article{robnik2023microcanonical,
82-
title={Microcanonical Hamiltonian Monte Carlo},
82+
title={{Microcanonical Hamiltonian Monte Carlo}},
8383
author={Robnik, Jakob and De Luca, G Bruno and Silverstein, Eva and Seljak, Uro{\v{s}}},
8484
journal={The Journal of Machine Learning Research},
8585
volume={24},
@@ -90,7 +90,7 @@ @article{robnik2023microcanonical
9090
}
9191

9292
@inproceedings{robnik2024fluctuation,
93-
title={Fluctuation without dissipation: Microcanonical Langevin Monte Carlo},
93+
title={{Fluctuation without dissipation: Microcanonical Langevin Monte Carlo}},
9494
author={Robnik, Jakob and Seljak, Uro{\v{s}}},
9595
booktitle={Symposium on Advances in Approximate Bayesian Inference},
9696
pages={111--126},

paper/paper.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ bibliography: paper.bib
4040

4141
# Summary
4242

43-
`bde` is a Python package designed to bring state-of-the-art sampling-based Bayesian Deep Learning (BDL) to practitioners and researchers. The package combines the speed and high-performance capabilities of JAX and `blackjax` [@jax2018github; @cabezas2024blackjax] with the user-friendly API of scikit-learn [@scikit-learn]. It targets tabular supervised learning tasks, including distributional regression and (multi-class) classification, providing a seamless interface for Bayesian Deep Ensembles (BDEs) [@sommer2024connecting] specifically implementing **Microcanonical Langevin Ensembles (MILE)** [@sommer2025mile].
43+
`bde` is a Python package designed to bring state-of-the-art sampling-based Bayesian Deep Learning (BDL) to practitioners and researchers. The package combines the speed and high-performance capabilities of JAX [@jax2018github] and `blackjax` [@cabezas2024blackjax] with the user-friendly API of scikit-learn [@scikit-learn]. It targets tabular supervised learning tasks, including distributional regression and (multi-class) classification, providing a seamless interface for Bayesian Deep Ensembles (BDEs) [@sommer2024connecting] specifically implementing **Microcanonical Langevin Ensembles (MILE)** [@sommer2025mile].
4444

45-
The workflow of `bde` implements the two-stage BDE inference process of MILE. First, it optimizes `n_members` independent instances of a flexibly configurable feed-forward neural network using regularized empirical risk minimization (with the negative log-likelihood as loss) via the AdamW optimizer [@loshchilov2018decoupled]. Second, it transitions to a sampling phase using Microcanonical Langevin Monte Carlo [@robnik2023microcanonical; @robnik2024fluctuation], enhanced with a tuning phase adapted for Bayesian Neural Networks. This combination is referred to as MILE [@sommer2025mile]. In essence, the optimization of the ensemble of neural networks first finds diverse high-likelihood modes, from which sampling then explores local posterior structure. This process generates an ensemble of samples (models) that constitute an implicit posterior approximation.
45+
The workflow of `bde` implements the two-stage BDE inference process of MILE. First, it optimizes `n_members` independent instances of a flexibly configurable feed-forward neural network using regularized empirical risk minimization (with the negative log-likelihood as loss) via the AdamW optimizer [@loshchilov2018decoupled]. Second, it transitions to a sampling phase using Microcanonical Langevin Monte Carlo [@robnik2023microcanonical; @robnik2024fluctuation], enhanced with a tuning phase adapted for Bayesian neural networks. This combination is referred to as MILE [@sommer2025mile]. In essence, the optimization of the ensemble of neural networks first finds diverse high-likelihood modes, from which sampling then explores local posterior structure. This process generates an ensemble of samples (models) that constitute an implicit posterior approximation.
4646

4747
# Software design
4848

4949
Because optimization and sampling across ensemble members are independent, `bde` exploits JAX’s parallelization and just-in-time compilation to scale efficiently across CPUs, GPUs, and TPUs. Given new test data, the package approximates the posterior predictive, enabling point predictions, credible intervals, coverage estimates, and other uncertainty metrics through a unified interface.
50-
Further, this work currently targets the well-studied and empirically validated full-batch, fully connected-network setting for tabular data also studied in MILE [@sommer2025mile]. This makes it particularly suitable for the chosen scikit-learn framework. Stochastic-gradient variants such as SMILE [@sommer2026smile] require different algorithmic and software design choices, yet will be considered for future extensions.
50+
Further, this work currently targets the well-studied and empirically validated full-batch, fully-connected network setting for tabular data also studied in MILE [@sommer2025mile]. This makes it particularly suitable for the chosen scikit-learn framework. Stochastic-gradient variants such as SMILE [@sommer2026smile] require different algorithmic and software design choices, yet will be considered for future extensions.
5151

5252
# State of the field
5353

@@ -124,6 +124,6 @@ All models used 10 CPU cores without additional tuning. For BDE, we generated 10
124124

125125
# AI usage disclosure
126126

127-
Generative AI was used via GitHub Copilot for local, line- or block-level code autocompletion during software development, using the Claude Sonnet 3.7 and 4 models. Codex was additionally used to assist with the initial draft of the package documentation and minor refactors to ensure compatibility with the `scikit-learn` API. No AI tools were used for ideation, architectural or design decisions, code review, or testing strategy. All AI-generated suggestions were critically reviewed, modified where necessary, and fully validated by the authors, who retain complete responsibility.
127+
Generative AI was used via GitHub Copilot for local, line- or block-level code autocompletion during software development, using the Claude Sonnet 3.7 and 4 models. Codex (`codex-1`) was additionally used to assist with the initial draft of the package documentation and minor refactors to ensure compatibility with the `scikit-learn` API. No AI tools were used for ideation, architectural or design decisions, code review, or testing strategy. All AI-generated suggestions were critically reviewed, modified where necessary, and fully validated by the authors, who retain complete responsibility.
128128

129129
# References

0 commit comments

Comments
 (0)