ML IALGO LINREG: Difference between revisions

From VASP Wiki
No edit summary
Line 14: Line 14:


The following options are available to solve for <math>\mathbf{w}</math>:
The following options are available to solve for <math>\mathbf{w}</math>:
*{{TAG|ML_IALGO_LINREG}}=1: Bayesian linear regression (see [[Machine learning force field: Theory#Bayesian error estimation|here]]). Recommended for {{TAG|NSW}}<math>\ge</math>1. Usable with on-the-fly learning ({{TAG|ML_ISTART}}=0,1,3).
*{{TAG|ML_IALGO_LINREG}}=1: Bayesian linear regression (see [[Machine learning force field: Theory#Bayesian error estimation|here]]). Recommended for {{TAG|NSW}}<math>\ge</math>1. Usable with {{TAG|ML_MODE}} = ''TRAIN'', ''SELECT'', and ''REFITBAYESIAN''.
*{{TAG|ML_IALGO_LINREG}}=2: QR factorization. Usable with {{TAG|NSW}}=0 and {{TAG|ML_ISTART}}=1.
*{{TAG|ML_IALGO_LINREG}}=2: QR factorization. Usable with {{TAG|ML_MODE]] = ''REFIT'' and ''REFITBAYESIAN''.
*{{TAG|ML_IALGO_LINREG}}=3: Singular value decomposition. Usable with {{TAG|NSW}}=0 and {{TAG|ML_ISTART}}=1.
*{{TAG|ML_IALGO_LINREG}}=3: Singular value decomposition. Usable with {{TAG|ML_MODE]] = ''REFIT'' and ''REFITBAYESIAN''.
*{{TAG|ML_IALGO_LINREG}}=4: Singular value decomposition with Tikhonov regularization. Usable with {{TAG|NSW}}=0 and {{TAG|ML_ISTART}}=1.
*{{TAG|ML_IALGO_LINREG}}=4: Singular value decomposition with Tikhonov regularization. Usable with {{TAG|ML_MODE]] = ''REFIT'' and ''REFITBAYESIAN''.


For on the fly learning, it is strictly necessary to use Bayesian regression ({{TAG|ML_IALGO_LINREG}}=1), since uncertainty estimates are only available for Bayesian regression.  
For on the fly learning, it is strictly necessary to use Bayesian regression ({{TAG|ML_IALGO_LINREG}}=1), since uncertainty estimates are only available for Bayesian regression.  

Revision as of 08:26, 29 March 2023

ML_IALGO_LINREG = [integer]
Default: ML_IALGO_LINREG = 1 

Description: This tag determines the algorithm that is employed to solve the system of linear equations in the ridge regression method for machine learning.


In the ridge regression method for machine learning one needs to solve for the unknown weights minimizing

For more details please see here.

The following options are available to solve for :

  • ML_IALGO_LINREG=1: Bayesian linear regression (see here). Recommended for NSW1. Usable with ML_MODE = TRAIN, SELECT, and REFITBAYESIAN.
  • ML_IALGO_LINREG=2: QR factorization. Usable with {{TAG|ML_MODE]] = REFIT and REFITBAYESIAN.
  • ML_IALGO_LINREG=3: Singular value decomposition. Usable with {{TAG|ML_MODE]] = REFIT and REFITBAYESIAN.
  • ML_IALGO_LINREG=4: Singular value decomposition with Tikhonov regularization. Usable with {{TAG|ML_MODE]] = REFIT and REFITBAYESIAN.

For on the fly learning, it is strictly necessary to use Bayesian regression (ML_IALGO_LINREG=1), since uncertainty estimates are only available for Bayesian regression.

All other methods are used to read an existing ML_AB data base file (ML_ISTART=1) and create a final ML_FFN force field file (postprocessing). During on the fly training, the database ML_ABN file is created, and before postprocessing the user needs to copy the ML_ABN file to the ML_AB file. Among the postprocessing methods, ML_IALGO_LINREG=3 is the best tested approach and we use it routinely before employing a machine learned force field. It should be also noted that this postprocessing step is computationally somewhat more demanding than the Bayesian linear regression, but typically this post processing step still requires between a few minutes and an hour. So usually the extra cost is negligible compared to the original training.

A description how to choose the right algorithm for accurate force fields is given here.

Related tags and articles

ML_LMLFF, ML_W1, ML_WTOTEN, ML_WTIFOR, ML_WTSIF, ML_ISTART

Examples that use this tag