b-shields / edbo

Experimental Design via Bayesian Optimization
MIT License
123 stars 41 forks source link

Regression ability of gaussian process #16

Open shenggong1996 opened 3 years ago

shenggong1996 commented 3 years ago

Hi Ben,

I am using EDBO to study results of one type of experiments. There are four dimensions in the parameter space. I find that the gaussian process in EDBO has very poor regression performance even for the training set (4 dimensions, around 200 data points in total), and the dataset can be well learned by neural networks as a comparison. I think the reason for the failure of gaussian process is that my dataset is highly "discontinous" with many delta-function like jump between 0 and some finite values, and around 1/3 of data are zeros. Do you think it is reasonable that gaussian process cannot perform very well for a four-dimensional dataset? Thank you very much!

b-shields commented 2 years ago

Hi,

Sorry for the delayed response. One possibility is that the default hyperparameters for the GP model are not good for your application. For example, when there isn't much data the length scale prior will tend give longer length scales and a function distribution which may not fit your discontinuous data well. I would suggest that you play with the GP hyperparameters or build your optimizer using edbo.bro.BO_express which attempts to select priors appropriate for the dimensionality of the data. In addition, you could use a random forest as the surrogate model for edbo (edbo.models.RF_Model).

sgbaird commented 2 years ago

@shenggong1996 any update on this? Did you try adjusting the hyperparameters or using a random forest? Would be great to see any results (e.g. before and after parity plots) and/or an example of the "jumps" you were describing if you have them available.

shenggong1996 commented 2 years ago

@shenggong1996 any update on this? Did you try adjusting the hyperparameters or using a random forest? Would be great to see any results (e.g. before and after parity plots) and/or an example of the "jumps" you were describing if you have them available.

Hi Sterling,

I played around with hyperparameters and random forest, and no significant improvement appeared. My solution is using a neural network instead, but since it is not straightforward to use NN to estimate uncertainty, I use NN in the exploitations and GP in explorations. Our data will be presented in a preprint soon, with the possible title "Bayesian Optimization Assisted Laser Reduction of poly(acrylonitrile) for Electrochemical Applications".

sgbaird commented 2 years ago

Hi Sheng, thanks for the info! That seems like an interesting approach. When the preprint is posted, I'm interested in checking it out.