Coder Social home page Coder Social logo

apsis's People

Contributors

andi1400 avatar gitter-badger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

apsis's Issues

Optimization of EI always gets stuck in local extrema

At the moment we optimize EI with scypy.optimize.minimize. Tried several optimizer methods, all of them get stuck in local extrema.

Problem seems to be well known:

Proposed optimization methods there

  • grid search (probably not feasible)
  • evolutionary algorithm

Other ideas

  • random search, how many points?
  • continue using SLSQP, L-BFGS-B and implement a random restart for them. How often?

Rework tests

Make them more concise; inline comments, more tests and cleaner structure.

SimpleBayesianOptimization - Find alternative to parameter constraining

After the initial random points, only adds 0.5 as a new point.
Corresponding warning seems to be

/usr/local/lib/python2.7/dist-packages/GPy/core/transformations.py:32: RuntimeWarning: overflow encountered in exp
  return np.where(x>lim_val, x, np.log(1. + np.exp(x)))
/usr/local/lib/python2.7/dist-packages/GPy/kern/parts/rbf.py:256: RuntimeWarning: divide by zero encountered in divide
  X = X / self.lengthscale
/usr/local/lib/python2.7/dist-packages/GPy/kern/parts/rbf.py:258: RuntimeWarning: invalid value encountered in add
  self._K_dist2 = -2.*tdot(X) + (Xsquare[:, None] + Xsquare[None, :])
/usr/local/lib/python2.7/dist-packages/GPy/util/linalg.py:121: RuntimeWarning: invalid value encountered in less_equal
  if np.any(diagA <= 0.):

TestFramework: Implement.

Implement a test framework on pre-computed grid points.
Should also include comparisons between cores, plots and similar things.

Set up Gitter

See Justin's mail, 2014-11-10:

"Vorneweg: ich faends cool wenn wir gitter [1] benutzen wuerden. Das ist ein persistent chat fuer github repos... das waere evt effizient. Allerdings muss Frederik das glaube ich aufmachen."

RandomSearchCore - candidate lists instantiated accross multiple class instances

candidate lists in RandomSearchCore are shared among all class instances => create instance in constructor to fix

=> from justins mail:

https://github.com/FrederikDiehl/BayOpt/blob/master/code/apsis/apsis/RandomSearchCore.py#L19

Da steckt nen fieses Problem drin. Und zwar, wird hier finished_candidates zu einer Klassenvariable. Wenn man da Appends drauf macht, so wird das bei jedem Objekt dieser Klasse sichtbar, weil die sich das alles teilen. Das ist jetzt nicht sonderlich wichtig im Betrieb, da ja in der Regel nur ein Objekt dieser Klasse pro Prozess laeuft. Beim Unittesten kann einen das aber ziemlich beissen und dann sucht man ne ganze Weile...

Loesung:

class blubb(object):

candidates = None

def init(self, ...):
self.candidates = []

RandomSearch: Check for parameter usage

Init currently assumes four values (lower_bound, upper_bound, minimization_problem and random_state) all exist in the param dict. Add default values and/or errors.

Better Multivariate Gaussian CDF

Investigate performance and see better implementations of gaussian cdfs. Needed in AcquisitionFunctions, at the moment, Probability of Improvement.

79 characters per line (see PEP8)

From Justin's comment on #6:

I encourage you to stick to 79 characters per line.

There are many reasons for this, e.g.

human eye is much better at reading short lines (that's why newspapers do it like that),
less instructions contained in one line, which is also the atom in version control systems
possibility to view source code side by side

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.