{"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/smoothness-adaptive-stochastic-bandits","title":"Smoothness-Adaptive Contextual Bandits","arxiv_id":"1910.09714","date":"2019-10-22","proceeding":null,"authors":["Yonatan Gur","Ahmadreza Momeni","Stefan Wager"],"abstract":"We study a non-parametric multi-armed bandit problem with stochastic covariates, where a key complexity driver is the smoothness of payoff functions with respect to covariates. Previous studies have focused on deriving minimax-optimal algorithms in cases where it is a priori known how smooth the payoff functions are. In practice, however, the smoothness of payoff functions is typically not known in advance, and misspecification of smoothness may severely deteriorate the performance of existing methods. In this work, we consider a framework where the smoothness of payoff functions is not known, and study when and how algorithms may adapt to unknown smoothness. First, we establish that designing algorithms that adapt to unknown smoothness of payoff functions is, in general, impossible. However, under a self-similarity condition (which does not reduce the minimax complexity of the dynamic optimization problem at hand), we establish that adapting to unknown smoothness is possible, and further devise a general policy for achieving smoothness-adaptive performance. Our policy infers the smoothness of payoffs throughout the decision-making process, while leveraging the structure of off-the-shelf non-adaptive policies. We establish that for problem settings with either differentiable or non-differentiable payoff functions, this policy matches (up to a logarithmic scale) the regret rate that is achievable when the smoothness of payoffs is known a priori.","url_abs":"https://arxiv.org/abs/1910.09714v5","url_pdf":"https://arxiv.org/pdf/1910.09714v5.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":"smoothness-adaptive-stochastic-bandits","repo_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"multi-armed-bandits","task_name":"Multi-Armed Bandits"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1910.09714","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1910.09714"}},"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/armmn/Smoothness-Adaptive-Contextual-Bandits","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":"5440a30e67f6c3db","entry":"f1_unwrapped_nss","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"Exp211.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/Exp211.py","link_basis":"first_harvest_node","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":"5440a30e67f6c3db"}},{"code_sha256_prefix":"fcc691c6eab41899","entry":"f1_unwrapped_nss","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"Exp212.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/Exp212.py","link_basis":"first_harvest_node","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":"fcc691c6eab41899"}},{"code_sha256_prefix":"cbc806ab836500ee","entry":"periodically_continued","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/utilities.py","link_basis":"first_harvest_node","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":"cbc806ab836500ee"}},{"code_sha256_prefix":"03dd80301bb5f93c","entry":"phi","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"Exp211.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/Exp211.py","link_basis":"first_harvest_node","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":"03dd80301bb5f93c"}},{"code_sha256_prefix":"54a0efa10181f2fc","entry":"prabola","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/utilities.py","link_basis":"first_harvest_node","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":"54a0efa10181f2fc"}},{"code_sha256_prefix":"51e4ed70a316db51","entry":"saw","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"utilities.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/utilities.py","link_basis":"first_harvest_node","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":"51e4ed70a316db51"}},{"code_sha256_prefix":"91b5931a9877e995","entry":"shift_scale_phi","repo":"armmn/Smoothness-Adaptive-Contextual-Bandits","repo_kind":"official","path":"Exp211.py","file_url":"https://github.com/armmn/Smoothness-Adaptive-Contextual-Bandits/blob/HEAD/Exp211.py","link_basis":"first_harvest_node","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":"91b5931a9877e995"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}