{"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/information-theoretic-counterfactual-learning","title":"Information Theoretic Counterfactual Learning from Missing-Not-At-Random Feedback","arxiv_id":"2009.02623","date":"2020-09-06","proceeding":"NeurIPS 2020 12","authors":["Zifeng Wang","Xi Chen","Rui Wen","Shao-Lun Huang","Ercan E. Kuruoglu","Yefeng Zheng"],"abstract":"Counterfactual learning for dealing with missing-not-at-random data (MNAR) is an intriguing topic in the recommendation literature since MNAR data are ubiquitous in modern recommender systems. Missing-at-random (MAR) data, namely randomized controlled trials (RCTs), are usually required by most previous counterfactual learning methods for debiasing learning. However, the execution of RCTs is extraordinarily expensive in practice. To circumvent the use of RCTs, we build an information-theoretic counterfactual variational information bottleneck (CVIB), as an alternative for debiasing learning without RCTs. By separating the task-aware mutual information term in the original information bottleneck Lagrangian into factual and counterfactual parts, we derive a contrastive information loss and an additional output confidence penalty, which facilitates balanced learning between the factual and counterfactual domains. Empirical evaluation on real-world datasets shows that our CVIB significantly enhances both shallow and deep models, which sheds light on counterfactual learning in recommendation that goes beyond RCTs.","url_abs":"https://arxiv.org/abs/2009.02623v2","url_pdf":"https://arxiv.org/pdf/2009.02623v2.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":"information-theoretic-counterfactual-learning","repo_url":"https://github.com/RyanWangZf/CVIB-Rec","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"recommendation-systems","task_name":"Recommendation Systems"},{"task_slug":null,"task_name":"counterfactual"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2009.02623","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2009.02623"}},"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/RyanWangZf/CVIB-Rec","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_honours":1,"ran":3,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":"ae360e2dd0114535","entry":"generate_total_sample","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"matrix_factorization.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/matrix_factorization.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ae360e2dd0114535"}},{"code_sha256_prefix":"615fa676468d85d9","entry":"gini_index","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"utils.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/utils.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"615fa676468d85d9"}},{"code_sha256_prefix":"4fe5b26db1726dd8","entry":"one_hot","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"matrix_factorization.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/matrix_factorization.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4fe5b26db1726dd8"}},{"code_sha256_prefix":"926bdb90da334126","entry":"rating_mat_to_sample","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/dataset.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"926bdb90da334126"}},{"code_sha256_prefix":"b30dd0f0a1d1fde8","entry":"sigmoid","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"matrix_factorization.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/matrix_factorization.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b30dd0f0a1d1fde8"}},{"code_sha256_prefix":"bde459e5e57b9c6d","entry":"load_data","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"dataset.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/dataset.py","link_basis":"plan_row","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":"bde459e5e57b9c6d"}},{"code_sha256_prefix":"6a729d144afe99a2","entry":"simulate_click_or_not","repo":"RyanWangZf/CVIB-Rec","repo_kind":"official","path":"utils.py","file_url":"https://github.com/RyanWangZf/CVIB-Rec/blob/HEAD/utils.py","link_basis":"plan_row","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":"6a729d144afe99a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}