Autotuner.js
Autotuner is a machine learning model selection and hyper-parameter tuning module. Uses a Bayesian optimization approach to pick most promising hyperparameters.
Getting Started
Install and use the package with Node:
npm install autotuner
var autotuner = ;
Install and use the package with Bower:
bower install autotuner
Usage
We first define the parameter space. It is done with the Paramspace
class. We add models to it by calling addModel(modelName, modelParameters)
where modelName
is a string model identifier, and modelParameters
is an object where fields are parameter names and values are lists of possible parameter values.
Here is an example:
var p = ;p;p;
Then we use the parameter space to initialize the optimizer:
// Initialize the optimizer with the parameter space.var opt = pdomainIndices pmodelsDomains; while optimizing // Take a suggestion from the optimizer. var point = opt; // We can extract the model name and parameters. var model = pdomainpoint'model'; var params = pdomainpoint'params'; // Train a model given the params and obtain a quality metric value. // ... // Report the obtained quality metric value. p;
Transfer learning
If we want to take advantage of the observed values from the previous optimization runs to improve our next optimization run, we need the Priors
helper class.
// This object is created only once and kept across optimization runs.var priors = pdomainIndices;
We then use this class in our optimization runs as follows:
// Use the mean and kernel from the Priors instance to// initialize the optimizer. var opt = pdomainIndices pmodelsDomains priorsmean priorskernel; // Regular optimization run.while optimizing var point = opt; var model = pdomainpoint'model'; var params = pdomainpoint'params'; // ... p; // Commit the observed points to the priors.priors;
After commiting the observed values, the priors.mean
and priors.kernel
are updated with the observed values so we can use them to initialize the next optimization run.
Development
Pull and initialize:
git pull https://github.com/cytoai/autotuner.gitcd autotunernpm install
To run tests:
npm test
To build the bundled autotuner.js
script:
npm run-script build