{"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/principled-bayesian-optimisation-in","title":"Principled Bayesian Optimisation in Collaboration with Human Experts","arxiv_id":"2410.10452","date":"2024-10-14","proceeding":null,"authors":["Wenjie Xu","Masaki Adachi","Colin N. Jones","Michael A. Osborne"],"abstract":"Bayesian optimisation for real-world problems is often performed interactively with human experts, and integrating their domain knowledge is key to accelerate the optimisation process. We consider a setup where experts provide advice on the next query point through binary accept/reject recommendations (labels). Experts' labels are often costly, requiring efficient use of their efforts, and can at the same time be unreliable, requiring careful adjustment of the degree to which any expert is trusted. We introduce the first principled approach that provides two key guarantees. (1) Handover guarantee: similar to a no-regret property, we establish a sublinear bound on the cumulative number of experts' binary labels. Initially, multiple labels per query are needed, but the number of expert labels required asymptotically converges to zero, saving both expert effort and computation time. (2) No-harm guarantee with data-driven trust level adjustment: our adaptive trust level ensures that the convergence rate will not be worse than the one without using advice, even if the advice from experts is adversarial. Unlike existing methods that employ a user-defined function that hand-tunes the trust level adjustment, our approach enables data-driven adjustments. Real-world applications empirically demonstrate that our method not only outperforms existing baselines, but also maintains robustness despite varying labelling accuracy, in tasks of battery design with human experts.","url_abs":"https://arxiv.org/abs/2410.10452v1","url_pdf":"https://arxiv.org/pdf/2410.10452v1.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":"principled-bayesian-optimisation-in","repo_url":"https://github.com/ma921/cobol","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"bayesian-optimisation","task_name":"Bayesian Optimisation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.10452","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.10452"}},"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/ma921/cobol","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":6},"by_repo_kind":{"official":{"samples":9,"ran":3,"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":9,"samples":[{"code_sha256_prefix":"dd3ad245253863cc","entry":"cleansing_x","repo":"ma921/cobol","repo_kind":"official","path":"utils/_utils.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"dd3ad245253863cc"}},{"code_sha256_prefix":"9a50d525d1a44346","entry":"dtype_manager","repo":"ma921/cobol","repo_kind":"official","path":"utils/_utils.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9a50d525d1a44346"}},{"code_sha256_prefix":"e79d1552caa63cd6","entry":"set_domain_bounds","repo":"ma921/cobol","repo_kind":"official","path":"utils/_solver_helper.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_solver_helper.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e79d1552caa63cd6"}},{"code_sha256_prefix":"1fa55053ad3a42fa","entry":"device_manager","repo":"ma921/cobol","repo_kind":"official","path":"utils/_utils.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_utils.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":"1fa55053ad3a42fa"}},{"code_sha256_prefix":"0bf7525b8f5fb7a8","entry":"select_experiment","repo":"ma921/cobol","repo_kind":"official","path":"utils/_experiments.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_experiments.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":"0bf7525b8f5fb7a8"}},{"code_sha256_prefix":"ef69b4255e737d73","entry":"set_likelihood_bounds","repo":"ma921/cobol","repo_kind":"official","path":"utils/_solver_helper.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_solver_helper.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":"ef69b4255e737d73"}},{"code_sha256_prefix":"82d1fdaa8e283a92","entry":"setup_ackley","repo":"ma921/cobol","repo_kind":"official","path":"utils/_experiments.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_experiments.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":"82d1fdaa8e283a92"}},{"code_sha256_prefix":"c3d71383fc52520d","entry":"setup_holder","repo":"ma921/cobol","repo_kind":"official","path":"utils/_experiments.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_experiments.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":"c3d71383fc52520d"}},{"code_sha256_prefix":"9f5d478c160b8af0","entry":"solve_opti","repo":"ma921/cobol","repo_kind":"official","path":"utils/_solver_helper.py","file_url":"https://github.com/ma921/cobol/blob/HEAD/utils/_solver_helper.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":"9f5d478c160b8af0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}