{"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/unexpected-improvements-to-expected","title":"Unexpected Improvements to Expected Improvement for Bayesian Optimization","arxiv_id":"2310.20708","date":"2023-10-31","proceeding":"NeurIPS 2023 11","authors":["Sebastian Ament","Samuel Daulton","David Eriksson","Maximilian Balandat","Eytan Bakshy"],"abstract":"Expected Improvement (EI) is arguably the most popular acquisition function in Bayesian optimization and has found countless successful applications, but its performance is often exceeded by that of more recent methods. Notably, EI and its variants, including for the parallel and multi-objective settings, are challenging to optimize because their acquisition values vanish numerically in many regions. This difficulty generally increases as the number of observations, dimensionality of the search space, or the number of constraints grow, resulting in performance that is inconsistent across the literature and most often sub-optimal. Herein, we propose LogEI, a new family of acquisition functions whose members either have identical or approximately equal optima as their canonical counterparts, but are substantially easier to optimize numerically. We demonstrate that numerical pathologies manifest themselves in \"classic\" analytic EI, Expected Hypervolume Improvement (EHVI), as well as their constrained, noisy, and parallel variants, and propose corresponding reformulations that remedy these pathologies. Our empirical results show that members of the LogEI family of acquisition functions substantially improve on the optimization performance of their canonical counterparts and surprisingly, are on par with or exceed the performance of recent state-of-the-art acquisition functions, highlighting the understated role of numerical optimization in the literature.","url_abs":"https://arxiv.org/abs/2310.20708v3","url_pdf":"https://arxiv.org/pdf/2310.20708v3.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":"unexpected-improvements-to-expected","repo_url":"https://github.com/omerronen/scales","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"bayesian-optimization","task_name":"Bayesian Optimization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.20708","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.20708"}},"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":"deterministic:regex_extraction","url":"https://github.com/PV-Lab/Benchmarking","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/omerronen/scales","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":9},"by_repo_kind":{"listed":{"samples":9,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"a71685e684ff7417","entry":"analyze_results","repo":"omerronen/scales","repo_kind":"listed","path":"les/analysis/opt_results.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/analysis/opt_results.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a71685e684ff7417"}},{"code_sha256_prefix":"dc692d5ad7f839fc","entry":"calculate_distance_to_train","repo":"omerronen/scales","repo_kind":"listed","path":"les/analysis/ood.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/analysis/ood.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dc692d5ad7f839fc"}},{"code_sha256_prefix":"8ea028fc68384ad8","entry":"fit_mll","repo":"omerronen/scales","repo_kind":"listed","path":"les/opt/bo.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/opt/bo.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ea028fc68384ad8"}},{"code_sha256_prefix":"ba2b2491a287f01e","entry":"get_f_config","repo":"omerronen/scales","repo_kind":"listed","path":"les/nets/utils.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/nets/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ba2b2491a287f01e"}},{"code_sha256_prefix":"fefc89892209bb98","entry":"mean","repo":"omerronen/scales","repo_kind":"listed","path":"les/analysis/opt_results.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/analysis/opt_results.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fefc89892209bb98"}},{"code_sha256_prefix":"cfb615172f69f27e","entry":"normalize","repo":"omerronen/scales","repo_kind":"listed","path":"les/opt/bo.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/opt/bo.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfb615172f69f27e"}},{"code_sha256_prefix":"2a3bcb1b2a8a09ad","entry":"sem","repo":"omerronen/scales","repo_kind":"listed","path":"les/analysis/opt_results.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/analysis/opt_results.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2a3bcb1b2a8a09ad"}},{"code_sha256_prefix":"b1ad8495ae416cec","entry":"unnormalize","repo":"omerronen/scales","repo_kind":"listed","path":"les/opt/bo.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/opt/bo.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b1ad8495ae416cec"}},{"code_sha256_prefix":"bfb877ba00317767","entry":"wall_clock","repo":"omerronen/scales","repo_kind":"listed","path":"les/analysis/wall_clock.py","file_url":"https://github.com/omerronen/scales/blob/HEAD/les/analysis/wall_clock.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bfb877ba00317767"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}