acquisition function for bayesian optimisation using random forests as surrogate model I'm working on implementing a Bayesian optimization class in Python. As a surrogate model, I used a Gaussian process until now. From what I read it's quite standard as it is efficient and intuitive. However, as mentioned in the paper Decision Forests for Classification,Regression, Density Estimation, Manifold Learning and Semi-Supervised Learning, Random forests might be more efficient for ambiguous training data and for multi-modal distribution of data (I am careful with those affirmations as the authors make those points on a few toy cases only). 
I then would like to use random forests as a surrogate model as well as Gaussian processes.
For Gaussian processes in Bayesian optimization, a few acquisition functions are available in the literature, some of them have a known analytic form (GP-UCB for example), are well studied and easy to implement. 
I am looking for an acquisition function similar to GP-UCB, for random forests surrogate model.
Do you know any acquisition function adapted to random forests (if possible with an analytic form) ?
 A: Acquisition functions are not about a specific surrogate model. They can be calculated for many of them given that the output of a surrogate model is not a single prediction $\hat{y}(x)$, but a probability distribution $\hat{p}(x)$. 
In case, of the Gaussian process regression, we assume that the output is Gaussian distribution. So it is sufficient to specify mean $\mu(x) = \hat{y}(x)$ and variance $\sigma^2(x)$ at a specific $x$ to specify this distribution. Moreover, many acquisition functions have an analytical form.
For example, UCB has the form $\mu(x) + \beta \sigma(x)$.
As you note this probability distribution is a natural extension.
The problem of random forest is that there is no good extension of this model that allows obtaining a probability distribution instead of a single prediction value or even obtain reliable uncertainty estimate for prediction. 
Moreover, the random forest model predicts only values that are inside the range of values presented in the training sample, while during Bayesian optimization we want to find points with output values that are outside this range.
Finally, if you propose an acquisition function, then you should find an optimum of it. For Random Forest both uncertainty estimates and mean values are piecewise constant. Thus, to find an optimum of an acquisition function like UCB, you should be able to adopt a global optimization algorithm with zero gradients almost everywhere. Seem like a computationally expensive problem.  
These three issues lead to the complexity of a Random forest application in Bayesian optimization. You should start this project at your own risk with questionable benefits in the end. 
There should be some options for Bayesian optimization using random forests as surrogate models, but it seems that they are outside of the scope of the main research and industrial practices
