Code Monkey home page Code Monkey logo

python-lgbopt's Introduction

python-lgbopt

Light Gradient Based Optimization.

Author: Alexis Mignon (c) Oct. 2012 E-mail: [email protected]

This module provides routines for gradient based optimization. It focuses on the case where gradient computation is expensive and should be avoided as much as possible.

To achieve this, the inner line search procedure uses only one gradient estimation. The line search is then performed using quadratic and cubic interpolation as described in:

J. Nocedal and S. Wright. Numerical Optimization. Chap.3 p56

Three optimization schemes are provided:

  • steepest gradient descent (since sometimes it's still the most practicle way to do it).
  • low-memory GFBS Quasi-Newton method.
  • conjugate gradient (Fletcher-Reeves method)

Why writing optimization code while there exists optimized packages to do so ?

Because the problems I had to deal with had the following properties:

  • the gradient computation is expensive (don't even think of computing the Hessian),
  • the domains on which I have to optimize may not be Euclidean.

The only assumptions made on the optimization variables (and gradient values) is that they support some basic operations in normed vector spaces:

  • addition,
  • multiplication by a scalar,
  • inner product (a custom inner product function can be provided).

githalytics.com alpha

python-lgbopt's People

Contributors

alexis-mignon avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.