Open main menu

Wikipedia β

Hyperparameter (machine learning)

In machine learning, a hyperparameter is a parameter whose value is set before the learning process begins. By contrast, the values of other parameters are derived via training.

Different model training algorithms require different hyperparameters, some simple algorithms (such as ordinary least squares regression) require none. Given these hyperparameters, the training algorithm learns the parameters from the data. For instance, LASSO is an algorithm that adds a regularization hyperparameter to ordinary least squares regression, which has to be set before estimating the parameters through the training algorithm.

Contents

ConsiderationsEdit

The time required to train and test a model can depend upon the choice of its hyperparameters.[1] A hyperparameter is usually of continuous or integer type, leading to mixed-type optimization problems.[1] The existence of some hyperparameters is conditional upon the value of others, e.g. the size of each hidden layer in a neural network can be conditional upon the number of layers.[1]

TunabilityEdit

Most performance variation can be attributed to just a few hyperparameters.[2][1][3] The tunability of an algorithm, hyperparameter, or interacting hyperparameters is a measure of how much performance can be gained by tuning it.[4] For an LSTM, while the learning rate followed by the network size are its most crucial hyperparameters,[5] whereas batching and momentum have no significant effect on its performance.[6]

Although some research has advocated the use of mini-batch sizes in the thousands, other work has found the best performance with mini-batch sizes between 2 and 32.[7]

RobustnessEdit

An inherent stochasticity in learning directly implies that the empirical hyperparameter performance is not necessarily its true performance.[1] Methods that are not robust to simple changes in hyperparameters, random seeds, or even different implementations of the same algorithm cannot be integrated into mission critical control systems without significant simplification and robustification.[8]

Reinforcement learning algorithms, in particular, require measuring their performance over a large number of random seeds, and also measuring their sensitivity to choices of hyperparameters.[8] Their evaluation with a small number of random seeds does not capture performance adequately due to high variance.[8] Some reinforcement learning methods, e.g. DDPG (Deep Deterministic Policy Gradient), are more sensitive to hyperparameter choices than others.[8]

OptimizationEdit

Hyperparameter optimization finds a tuple of hyperparameters that yields an optimal model which minimizes a predefined loss function on given test data.[1] The objective function takes a tuple of hyperparameters and returns the associated loss.[1]

ReproducibilityEdit

Apart from tuning hyperparameters, machine learning involves storing and organizing the parameters and results, and making sure they are reproducible.[9] In the absence of a robust infrastructure for this purpose, research code often evolves quickly and compromises essential aspects like bookkeeping and reproducibility.[10] Online collaboration platforms for machine learning go further by allowing scientists to automatically share, organize and discuss experiments, data, and algorithms.[11]

A number of relevant services and open source software exist:

ServicesEdit

Name Interfaces
Comet.ml[12] Python[13]
OpenML[14][11][15][16] REST, Python, Java, R[17]

SoftwareEdit

Name Interfaces Store
OpenML Docker[14][11][15][16] REST, Python, Java, R[17] MySQL
sacred[9][10] Python[18] file, MongoDB, TinyDB, SQL

See alsoEdit

ReferencesEdit

  1. ^ a b c d e f g "Claesen, Marc, and Bart De Moor. "Hyperparameter Search in Machine Learning." arXiv preprint arXiv:1502.02127 (2015)". arXiv:1502.02127 . Bibcode:2015arXiv150202127C. 
  2. ^ "Hutter, Frank, Holger Hoos, and Kevin Leyton-Brown. "An efficient approach for assessing hyperparameter importance." International Conference on Machine Learning. 2014". 
  3. ^ "van Rijn, Jan N., and Frank Hutter. "Hyperparameter Importance Across Datasets." arXiv preprint arXiv:1710.04725 (2017)". arXiv:1710.04725 . Bibcode:2017arXiv171004725V. 
  4. ^ "Probst, Philipp, Bernd Bischl, and Anne-Laure Boulesteix. "Tunability: Importance of Hyperparameters of Machine Learning Algorithms." arXiv preprint arXiv:1802.09596 (2018)". arXiv:1802.09596 . Bibcode:2018arXiv180209596P. 
  5. ^ "Greff, Klaus, et al. "LSTM: A search space odyssey." IEEE transactions on neural networks and learning systems (2017)". 
  6. ^ "Breuel, Thomas M. "Benchmarking of LSTM networks." arXiv preprint arXiv:1508.02774 (2015)". arXiv:1508.02774 . Bibcode:2015arXiv150802774B. 
  7. ^ "Revisiting Small Batch Training for Deep Neural Networks (2018)". arXiv:1804.07612 . Bibcode:2018arXiv180407612M. 
  8. ^ a b c d "Mania, Horia, Aurelia Guy, and Benjamin Recht. "Simple random search provides a competitive approach to reinforcement learning." arXiv preprint arXiv:1803.07055 (2018)". arXiv:1803.07055 . Bibcode:2018arXiv180307055M. 
  9. ^ a b "Greff, Klaus, and Jürgen Schmidhuber. "Introducing Sacred: A Tool to Facilitate Reproducible Research."" (PDF). 2015. 
  10. ^ a b "Greff, Klaus, et al. "The Sacred Infrastructure for Computational Research."" (PDF). 2017. 
  11. ^ a b c "Vanschoren, Joaquin, et al. "OpenML: networked science in machine learning." arXiv preprint arXiv:1407.7722 (2014)". arXiv:1407.7722 . Bibcode:2014arXiv1407.7722V. 
  12. ^ "Comet.ml – Machine Learning Experiment Management". 
  13. ^ "PyPI: comet-ml". 
  14. ^ a b "Van Rijn, Jan N., et al. "OpenML: A collaborative science platform." Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Springer, Berlin, Heidelberg, 2013". 
  15. ^ a b "Vanschoren, Joaquin, Jan N. van Rijn, and Bernd Bischl. "Taking machine learning research online with OpenML." Proceedings of the 4th International Conference on Big Data, Streams and Heterogeneous Source Mining: Algorithms, Systems, Programming Models and Applications-Volume 41. JMLR. org, 2015" (PDF). 
  16. ^ a b "van Rijn, J. N. Massively collaborative machine learning. Diss. 2016." 
  17. ^ a b "GitHub: OpenML". 
  18. ^ "PyPI: sacred".