{"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/mapping-conditional-distributions-for-domain-1","title":"Mapping conditional distributions for domain adaptation under generalized target shift","arxiv_id":"2110.15057","date":"2021-10-26","proceeding":"ICLR 2022 4","authors":["Matthieu Kirchmeyer","Alain Rakotomamonjy","Emmanuel de Bezenac","Patrick Gallinari"],"abstract":"We consider the problem of unsupervised domain adaptation (UDA) between a source and a target domain under conditional and label shift a.k.a Generalized Target Shift (GeTarS). Unlike simpler UDA settings, few works have addressed this challenging problem. Recent approaches learn domain-invariant representations, yet they have practical limitations and rely on strong assumptions that may not hold in practice. In this paper, we explore a novel and general approach to align pretrained representations, which circumvents existing drawbacks. Instead of constraining representation invariance, it learns an optimal transport map, implemented as a NN, which maps source representations onto target ones. Our approach is flexible and scalable, it preserves the problem's structure and it has strong theoretical guarantees under mild assumptions. In particular, our solution is unique, matches conditional distributions across domains, recovers target proportions and explicitly controls the target generalization risk. Through an exhaustive comparison on several datasets, we challenge the state-of-the-art in GeTarS.","url_abs":"https://arxiv.org/abs/2110.15057v2","url_pdf":"https://arxiv.org/pdf/2110.15057v2.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":"mapping-conditional-distributions-for-domain-1","repo_url":"https://github.com/mkirchmeyer/ostar","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.15057","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.15057"}},"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/mkirchmeyer/ostar","reach":{"status":"ok","spdx":"MIT"}}],"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":"69bbdec8aa8962fc","entry":"extract_cov","repo":"mkirchmeyer/ostar","repo_kind":"official","path":"proportion_estimators.py","file_url":"https://github.com/mkirchmeyer/ostar/blob/HEAD/proportion_estimators.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":"69bbdec8aa8962fc"}},{"code_sha256_prefix":"3d793b0e768f3c5d","entry":"extract_input","repo":"mkirchmeyer/ostar","repo_kind":"official","path":"utils_local.py","file_url":"https://github.com/mkirchmeyer/ostar/blob/HEAD/utils_local.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":"3d793b0e768f3c5d"}},{"code_sha256_prefix":"383c5ec981b666c9","entry":"extract_prototypes","repo":"mkirchmeyer/ostar","repo_kind":"official","path":"utils_local.py","file_url":"https://github.com/mkirchmeyer/ostar/blob/HEAD/utils_local.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":"383c5ec981b666c9"}},{"code_sha256_prefix":"7c0eeaf2c6244ba1","entry":"format_list","repo":"mkirchmeyer/ostar","repo_kind":"official","path":"utils_local.py","file_url":"https://github.com/mkirchmeyer/ostar/blob/HEAD/utils_local.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":"7c0eeaf2c6244ba1"}},{"code_sha256_prefix":"726360a69c43d13c","entry":"get_ratio_digits","repo":"mkirchmeyer/ostar","repo_kind":"official","path":"compare_digits_setting.py","file_url":"https://github.com/mkirchmeyer/ostar/blob/HEAD/compare_digits_setting.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":"726360a69c43d13c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}