{"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/unsupervised-learning-under-latent-label","title":"Unsupervised Learning under Latent Label Shift","arxiv_id":"2207.13179","date":"2022-07-26","proceeding":null,"authors":["Manley Roberts","Pranav Mani","Saurabh Garg","Zachary C. Lipton"],"abstract":"What sorts of structure might enable a learner to discover classes from unlabeled data? Traditional approaches rely on feature-space similarity and heroic assumptions on the data. In this paper, we introduce unsupervised learning under Latent Label Shift (LLS), where we have access to unlabeled data from multiple domains such that the label marginals $p_d(y)$ can shift across domains but the class conditionals $p(\\mathbf{x}|y)$ do not. This work instantiates a new principle for identifying classes: elements that shift together group together. For finite input spaces, we establish an isomorphism between LLS and topic modeling: inputs correspond to words, domains to documents, and labels to topics. Addressing continuous data, we prove that when each label's support contains a separable region, analogous to an anchor word, oracle access to $p(d|\\mathbf{x})$ suffices to identify $p_d(y)$ and $p_d(y|\\mathbf{x})$ up to permutation. Thus motivated, we introduce a practical algorithm that leverages domain-discriminative models as follows: (i) push examples through domain discriminator $p(d|\\mathbf{x})$; (ii) discretize the data by clustering examples in $p(d|\\mathbf{x})$ space; (iii) perform non-negative matrix factorization on the discrete data; (iv) combine the recovered $p(y|d)$ with the discriminator outputs $p(d|\\mathbf{x})$ to compute $p_d(y|x) \\; \\forall d$. With semi-synthetic experiments, we show that our algorithm can leverage domain information to improve upon competitive unsupervised classification methods. We reveal a failure mode of standard unsupervised classification methods when feature-space similarity does not indicate true groupings, and show empirically that our method better handles this case. Our results establish a deep connection between distribution shift and topic modeling, opening promising lines for future work.","url_abs":"https://arxiv.org/abs/2207.13179v2","url_pdf":"https://arxiv.org/pdf/2207.13179v2.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":"unsupervised-learning-under-latent-label","repo_url":"https://github.com/acmi-lab/latent-label-shift-ddfa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"unsupervised-learning-under-latent-label","repo_url":"https://github.com/manleyroberts/lls-ddfa","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2207.13179","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2207.13179"}},"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":"deterministic:regex_extraction","url":"https://github.com/kuangliu/pytorch-cifar","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/acmi-lab/Latent-Label-Shift-DDFA","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/manleyroberts/lls-ddfa","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/acmi-lab/latent-label-shift-ddfa","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"unverified":2},"by_repo_kind":{"official":{"samples":2,"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":2,"samples":[{"code_sha256_prefix":"25eef10232b18c97","entry":"ClassPriorEstimationTechnique","repo":"manleyroberts/lls-ddfa","repo_kind":"official","path":"ddfa/components/class_prior_estimation.py","file_url":"https://github.com/manleyroberts/lls-ddfa/blob/HEAD/ddfa/components/class_prior_estimation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"25eef10232b18c97"}},{"code_sha256_prefix":"91e80576cd4cfb94","entry":"ClusterNMFClassPriorEstimation","repo":"manleyroberts/lls-ddfa","repo_kind":"official","path":"ddfa/components/class_prior_estimation.py","file_url":"https://github.com/manleyroberts/lls-ddfa/blob/HEAD/ddfa/components/class_prior_estimation.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"91e80576cd4cfb94"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}