The ensmallen library for flexible numerical optimization

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Curtin, Ryan R., Edel, Marcus, Prabhu, Rahul Ganesh, Basak, Suryoday, Lou, Zhihao, Sanderson, Conrad
Natura: Preprint
Pubblicazione: 2021
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866914672286892032
author Curtin, Ryan R.
Edel, Marcus
Prabhu, Rahul Ganesh
Basak, Suryoday
Lou, Zhihao
Sanderson, Conrad
author_facet Curtin, Ryan R.
Edel, Marcus
Prabhu, Rahul Ganesh
Basak, Suryoday
Lou, Zhihao
Sanderson, Conrad
contents We overview the ensmallen numerical optimization library, which provides a flexible C++ framework for mathematical optimization of user-supplied objective functions. Many types of objective functions are supported, including general, differentiable, separable, constrained, and categorical. A diverse set of pre-built optimizers is provided, including Quasi-Newton optimizers and many variants of Stochastic Gradient Descent. The underlying framework facilitates the implementation of new optimizers. Optimization of an objective function typically requires supplying only one or two C++ functions. Custom behavior can be easily specified via callback functions. Empirical comparisons show that ensmallen outperforms other frameworks while providing more functionality. The library is available at https://ensmallen.org and is distributed under the permissive BSD license.
format Preprint
id arxiv_https___arxiv_org_abs_2108_12981
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle The ensmallen library for flexible numerical optimization
Curtin, Ryan R.
Edel, Marcus
Prabhu, Rahul Ganesh
Basak, Suryoday
Lou, Zhihao
Sanderson, Conrad
Mathematical Software
Software Engineering
Optimization and Control
65K10, 68N99
G.4; G.1.3; G.1.6
We overview the ensmallen numerical optimization library, which provides a flexible C++ framework for mathematical optimization of user-supplied objective functions. Many types of objective functions are supported, including general, differentiable, separable, constrained, and categorical. A diverse set of pre-built optimizers is provided, including Quasi-Newton optimizers and many variants of Stochastic Gradient Descent. The underlying framework facilitates the implementation of new optimizers. Optimization of an objective function typically requires supplying only one or two C++ functions. Custom behavior can be easily specified via callback functions. Empirical comparisons show that ensmallen outperforms other frameworks while providing more functionality. The library is available at https://ensmallen.org and is distributed under the permissive BSD license.
title The ensmallen library for flexible numerical optimization
topic Mathematical Software
Software Engineering
Optimization and Control
65K10, 68N99
G.4; G.1.3; G.1.6
url https://arxiv.org/abs/2108.12981