The 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.
The Ensmallen Development Team has truly done it. In this release, there is a major API change to support callbacks within optimization routines. From newly added documentation, we have:
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 armadillo
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)
- All
Optimize()
functions now take any matrix type; so, e.g.,arma::fmat
orarma::sp_mat
can be used for optimization. See the documentation for more details (#113, #119). - Introduce callback support. Callbacks can be appended as the last arguments of an
Optimize()
call, and can perform custom behavior at different points during the optimization. See the documentation for more details (#119). - Slight speedups for
FrankWolfe
optimizer (#127).
- All