{"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/confident-off-policy-evaluation-and-selection","title":"Confident Off-Policy Evaluation and Selection through Self-Normalized Importance Weighting","arxiv_id":"2006.10460","date":"2020-06-18","proceeding":null,"authors":["Ilja Kuzborskij","Claire Vernade","András György","Csaba Szepesvári"],"abstract":"We consider off-policy evaluation in the contextual bandit setting for the purpose of obtaining a robust off-policy selection strategy, where the selection strategy is evaluated based on the value of the chosen policy in a set of proposal (target) policies. We propose a new method to compute a lower bound on the value of an arbitrary target policy given some logged data in contextual bandits for a desired coverage. The lower bound is built around the so-called Self-normalized Importance Weighting (SN) estimator. It combines the use of a semi-empirical Efron-Stein tail inequality to control the concentration and a new multiplicative (rather than additive) control of the bias. The new approach is evaluated on a number of synthetic and real datasets and is found to be superior to its main competitors, both in terms of tightness of the confidence intervals and the quality of the policies chosen.","url_abs":"https://arxiv.org/abs/2006.10460v3","url_pdf":"https://arxiv.org/pdf/2006.10460v3.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":"confident-off-policy-evaluation-and-selection","repo_url":"https://github.com/deepmind/offpolicy_selection_eslb","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"confident-off-policy-evaluation-and-selection","repo_url":"https://github.com/otmhi/offpolicy_ls","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"jax","reach":null}],"tasks":[{"task_slug":"multi-armed-bandits","task_name":"Multi-Armed Bandits"},{"task_slug":"off-policy-evaluation","task_name":"Off-policy evaluation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.10460","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.10460"}},"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/otmhi/offpolicy_ls","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deepmind/offpolicy_selection_eslb","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":"2ff76122b1f829a7","entry":"generate_binary_noise","repo":"deepmind/offpolicy_selection_eslb","repo_kind":"official","path":"data.py","file_url":"https://github.com/deepmind/offpolicy_selection_eslb/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2ff76122b1f829a7"}},{"code_sha256_prefix":"c5467ffc43de8b9d","entry":"get_reward","repo":"deepmind/offpolicy_selection_eslb","repo_kind":"official","path":"data.py","file_url":"https://github.com/deepmind/offpolicy_selection_eslb/blob/HEAD/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c5467ffc43de8b9d"}},{"code_sha256_prefix":"992ef98d2cb512f3","entry":"log_vhat_importance_weighting","repo":"deepmind/offpolicy_selection_eslb","repo_kind":"official","path":"policies.py","file_url":"https://github.com/deepmind/offpolicy_selection_eslb/blob/HEAD/policies.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"992ef98d2cb512f3"}},{"code_sha256_prefix":"a2fb03e960c88b62","entry":"log_vhat_sn_importance_weighting","repo":"deepmind/offpolicy_selection_eslb","repo_kind":"official","path":"policies.py","file_url":"https://github.com/deepmind/offpolicy_selection_eslb/blob/HEAD/policies.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a2fb03e960c88b62"}},{"code_sha256_prefix":"8cb4baeb63f1ee97","entry":"sample_from_simplices_m_times","repo":"deepmind/offpolicy_selection_eslb","repo_kind":"official","path":"utils.py","file_url":"https://github.com/deepmind/offpolicy_selection_eslb/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8cb4baeb63f1ee97"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}