Skip to main content

A Package for Atomistic Simulations with Machine Learning

Project description

Brief Introduction

A Package for Atomistic Simulations with Machine Learning

manual: http://mlatom.com/manual/
tutorial: http://mlatom.com/tutorial/

Tasks Performed by MLatom

A brief overview of MLatom capabilities (see above links for more up-to-date version). See sections below for more details.

Tasks

  • Estimating accuracy of ML models.
  • Creating ML model and saving it to a file.
  • Loading existing ML model from a file and performing ML calculations with this model.
  • ML-accelerated calculation of absorption spectra within nuclear ensemble approach
  • Learning curves
  • ML-two photon absorption

Data Set Operations

  • Converting XYZ coordinates into an input vector (molecular descriptor) for ML.
  • Sampling subsets from a data set.

Sampling

  • none: simply splitting the data set into the training, test, and, if necessary, training set into the subtraining and validation sets (in this order) without changing the order of indices.
  • random sampling.
  • user-defined: requests MLatom to read indices for the training, test, and, if necessary, for the subtraining and validation sets from files.
  • structure-based sampling
    • from unsliced and sliced data
  • farthest-point traversal iterative procedure , which starts from two points farthest apart.

ML Algorithm

Kernel ridge regression with the following kernels:

Hybrid QM/ML Approaches

Δ-machine learning .

Molecular Descriptors

ML models

The KREG (Kernel-ridge-regression using RE descriptor and the Gaussian kernel function ) model is the default ML method.

General-purpose ML models

Model Validation

ML model can be validated (generalization error can be estimated) in several ways:

  • on a hold-out test set not used for training. Both training and test sets can be sampled in one of the ways described above;
  • by performing N-fold cross-validation. User can define the number of folds N. If N is equal to the number of data points, leave-one-out cross-validation is performed. Only random or no sampling can be used for cross-validation.
  • by performing leave-one-out cross-validation (special case of N-fold cross-validation). MLatom prints out mean absolute error (MAE), mean signed error (MSE), root-mean-squared error (RMSE), mean values of reference and estimated values, largest positive and negative outliers, correlation coefficient and its squared value R2 as well as coefficients of linear regression and corresponding standard deviations.

Hyperparameter Tuning

Gaussian, Laplacian, and Matérn kernels have σ and λ tunable hyperparameters. MLatom can determine them by performing user-defined number of iterations of hyperparameter optimization on a logarithmic grid. User can adjust number of grid points, starting and finishing points on the grid. Hyperparameter are tuned to minimize either mean absolute error or root-mean-square error as defined by the user. Hyperparameters can be tuned to minimize

  • the error of the ML model trained on the subtraining set in a hold-out validation set. Both subtraining and validation sets are parts of the training set, which can be used at the end with optimal parameters for training the final ML model. These sets ideally should not overlap and can be sampled from the training set in one of the ways described above;
  • N-fold cross-validation error. User can define the number of folds N. If N is equal to the number of data points, leave-one-out cross-validation is performed. Only random or no sampling can be used for cross-validation.

Note that hyperparameter tuning can be performed together with model validation. This means that for example one can perform outer loop of the cross-validation for model validation and tune hyperparameters via inner loop of the cross-validation.

Apart from natively implemented logarithmic grid search for hyperparameters, MLatom also provides the interface to the hyperopt package implementing hyperparameter optimization using Bayesian methods with Tree-structured Parzen Estimator (TPE).

First Derivatives

MLatom can be also used to estimate first derivatives from an ML model. Two scenarios are possible:

  • partial derivatives are calculated for each dimension of given input vectors (analytical derivatives for Gaussian and Matern kernels);
  • first derivatives are calculated in XYZ coordinates for input files containing molecular XYZ coordinates (analytical derivatives for the RE and Coulomb matrix descriptors).
  • derivatives for interfaced models

UV/vis spectra

MLatom can significantly accelerate the calculation of cross-section with the Nuclear Ensemble Approach (NEA).

In brief, this feature uses fewer QC calculation to achieve higher precision and reduce computational cost. You can find more detail on this paper (please cite it when using this feature):

Bao-Xin Xue, Mario Barbatti, Pavlo O. Dral, Machine Learning for Absorption Cross Sections , J. Phys. Chem. A 2020, 124, 7199–7210. DOI: 10.1021/acs.jpca.0c05310.

Interfaces to 3rd-party software

MLatom also provides interfaces to some third-party software where extra ML model types are natively implemented. It allows users to access other popular ML model types within MLatom's workflow. Currently available third-party model types are:

About Program

MLatom: a Package for Atomistic Simulations with Machine Learning
Version 2.3.3 http://mlatom.com/

Copyright (c) 2013-2022 Pavlo O. Dral
http://dr-dral.com/

All rights reserved. This work is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International license. See LICENSE.CC-BY-NC-ND-4.0.
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.

Cite as:

  1. Pavlo O. Dral, J. Comput. Chem. 2019, 40, 2339-2347
  2. Pavlo O. Dral, Fuchun Ge, Bao-Xin Xue, Yi-Fan Hou, Max Pinheiro Jr, Jianxing Huang, Mario Barbatti, Top. Curr. Chem. 2021, 379, 27
  3. Pavlo O. Dral, Peikun Zheng, Bao-Xin Xue, Fuchun Ge, Yi-Fan Hou, Max Pinheiro Jr, Yuming Su, Yiheng Dai, Yangtao Chen, MLatom: A Package for Atomistic Simulations with Machine Learning, version 2.3.3, Xiamen University, Xiamen, China, 2013-2022.

License

This work is licensed under the Attribution-NonCommercial-NoDerivatives 4.0 International license. See LICENSE.CC-BY-NC-ND-4.0.

Creative Commons License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mlatom-3.0.0.tar.gz (51.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mlatom-3.0.0-py3-none-any.whl (51.3 MB view details)

Uploaded Python 3

File details

Details for the file mlatom-3.0.0.tar.gz.

File metadata

  • Download URL: mlatom-3.0.0.tar.gz
  • Upload date:
  • Size: 51.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for mlatom-3.0.0.tar.gz
Algorithm Hash digest
SHA256 81fae543e7d2f9f114274a7720316684a2c450c93b0e02dea1a0ead5c5565709
MD5 658c13174906a06700af8c16d38f8ada
BLAKE2b-256 28ee6552be49e0e04c4404ef31a28c19b83409c3d441273a1434e36efd50a57d

See more details on using hashes here.

File details

Details for the file mlatom-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: mlatom-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 51.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.17

File hashes

Hashes for mlatom-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a1ec60e9339270b180c041db7f21b6d57e1b8c08e8cefbf52aaa6ab3484d4b3
MD5 342d6b0e42d75a35c2ab59487a07b5d6
BLAKE2b-256 fd58e2ed7ed33bb007fbbeaf1aa04e0967033cec365fe6c5d76536b898e816c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page