{"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/a-unified-theory-of-diversity-in-ensemble","title":"A Unified Theory of Diversity in Ensemble Learning","arxiv_id":"2301.03962","date":"2023-01-10","proceeding":null,"authors":["Danny Wood","Tingting Mu","Andrew Webb","Henry Reeve","Mikel Luján","Gavin Brown"],"abstract":"We present a theory of ensemble diversity, explaining the nature of diversity for a wide range of supervised learning scenarios. This challenge has been referred to as the holy grail of ensemble learning, an open research issue for over 30 years. Our framework reveals that diversity is in fact a hidden dimension in the bias-variance decomposition of the ensemble loss. We prove a family of exact bias-variance-diversity decompositions, for a wide range of losses in both regression and classification, e.g., squared, cross-entropy, and Poisson losses. For losses where an additive bias-variance decomposition is not available (e.g., 0/1 loss) we present an alternative approach: quantifying the effects of diversity, which turn out to be dependent on the label distribution. Overall, we argue that diversity is a measure of model fit, in precisely the same sense as bias and variance, but accounting for statistical dependencies between ensemble members. Thus, we should not be maximising diversity as so many works aim to do -- instead, we have a bias/variance/diversity trade-off to manage.","url_abs":"https://arxiv.org/abs/2301.03962v3","url_pdf":"https://arxiv.org/pdf/2301.03962v3.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":"a-unified-theory-of-diversity-in-ensemble","repo_url":"https://github.com/echostatements/decompose","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"ensemble-learning","task_name":"Ensemble Learning"},{"task_slug":"open-question","task_name":"Open-Ended Question Answering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2301.03962","atlas_url":"https://app.syntology.ai/?focus=2301.03962","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2301.03962"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/echostatements/decompose","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":1,"unverified":5},"by_repo_kind":{"official":{"samples":6,"ran":1,"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":"0474a34258d89244","entry":"mease_dataset","repo":"echostatements/decompose","repo_kind":"official","path":"decompose/data_utils.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/decompose/data_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0474a34258d89244"}},{"code_sha256_prefix":"ee877a81ad4c64cb","entry":"fetch","repo":"echostatements/decompose","repo_kind":"official","path":"datasets/mnist_download_script.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/datasets/mnist_download_script.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":"ee877a81ad4c64cb"}},{"code_sha256_prefix":"4d12eef9178ff9c1","entry":"load_data","repo":"echostatements/decompose","repo_kind":"official","path":"decompose/data_utils.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/decompose/data_utils.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":"4d12eef9178ff9c1"}},{"code_sha256_prefix":"d24ba2ef9595c141","entry":"load_results","repo":"echostatements/decompose","repo_kind":"official","path":"decompose/experiments.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/decompose/experiments.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":"d24ba2ef9595c141"}},{"code_sha256_prefix":"217f8e38ff20cd5e","entry":"load_standard_dataset","repo":"echostatements/decompose","repo_kind":"official","path":"decompose/data_utils.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/decompose/data_utils.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":"217f8e38ff20cd5e"}},{"code_sha256_prefix":"e17c021e42130d9d","entry":"mode_with_random_ties","repo":"echostatements/decompose","repo_kind":"official","path":"decompose/zero_one_loss.py","file_url":"https://github.com/echostatements/decompose/blob/HEAD/decompose/zero_one_loss.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":"e17c021e42130d9d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}