Implementation of the Emulator-based Component Analysis
arXiv:2312.12967 · doi:10.1016/j.jocs.2024.102437
Abstract
We present a PyTorch-powered implementation of the emulator-based component analysis used for ill-posed numerical non-linear inverse problems, where an approximate emulator for the forward problem is known. This emulator may be a numerical model, an interpolating function, or a fitting function such as a neural network. With the help of the emulator and a data set, the method seeks dimensionality reduction by projection in the variable space so that maximal variance of the target (response) values of the data is covered. The obtained basis set for projection in the variable space defines a subspace of the greatest response for the outcome of the forward problem. The method allows for the reconstruction of the coordinates in this subspace for an approximate solution to the inverse problem. We present an example of using the code provided as a Python class.
References in corpus (9)
- Adam: A Method for Stochastic Optimization
- Scikit-learn: Machine Learning in Python
- SciPy 1.0--Fundamental Algorithms for Scientific Computing in Python
- DScribe: Library of Descriptors for Machine Learning in Materials Science
- Unified Representation of Molecules and Crystals for Machine Learning
- Towards Structural Reconstruction from X-Ray Spectra
- Emulator-based Decomposition for Structural Sensitivity of Core-level Spectra
- Information Bottleneck in Peptide Conformation Determination by X-ray Absorption Spectroscopy
- Structural Descriptors and Information Extraction from X-ray Emission Spectra: Aqueous Sulfuric Acid