<p>Spearmint learns these kinds of transformations automatically from the data.  If you take a look here: <a href="https://github.com/HIPS/Spearmint/tree/master/spearmint/transformations" rel="nofollow">https://github.com/HIPS/Spearmint/tree/master/spearmint/transformations</a>
you can see the implementation of the beta warping that is applied (detailed in this paper: <a href="http://arxiv.org/abs/1402.0929" rel="nofollow">http://arxiv.org/abs/1402.0929</a>).  Spearmint doesn't have a way to specify these a-priori, but you could have Spearmint operate on e.g. the log of the parameters (by giving the log of the parameter ranges and exponentiating on your end).  </p>
How to express hyperparameter distributions in Spearmint?
<p>I'm trying to use <a href="https://github.com/HIPS/Spearmint" rel="nofollow">Spearmint</a>, the Bayesian optimization library, to tune hyperparameters for a machine learning classifier. My question is how does one express parameter search spaces that does not follow a uniform distribution? </p>

<p>From the <a href="https://github.com/HIPS/Spearmint/blob/master/examples/constrained/config.json" rel="nofollow">project's github page</a>, here is an example of how to set two uniformly distributed parameter search spaces:</p>

<pre><code>"variables": {
    "X": {
        "type": "FLOAT",
        "size": 1,
        "min":  -5,
        "max":  10
    },
    "Y": {
        "type": "FLOAT",
        "size": 1,
        "min":  0,
        "max":  15
    }
}
</code></pre>

<p>How would we define a search space like the one below in Spearmint?</p>

<pre><code>SVC_PARAMS = [
    {
        "bounds": {
            "max": 10.0,
            "min": 0.01,
        },
        "name": "C",
        "type": "double",
        "transformation": "log",
    },
    {
        "bounds": {
            "max": 1.0,
            "min": 0.0001,
        },
        "name": "gamma",
        "type": "double",
        "transformation": "log",
    },
    {
        "type": "categorical",
        "name": "kernel",
        "categorical_values": [
            {"name": "rbf"},
            {"name": "poly"},
            {"name": "sigmoid"},
        ],
    },
]
</code></pre>

<p>Is there a place to look up all of the stochastic expressions (ie <code>uniform</code>, <code>normal</code>, <code>log</code> etc) currently being supported by Spearmint?</p>