Skip to content

MOE Research and Notes

Neeka Mashouf edited this page Jul 13, 2015 · 15 revisions

###MOE Workflow

1 Build Gaussian Process (GP) with points sampled so far
2 Optimize covariance hyperparameters of GP
3 Find points of highest Expected Improvement (EI)
4 Return optimal next best points to sample

###Inputs

The input to MOE is some set of historical parameters sampled {x⃗ 1,…,x⃗ n} and their associated function valuations {f(x⃗ 1),…,f(x⃗ n)}. The evaluations may require A/B testing, an map reduce job or some other expensive or time consuming process. MOE will never need to evaluate f, it only takes the outputs you provide and suggests new optimal inputs to test/evaluate.

###Objective Function

The objective function is the function f that we are trying to minimize/maximize over some set of Parameters.

argmaxx⃗ ∈ℝd f(x⃗ )f:ℝd→ℝ

The objective function is considered a black box (http://en.wikipedia.org/wiki/Black_box) function. We require no internal knowledge or access to the function. In fact it can potentially be non-convex, non-differentiable or non-continuous. Furthermore, we assume that evaluating the function, f, is expensive and we need to find the best set of parameters/inputs x⃗ with as few function evaluations as possible.

  • this seems like it is the computation of the elastic tensor/bulk modulus/poisson's ratio/etc itself

Notes taken from http://yelp.github.io/MOE/objective_functions.html

###Install

  1. Follow the 'Installation" steps and download the b2d package

  2. Launch boot2docker from your applications (or follow the "command line" instructions at the above link).

  3. Follow the install steps from the git clone ... code block, replacing the final command with

     docker run -d -p 6543:6543 --name mymoe moe_container
    

    (-d to detach and have the process run in the background, --name to give your instance a name so you can e.g. docker stop mymoe)

  4. Now open http://$(boot2docker ip):6543 (uses boot2docker ip to get the IP address and opens the app in your browser).

  5. Remember to put the following line in your .bash_profile to ensure all modules can be found:

     export PYTHONPATH="***insert pwd to MOE/ folder here***:$PYTHONPATH"
    

Running MOE

  1. In your Boot2Docker command line window, run

     ssh -f -N -L 6543:$(boot2docker ip):6543 localhost
    

    (This adds 'localhost' to the list of known hosts. If the connection is refused, allow "Remote Login" from within the "Sharing" section of System Preferences)

  2. Now you can run example files with Python or iPython with a command like

     ipython example_file_name.py
    

    (replacing 'example_file_name' with the actual name)

Clone this wiki locally