{"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/optimal-transport-for-multi-source-domain","title":"Optimal Transport for Multi-source Domain Adaptation under Target Shift","arxiv_id":"1803.04899","date":"2018-03-13","proceeding":null,"authors":["Ievgen Redko","Nicolas Courty","Rémi Flamary","Devis Tuia"],"abstract":"In this paper, we propose to tackle the problem of reducing discrepancies\nbetween multiple domains referred to as multi-source domain adaptation and\nconsider it under the target shift assumption: in all domains we aim to solve a\nclassification problem with the same output classes, but with labels'\nproportions differing across them. This problem, generally ignored in the vast\nmajority papers on domain adaptation papers, is nevertheless critical in\nreal-world applications, and we theoretically show its impact on the adaptation\nsuccess. To address this issue, we design a method based on optimal transport,\na theory that has been successfully used to tackle adaptation problems in\nmachine learning. Our method performs multi-source adaptation and target shift\ncorrection simultaneously by learning the class probabilities of the unlabeled\ntarget sample and the coupling allowing to align two (or more) probability\ndistributions. Experiments on both synthetic and real-world data related to\nsatellite image segmentation task show the superiority of the proposed method\nover the state-of-the-art.","url_abs":"http://arxiv.org/abs/1803.04899v3","url_pdf":"http://arxiv.org/pdf/1803.04899v3.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":"optimal-transport-for-multi-source-domain","repo_url":"https://github.com/PythonOT/POT/blob/master/ot/da.py","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"jax","reach":null},{"paper_slug":"optimal-transport-for-multi-source-domain","repo_url":"https://github.com/ievred/JCPOT","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"optimal-transport-for-multi-source-domain","repo_url":"https://github.com/CtrlZ1/transferLearningAlgorithms/tree/main/pytorch-JCPOT","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"image-segmentation","task_name":"Image Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1803.04899","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1803.04899"}},"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/ievred/JCPOT","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CtrlZ1/transferLearningAlgorithms/tree/main/pytorch-JCPOT","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PythonOT/POT/blob/master/ot/da.py","reach":null}],"summary":{"ran_violates":2,"ran_fixture":1},"by_repo_kind":{"listed":{"samples":3,"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":3,"samples":[{"code_sha256_prefix":"196676b01eee700c","entry":"computeKLdiv","repo":"ievred/JCPOT","repo_kind":"listed","path":"estimproportion.py","file_url":"https://github.com/ievred/JCPOT/blob/HEAD/estimproportion.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"196676b01eee700c"}},{"code_sha256_prefix":"1c7c03da13f5f98b","entry":"computeL1div","repo":"ievred/JCPOT","repo_kind":"listed","path":"estimproportion.py","file_url":"https://github.com/ievred/JCPOT/blob/HEAD/estimproportion.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1c7c03da13f5f98b"}},{"code_sha256_prefix":"5d72b895dda97238","entry":"getProportions","repo":"ievred/JCPOT","repo_kind":"listed","path":"estimproportion.py","file_url":"https://github.com/ievred/JCPOT/blob/HEAD/estimproportion.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5d72b895dda97238"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}