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