{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/correcting-boundary-over-exploration","title":"Correcting boundary over-exploration deficiencies in Bayesian optimization with virtual derivative sign observations","arxiv_id":"1704.00963","date":"2017-04-04","proceeding":null,"authors":["Eero Siivola","Aki Vehtari","Jarno Vanhatalo","Javier González","Michael Riis Andersen"],"abstract":"Bayesian optimization (BO) is a global optimization strategy designed to find\nthe minimum of an expensive black-box function, typically defined on a compact\nsubset of $\\mathcal{R}^d$, by using a Gaussian process (GP) as a surrogate\nmodel for the objective. Although currently available acquisition functions\naddress this goal with different degree of success, an over-exploration effect\nof the contour of the search space is typically observed. However, in problems\nlike the configuration of machine learning algorithms, the function domain is\nconservatively large and with a high probability the global minimum does not\nsit on the boundary of the domain. We propose a method to incorporate this\nknowledge into the search process by adding virtual derivative observations in\nthe \\gp at the boundary of the search space. We use the properties of GPs to\nimpose conditions on the partial derivatives of the objective. The method is\napplicable with any acquisition function, it is easy to use and consistently\nreduces the number of evaluations required to optimize the objective\nirrespective of the acquisition used. We illustrate the benefits of our\napproach in an extensive experimental comparison.","url_abs":"http://arxiv.org/abs/1704.00963v3","url_pdf":"http://arxiv.org/pdf/1704.00963v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"correcting-boundary-over-exploration","repo_url":"https://github.com/esiivola/vdsobo","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"},{"task_slug":"global-optimization","task_name":"global-optimization"}],"methods":[{"method_slug":"gaussian-process","method_name":"Gaussian Process"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1704.00963","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1704.00963"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/esiivola/vdsobo","reach":null}],"summary":{"ran_violates":1,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":4,"samples":[{"code_sha256_prefix":"9642fd2fe0882604","entry":"get_quantiles","repo":"esiivola/vdsobo","repo_kind":"official","path":"acquisitions.py","file_url":"https://github.com/esiivola/vdsobo/blob/HEAD/acquisitions.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9642fd2fe0882604"}},{"code_sha256_prefix":"a70aa738ff95a8f6","entry":"logpdf_link","repo":"esiivola/vdsobo","repo_kind":"official","path":"optimization.py","file_url":"https://github.com/esiivola/vdsobo/blob/HEAD/optimization.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a70aa738ff95a8f6"}},{"code_sha256_prefix":"94e2b8b5eac126f0","entry":"EI","repo":"esiivola/vdsobo","repo_kind":"official","path":"acquisitions.py","file_url":"https://github.com/esiivola/vdsobo/blob/HEAD/acquisitions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"94e2b8b5eac126f0"}},{"code_sha256_prefix":"5d1c55b22c2878c1","entry":"LCB","repo":"esiivola/vdsobo","repo_kind":"official","path":"acquisitions.py","file_url":"https://github.com/esiivola/vdsobo/blob/HEAD/acquisitions.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d1c55b22c2878c1"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}