A python implementation of the spectral projected gradient (SPG) optimization method
Switch branches/tags
Nothing to show
Latest commit 00d94d0 Mar 24, 2014 @levinboimtomer README
Permalink
Failed to load latest commit information.
README.md README Mar 24, 2014
SPG.py added cython code Mar 24, 2014
SPG_test.py first code commit. Mar 24, 2014
cy_SPG.pyx added cython code Mar 24, 2014

README.md

A python implementation of the spectral projected gradient (SPG) optimization method.

SPG is suited for optimizing differentiable real-valued multivariate functions subject to simple constraints (namely, over a closed convex set)

The code is based on Mark Schmidt's minConf_SPG matlab implementation http://www.di.ens.fr/~mschmidt/Software/minConf.html

To test the code, download and run: python SPG_test.py

Incudes:

  • Numerical differentiation
  • Projection on a bounded range
  • Projection on the probability simplex (Duchi et al, "Efficient projections onto the l1-Ball for Learning in High Dimension")

Requires:

  • cython (if you use the provided projections)

-- Tomer Levinboim, March 2014