Tensorflow package for building neural networks capable of frequentist inference and uncertainty estimation
Project description
Gaussian Ansatz (v0.0.1)
The Gaussian Ansatz
is a machine learning framework for performing frequentist inference, complete with local uncertainty estimation, as described in "Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413). These models can be used to quickly estimate local resolutions of an inference $z$ given a measurement $x$, even if $x$ is very high-dimensional.
Installation
From PyPI
In your Python environment run
python -m pip install GaussianAnsatz
From this repository locally
In your Python environment from the top level of this repository run
python -m pip install .
From GitHub
In your Python environment run
python -m pip install "GaussianAnsatz @ git+https://github.com/rikab/GaussianAnsatz.git"
Example Usage
For an example of how to use the Gaussian Ansatz, see the notebook examples/minimal_working_example.ipynb
. This notebook contains example code for loading data, using pre-built DNN Gaussian Ansatz, pre-training and training, and extracting inferences with uncertainty estimates.
Additional, more complicated examples can be found in the JEC
subfolder. The files here correspond exactly to the jet energy studies, as described in "Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413)
Dependencies
To use the Gaussian Ansatz
, the following packages must be installed as prerequisites:
- Tensorflow: A standard tensor operation library.
- Energyflow: A suite of particle physics tools, including Energy Flow Networks and Particle FLow Networks
- Standard python packages: numpy, scipy, matplotlib
Citation
If you use the Gaussian Ansatz
, please cite both the corresponding paper, "Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics"?:
@article{Gambhir:2022gua,
author = "Gambhir, Rikab and Nachman, Benjamin and Thaler, Jesse",
title = "{Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics}",
eprint = "2205.03413",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
reportNumber = "MIT-CTP 5431",
doi = "10.1103/PhysRevLett.129.082001",
journal = "Phys. Rev. Lett.",
volume = "129",
number = "8",
pages = "082001",
year = "2022"
}
Changelog
- v0.0.1: 17 April 2023. Now pip-installable!
- v0.0.0: 6 May 2022. Public release.
Based on the work in "Learning Uncertainties the Frequentist Way: Calibration and Correlation in High Energy Physics" (arxiv:2205.03413)
Bugs, Fixes, Ideas, or Questions? Contact me at rikab@mit.edu
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gaussianansatz-0.0.1.tar.gz
.
File metadata
- Download URL: gaussianansatz-0.0.1.tar.gz
- Upload date:
- Size: 12.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52117a78f32d9f6ac0e95dcbdc6a013191994adfe9d5274e000ae9e3f2db8d09 |
|
MD5 | b12e8c5efbc1a192abde6a70722edd0d |
|
BLAKE2b-256 | 41a54919677df37b3c17ba48812f2d76dcb200520f7358adc80237a96bd2297f |
File details
Details for the file gaussianansatz-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: gaussianansatz-0.0.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69d16b12718098556905081079647ad3550ddebe2dd7534f426a178d79330c9e |
|
MD5 | 571c33122b03f89555ea748912a2d2bc |
|
BLAKE2b-256 | 3054462faab8592fa9d9e30117a4fb100482847b919b071752b772a7efcfb26b |