mlr-org / mlrMBO

Toolbox for Bayesian Optimization and Model-Based Optimization in R
https://mlrmbo.mlr-org.com
Other
187 stars 47 forks source link

The meaning of "dib" in optpath for multi-criteria optimization seems not to be documented #310

Open smilesun opened 7 years ago

smilesun commented 7 years ago

@danielhorn Hi, Daniel

If I run multi-criteria optimization in the following configuration:

control = setMBOControlMultiCrit(control, method = "dib", dib.indicator = "sms", ref.point.method = "const", ref.point.val = c(11, 11))

The printed result after runing mbo(fun = objFun, design = design, learner = mbo.learner, control = control) looks like this (I only show the column names)

x1 x2 x3 x4 x5 y_1 y_2 dob eol error.message exec.time **dib** error.model train.time prop.type propose.time

The column named "dib" seems interesting since during the optimization it seems to converge, and apparently it is not the hyper volume since most of the time it is negative, and the behavior during the optimization is that it tends to converge to zero from a series of negative number and this series change when I change the hyper volume reference point.

From paper "Ponweiser, W., Wagner, T., Biermann, D., & Vincze, M. (2008). Multiobjective optimization on a limited budget of evaluations using model-assisted s-metric selection. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 5199 LNCS, 784–794. http://doi.org/10.1007/978-3-540-87700-4_78"

I could infer that this dib really means the three scenarios the author proposed in equation (2) or it has some other meanings or there is something wrong with my code?

I could not find any field that explains the meaning of "dib" in doc_mbo_OptPath.R.

It would be better if we document this in a RD file or something?

danielhorn commented 7 years ago

dib is the infill criterion, so the dib-column simply shows the value of the infill criterion. It is the same as in single objective case - here you will find a "ei" or "cb" coloumn in the opt.path.

And this is documented in doc_mbo_OptPath.R. However, according to the docu, it should be named infill_dib, and not just dib?

smilesun commented 7 years ago

No, it is exactly dib, there is another column named "infill_dib"

danielhorn commented 7 years ago

Are you sure? You posted a list of names:

x1 x2 x3 x4 x5 y_1 y_2 dob eol error.message exec.time dib error.model train.time prop.type propose.time

I don't see a infill_dib column in this list. And I just looked at some current results, and I also did not find such a column.

smilesun commented 7 years ago

Sorry, I made a mistake, in the column named "prop.type", it is always "infill_dib", there is no column named "infill_dib"

danielhorn commented 7 years ago

Ah, okay. Sure, the names "infill_dib" etc. are displayed in the prop.type column.

As far as I see it is not documented, that the infill criterion is added to the opt.path? At least not in doc_mbo_OptPath.R.

smilesun commented 7 years ago

I did not find the documentation either. The point is shall we add something to help the user understand what is the number is the column "dib", for example, we plot x axis to be date of birth and y axis to be dib, the user could interprete the graph with the knowledge of what "dib" means.

berndbischl commented 7 years ago

@smilesun please always post full code to reproduce the problem

@danielhorn can you fix the docs please?

berndbischl commented 7 years ago

@ja-thomas @jakob-r maybe you can also help, but @danielhorn should doc what's in the "dib" columns.

but we dont even document that the general infill crit is in the optpath, pls compare docs and optpath then close

ja-thomas commented 7 years ago

Short question, where do we want to have the doc?

Currently the OptPath documentation is in ParamHelpers, so I don't think we can add the documentation there. Any suggestions?

danielhorn commented 7 years ago

https://github.com/mlr-org/mlrMBO/blob/master/R/doc_mbo_OptPath.R

ja-thomas commented 7 years ago

thanks!

berndbischl commented 7 years ago

@danielhorn can you please add docs for xudongs original problem quickly so we can close soon?