RcppEnsmallen package brings to R a Header-Only C++ Mathematical
Optimization Library for Armadillo.
In particular, Ensmallen is a
templated C++ mathematical optimization library (by the MLPACK team) that provides a simple set of abstractions for writing an
objective function to optimize.
Callbacks in ensmallen are methods that are called at various states during the optimization process, which can be used to implement and control behaviors such as:
- Changing the learning rate.
- Printing of the current objective.
- Sending a message when the optimization hits a specific state such us a minimal objective.
Outside of that, the optimizers can now work across a variety of
matrix types whereas before they
could only operate on
arma::mat. The fine details are given below.
RcppEnsmallen news file entry for version v0.2.10.0.1 (2019-09-07)
- Upgraded to ensmallen 2.10.0: “Fried Chicken” (2019-09-07)
Optimize()functions now take any matrix type; so, e.g.,
arma::sp_matcan be used for optimization. See the documentation for more details (#113, #119).
- Introduce callback support. Callbacks can be appended as the last arguments
Optimize()call, and can perform custom behavior at different points during the optimization. See the documentation for more details (#119).
- Slight speedups for