{"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/arxiv-2605-28501","title":"Fitting Unknown Number of Hyperplanes with Manifold Optimization","arxiv_id":"2605.28501","date":"2026-05-27","proceeding":null,"authors":["Zhiqin Cheng","Yu Zhan","Mingjin Zhang","Lingbo Liu","Liang Lin"],"abstract":"Fitting an unknown number of hyperplanes to data is a fundamental yet challenging problem in machine learning, characterized by its non-convexity, non-differentiability, and unknown model order. Existing approaches often struggle with local optima or lack geometric consistency. To address these limitations, we propose a novel framework based on Manifold Optimization. We reformulate the problem as an unsupervised learning task on the unit sphere manifold $\\mathcal{S}^{\\textbf{dim}-1}$. This formulation effectively handles the non-convex constraints and linearizes the distance measurement, rendering the gradient descent tractable. We propose a Two-Stage Manifold Optimization algorithm. In Phase I, we employ a Riemannian Expectation-Maximization process with a heavy-tailed kernel to robustly estimate posterior probabilities, effectively resolving the ambiguities of point distribution between intersecting hyperplanes. In Phase II, upon convergence of the soft estimates, the probabilistic weights degenerate into hard matching, generating a precise local optimum that strictly satisfies the geometric definition. Furthermore, we introduce a projected density estimation strategy for initialization to facilitate global convergence by significantly reducing the feature description space and search complexity. Extensive experiments demonstrate that our method outperforms state-of-the-art baselines in both geometric accuracy and robustness.","url_abs":"https://arxiv.org/abs/2605.28501","url_pdf":"https://arxiv.org/pdf/2605.28501","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.28501","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.28501"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/aaronworry/HyperplanesFitting","reach":null}],"summary":{"ran":4,"unverified":6},"by_repo_kind":{"found_in_text":{"samples":10,"ran":4,"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":"518792e82839fef5","entry":"BackTrackingLineSearcher","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"518792e82839fef5"}},{"code_sha256_prefix":"03393653c70f8750","entry":"BaseSolver","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"03393653c70f8750"}},{"code_sha256_prefix":"9911ba9434e12814","entry":"ManifoldOptimization","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"9911ba9434e12814"}},{"code_sha256_prefix":"e22d986e73494238","entry":"Point","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e22d986e73494238"}},{"code_sha256_prefix":"aecb45ef571966ef","entry":"Hyperplane","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"aecb45ef571966ef"}},{"code_sha256_prefix":"afde30162e1e46a0","entry":"HyperplanesFitting","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"afde30162e1e46a0"}},{"code_sha256_prefix":"21af1e5f34e63284","entry":"InitialSolution","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"21af1e5f34e63284"}},{"code_sha256_prefix":"066a1edf5da83106","entry":"RiemannianSubmanifold","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"066a1edf5da83106"}},{"code_sha256_prefix":"bab62dba96d45e13","entry":"SphereManifold","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"bab62dba96d45e13"}},{"code_sha256_prefix":"c17000fb4a264cdb","entry":"SteepestDescent","repo":"aaronworry/HyperplanesFitting","repo_kind":"found_in_text","path":"algorithm/hyperplanes_fitting.py","file_url":"https://github.com/aaronworry/HyperplanesFitting/blob/HEAD/algorithm/hyperplanes_fitting.py","link_basis":"first_harvest_node","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":"c17000fb4a264cdb"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}