The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Type: Package
Title: 'L-BFGS' Algorithm Based on 'Blaze' for 'R' and 'Rcpp'
Version: 0.1.0
Date: 2024-05-01
Maintainer: Ching-Chuan Chen <zw12356@gmail.com>
URL: https://github.com/ChingChuan-Chen/RcppLbfgsBlaze, https://github.com/ChingChuan-Chen/LBFGS-blaze, https://github.com/ZJU-FAST-Lab/LBFGS-Lite, https://bitbucket.org/blaze-lib/blaze/src/master/
BugReports: https://github.com/Chingchuan-chen/RcppLbfgsBlaze/issues
Description: The 'L-BFGS' algorithm is a popular optimization algorithm for unconstrained optimization problems. 'Blaze' is a high-performance 'C++' math library for dense and sparse arithmetic. This package provides a simple interface to the 'L-BFGS' algorithm and allows users to optimize their objective functions with 'Blaze' vectors and matrices in 'R' and 'Rcpp'.
Depends: R (≥ 4.2.0)
Imports: Rcpp (≥ 1.0.0), RcppBlaze (≥ 1.0.0)
LinkingTo: Rcpp, RcppBlaze
Suggests: tinytest, microbenchmark
LazyLoad: yes
Encoding: UTF-8
License: MIT + file LICENSE
RoxygenNote: 7.3.1
NeedsCompilation: yes
Packaged: 2024-05-03 09:20:00 UTC; root
Author: Ching-Chuan Chen ORCID iD [aut, cre, ctr], Zhepei Wang [aut] (LBFGS-Lite), Naoaki Okazaki [aut] (liblbfgs)
Repository: CRAN
Date/Publication: 2024-05-14 07:43:20 UTC

RcppLbfgsBlaze - Rcpp interface to the L-BFGS algorithm with Blaze

Description

RcppLbfgsBlaze constructs a simple interface to the L-BFGS algorithm based on Blaze for R and Rcpp.

Details

This package provides an implementation of the L-BFGS algorithm based on Blaze for R and Rcpp. The L-BFGS algorithm is a popular optimization algorithm for unconstrained optimization problems. Blaze is a high-performance C++ math library for dense and sparse arithmetic. The package provides a simple interface to the L-BFGS algorithm and allows users to optimize their objective functions with Blaze vectors and matrices in R and Rcpp.

Using RcppLbfgsBlaze

The simplest way to get started is to create a skeleton of a package using RcppLbfgsBlaze.

The important steps are

  1. Include the ‘⁠RcppBlaze.h⁠’ and ‘⁠lbfgs.h⁠’ header files.

  2. Import Rcpp. LinkingTo Rcpp, RcppBlaze and RcppLbfgsBlaze by adding these lines to the ‘⁠DESCRIPTION⁠’ file:

      Imports: Rcpp (>= 1.0.0)
      LinkingTo: Rcpp, RcppBlaze (>= 1.0.0), RcppLbfgsBlaze
    
  3. Link against the BLAS and LAPACK libraries, by adding following two lines in the ‘⁠Makevars⁠’ and ‘⁠Makevars.win⁠’ files:

      PKG_CXXFLAGS=$(SHLIB_OPENMP_CXXFLAGS)
      PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CXXFLAGS)
    

Author(s)

For RcppLbfgsBlaze: Ching-Chuan Chen Maintainer: Ching-Chuan Chen <zw12356@gmail.com>

References

  1. Blaze project: https://bitbucket.org/blaze-lib/blaze.

  2. LBFGS-blaze: https://github.com/ChingChuan-Chen/LBFGS-blaze

  3. LBFGS-Lite: https://github.com/ZJU-FAST-Lab/LBFGS-Lite

  4. liblbfgs: https://github.com/chokkan/liblbfgs

See Also

Useful links:


Logistic Regression Fitting Using L-BFGS Algorithm

Description

This function leverage blaze and LBFGS-Blaze to efficiently fit logistic regression.

Usage

fastLogisticModel(X, y)

Arguments

X

The model matrix.

y

The response vector.

Value

A list of L-BFGS optimization result.

Examples

X <- matrix(rnorm(5000), 1000)
coef <- runif(5, -3, 3)
y <- sapply(1 / (1 + exp(-X %*% coef)), function(p) rbinom(1, 1, p), USE.NAMES = FALSE)

fit <- fastLogisticModel(X, y)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.