Skip to content

c++ numerical optimization library with persistent state

Notifications You must be signed in to change notification settings

redpony/libpopt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OVERVIEW
------------------------------------------------------------------------------
libpopt provides implementations of a handful of commonly used
gradient-based numerical optimization algorithms.  The implementation
currently includes:

* Stochastic gradient descent
* LBFGS (J. Nocedal, 1980. Quasi-Newton Matrices with Limited Storage)
* Rprop (M. Riedmiller, 1994. Rprop - Description and Implementation Details)

The implementations are somewhat spare in terms of functionality, but the
optimizer state can be serialized and persisted between function
evaluations, making it possible to run different optimization steps in
different processes or even on different machines (binary compatibility
between the platforms is assumed).


TODO
------------------------------------------------------------------------------
* provide alternative convergence tests
* add richer interfaces to support algorithms that require more than simply
  f(x) and f'(x).
  - stochastic meta descent
  - conjugate gradient descent
  - LBFGS with l-1 regularization
* better support for online learning methods
  - algorithms should know if they support online methods
  - online methods should (probably) support dynamic numbers of variables


COPYRIGHT AND LICENSE
------------------------------------------------------------------------------
Copyright (c) 2009 by Chris Dyer <redpony@gmail.com>

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

The LBFGS implementation contains code from the Computational
Crystallography Toolbox which is copyright (c) 2006 by The Regents of the
University of California, through Lawrence Berkeley National Laboratory.
For more information on their license, refer to http://cctbx.sourceforge.net/

About

c++ numerical optimization library with persistent state

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages