{"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/towards-calibrated-deep-clustering-network","title":"Towards Calibrated Deep Clustering Network","arxiv_id":"2403.02998","date":"2024-03-04","proceeding":null,"authors":["Yuheng Jia","Jianhong Cheng","Hui Liu","Junhui Hou"],"abstract":"Deep clustering has exhibited remarkable performance; however, the over-confidence problem, i.e., the estimated confidence for a sample belonging to a particular cluster greatly exceeds its actual prediction accuracy, has been overlooked in prior research. To tackle this critical issue, we pioneer the development of a calibrated deep clustering framework. Specifically, we propose a novel dual-head (calibration head and clustering head) deep clustering model that can effectively calibrate the estimated confidence and the actual accuracy. The calibration head adjusts the overconfident predictions of the clustering head, generating prediction confidence that match the model learning status. Then, the clustering head dynamically select reliable high-confidence samples estimated by the calibration head for pseudo-label self-training. Additionally, we introduce an effective network initialization strategy that enhances both training speed and network robustness. The effectiveness of the proposed calibration approach and initialization strategy are both endorsed with solid theoretical guarantees. Extensive experiments demonstrate the proposed calibrated deep clustering model not only surpasses state-of-the-art deep clustering methods by 10 times in terms of expected calibration error but also significantly outperforms them in terms of clustering accuracy.","url_abs":"https://arxiv.org/abs/2403.02998v2","url_pdf":"https://arxiv.org/pdf/2403.02998v2.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":"towards-calibrated-deep-clustering-network","repo_url":"https://github.com/ChengJianH/CDC","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"deep-clustering","task_name":"Deep Clustering"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.02998","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.02998"}},"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/ChengJianH/CDC","reach":null}],"summary":{"ran":2,"ran_fixture":2,"ran_draft_wrong":2,"unverified":1},"by_repo_kind":{"official":{"samples":7,"ran":6,"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":"5bbebd592ab6f00f","entry":"BasicClustering","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5bbebd592ab6f00f"}},{"code_sha256_prefix":"d1bd5b90e9e57d4c","entry":"PyTorchKMeans","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d1bd5b90e9e57d4c"}},{"code_sha256_prefix":"4aa2e08b1b713db1","entry":"_kmeans_plusplus","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4aa2e08b1b713db1"}},{"code_sha256_prefix":"c0a56261751a7cb8","entry":"pairwise_cosine","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c0a56261751a7cb8"}},{"code_sha256_prefix":"2ebcdcd274d9b3c9","entry":"pairwise_euclidean","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2ebcdcd274d9b3c9"}},{"code_sha256_prefix":"500990b89c506e5c","entry":"stable_cumsum","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"500990b89c506e5c"}},{"code_sha256_prefix":"718dbd399e4c0dcc","entry":"train_cali","repo":"ChengJianH/CDC","repo_kind":"official","path":"cdc/methods/calibrate_train.py","file_url":"https://github.com/ChengJianH/CDC/blob/HEAD/cdc/methods/calibrate_train.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"718dbd399e4c0dcc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}