Overlapping Membership and Geometric-Algebra Borders for a Concept Hierarchy: A Follow-Up to "Algorithm, Not Metric"
Authors: Pat Parslow (Draft)
Production status update: the multi-membership finding here (34–46% of pages genuinely belong to more than one cluster) is directly visible on the live site's Concept Atlas today, rendered as "swamp" terrain glyphs where two or more k-blade cluster territories overlap. See K-Blades vs. Self-Organizing Maps: How the Live Concept Atlas Works Now for how this and the predecessor paper's findings were carried into production.
This is a direct follow-up to "Algorithm, Not Metric: Why Pairwise and K-Blade Geometric Algebra Appeared to Fail at Concept Hierarchy Construction, and What Fixed It" (Tests A–E). It assumes that paper's findings — in particular, that pairing k-blade subspace similarity with a non-greedy clustering algorithm (graph communities or rate-of-change growth-clustering) recovers performance competitive with cosine similarity — and extends the investigation in three directions: allowing pages to belong to more than one cluster, measuring the computational cost of doing so, and using the k-blade representation's own geometry to quantify the relationship between clusters, not just within them.
Abstract
Real documents are frequently and legitimately multi-topic, a point demonstrated directly in the predecessor paper (a "triangulation" page filed under general project advice, but topically inseparable from the site's spatial-cartography material). A clustering pipeline that forces one cluster per page cannot represent this. We extend both non-greedy clustering algorithms from the predecessor paper (graph communities; rate-of-change growth-clustering) with a generic second pass that allows multi-membership, and measure its cost directly: on a 160-page corpus, the full similarity-plus-clustering-plus-overlap pipeline completes in under 250 milliseconds end to end for either algorithm, with the overlap pass itself never exceeding 25 milliseconds. Under a fixed affinity margin, 34–46% of pages qualify for more than one cluster across all four algorithm×metric combinations tested, supporting the multi-topic hypothesis quantitatively rather than only anecdotally. Separately, we show that the k-blade subspace representation supports two genuinely new relational measurements that a single mean-vector (cosine-only) representation cannot express as directly: a "closest approach" distance between two clusters' dominant directions, and a per-page "distance to a cluster's surface" (the residual norm after projecting a page's embedding orthogonal to a cluster's spanned subspace). We report concrete, worked examples of both metrics on the real corpus.
1. Motivation
The predecessor paper closed with a hierarchy-construction pipeline that, at its best-tuned setting, matched a strong cosine baseline. That pipeline still produced a strict partition: one cluster per page. Two observations argued against stopping there. First, the predecessor paper's own Section 6 found concrete cases — verified by inspection, not assumption — where a page's most useful conceptual neighbours span more than one of the site's own topic areas. Second, the k-blade representation's central premise (subspaces, not single directions, as the unit of representation) makes "how far is this page from being cleanly inside cluster A vs. cluster B" a well-defined geometric question, rather than only a clustering-confidence heuristic bolted on afterward. Both observations point toward the same next step: stop discarding information at the point where a page is assigned to exactly one cluster.
2. Overlapping Membership: Method
Rather than adopt a different overlapping-community-detection algorithm specific to graphs (a substantial literature exists, but adopting one would re-introduce the algorithm-vs-metric confound that Tests A–C fell into), we implement overlap as a generic second pass applicable to any disjoint (hard) partition, so the two base algorithms already validated (graph communities; growth-clustering) can both be extended identically and compared on equal footing.
For a disjoint partition into clusters \(C_1,\ldots,C_m\), and a similarity matrix \(S\), define each page \(i\)'s affinity to cluster \(C_k\) as its mean similarity to that cluster's other members:
\[ \operatorname{aff}(i, C_k) = \frac{1}{|C_k \setminus \{i\}|} \sum_{j \in C_k \setminus \{i\}} S_{ij} \]
Page \(i\)'s best affinity is \(b_i = \max_k \operatorname{aff}(i, C_k)\) (its already-assigned cluster, by construction of the base partition). Page \(i\) additionally joins every cluster \(C_k\) for which
\[ \operatorname{aff}(i, C_k) \ge b_i - \text{MARGIN} \]
using an absolute margin on z-scored similarity (not a ratio) so the rule behaves sensibly on negative affinities, which z-scoring routinely produces. MARGIN = 0.3 throughout this paper; it is a real, tunable sensitivity parameter, not a fixed constant, and no attempt was made to select it in a principled per-metric way (a limitation, noted in Section 6).
3. Overlapping Membership: Results
The overlap pass was run on top of both base algorithms (graph communities at top-K=8; growth-clustering at each metric's own previously-tuned elbow ratio: 0.8 for k-blade, 0.9 for cosine) and both similarity metrics (k-blade rank≤3; cosine), on the same 160-page corpus used throughout this line of work.
| method | #base clusters | ARI | NMI | pages in 2+ clusters | avg clusters/page | max clusters/page |
|---|---|---|---|---|---|---|
| graph-communities, k-blade | 8 | 0.3629 | 0.5538 | 55 | 1.594 | 7 |
| graph-communities, cosine | 5 | 0.3344 | 0.5415 | 74 | 1.594 | 4 |
| growth-clustering, k-blade | 38 | 0.6338 | 0.6958 | 64 | 1.719 | 8 |
| growth-clustering, cosine | 41 | 0.6325 | 0.6925 | 74 | 1.850 | 8 |
Between 34% (55/160) and 46% (74/160) of pages qualify for a second cluster under every method tested. This is not a fringe effect concentrated in a handful of ambiguous pages: the average page that has any overlap at all belongs to 1.6–1.9 clusters. Base-partition quality (ARI/NMI, evaluated on each page's primary assignment only, since standard ARI/NMI have no direct multi-label form) is unchanged from the predecessor paper, as expected — the overlap pass is a strictly additive second stage, not a replacement for the base clustering.
4. Timing
All four combinations were timed stage-by-stage on the same 160-page corpus (embeddings pre-computed and cached; timings below exclude embedding inference itself, which is a one-time cost shared by every method in this and the predecessor paper).
| stage | time |
|---|---|
| build k-blade similarity matrix (all 12,720 pairs, rank≤3) | 144 ms |
| build cosine similarity matrix (already cached) | 0.5 ms |
| graph-communities base clustering, either metric | 34–40 ms |
| growth-clustering base clustering, either metric | ~4 ms |
| overlap pass, on top of graph-communities | 4–6 ms |
| overlap pass, on top of growth-clustering | 23–25 ms |
The full pipeline — similarity matrix, clustering, and overlap expansion, for either algorithm — completes in well under 250 ms total at this corpus size. The overlap pass costs more on top of growth-clustering than on top of graph communities (23–25 ms vs. 4–6 ms) simply because growth-clustering produces roughly five times as many base clusters (38–41 vs. 5–8), and the overlap pass's cost scales with the number of (page, cluster) affinity evaluations, i.e. with cluster count, not with which similarity metric is used. A companion paper situates these numbers against the live site's SOM pipeline directly.
5. GA-Native Border Metrics
A mean-vector-per-cluster representation (the natural cosine-only analogue) reduces a cluster's relationship to any other cluster to a single number: the angle (or cosine) between two mean directions. The k-blade representation — a cluster as a genuine subspace, not a single direction — supports two distinct and separately informative numbers, both computed directly from the same rank-≤3 orthonormal bases already built for clustering, at negligible extra cost (a handful of small \((r \times r)\)-scale SVDs per cluster pair):
- Closest approach: the smallest principal angle between two clusters' bases — how near the two regions come to sharing an actual direction, even if the bulk of their members are far apart. A small value indicates a genuine, structural point of contact between two topic regions, not just "these two centroids happen to be near each other."
- Volume separation: the generalized sine across all shared dominant directions (the same closed form used as the Test C/D/E merge criterion) — how close the two regions are considered as whole spanned volumes, not just at their single nearest direction.
On the k-blade graph-communities clustering (8 clusters, sizes 6–46), computing both metrics for every one of the 28 cluster pairs took a negligible fraction of a millisecond once the cluster bases existed. The closest and furthest pairs found:
| cluster pair | sizes | closest approach (rad) | volume separation |
|---|---|---|---|
| 0, 2 (nearest) | 46, 24 | 0.3816 | 0.3675 |
| 2, 5 | 24, 9 | 0.4358 | 0.3618 |
| 0, 6 (furthest) | 46, 8 | 0.6378 | 0.5911 |
Separately, for any individual page, the residual after projecting its embedding orthogonal to a cluster's subspace basis \(A\) — \(\lVert v - A A^\top v \rVert\) — is a direct, literal "distance from this page to the cluster's own spanned region." This is most informative for pages that qualified for more than one cluster in the overlap pass, since it gives a graded answer to "how firmly does this page belong to each of its qualifying clusters" rather than a flat yes/no membership list. Worked examples from the real corpus:
| page | folder | distances to each qualifying cluster |
|---|---|---|
| toolbelt | teaching/learning/concurrency | cluster4=0.5847, cluster5=0.3087 — clearly closer to cluster 5 |
| goap | teaching/learning/games | cluster1=0.6114, cluster4=0.7116, cluster7=0.6423 — roughly equidistant from all three |
| data-structures | teaching/learning/oop | cluster2=0.6439, cluster4=0.4641 — clearly closer to cluster 4 |
toolbelt and data-structures illustrate a page that technically qualifies for two clusters under the affinity-margin rule but is, geometrically, meaningfully closer to one of them; goap illustrates a page that is a genuinely ambiguous three-way border case, not an artifact of a loose margin threshold. A flat multi-membership list cannot distinguish these two situations; the residual-distance metric can.
6. Limitations
- The overlap margin (0.3, absolute, on z-scored similarity) was fixed by inspection, not tuned or cross-validated; the multi-membership rate (34–46%) is directly sensitive to this choice and should not be read as a fixed property of the corpus.
- Multi-label ARI/NMI variants exist in the literature and were not used here; base-partition quality is reported on primary (first) assignment only, which understates whatever additional correctness the overlap pass contributes.
- Border metrics were computed on the eight graph-communities k-blade base clusters as a single worked example; a full comparison across all four algorithm×metric combinations (analogous to the predecessor paper's exhaustive tables) was not performed and is a natural next step if border metrics prove useful downstream.
- As in the predecessor paper, all findings are specific to this 160-page corpus and one embedding model; generalization is untested.
7. Conclusion
Allowing multi-membership costs almost nothing computationally (single-digit-to-low-double-digit milliseconds on top of an already sub-250ms pipeline) and is not a marginal correction: on this corpus, roughly a third to nearly half of all pages genuinely qualify for more than one cluster under every clustering method tested, which is a direct, quantitative confirmation of the multi-topic observation made qualitatively in the predecessor paper. Separately, the k-blade subspace representation supports two relational measurements — closest-approach and volume-separation between clusters, and residual distance-to-surface for individual pages — that have no equally direct analogue in a mean-vector/cosine-only representation, and that distinguish cases (a page firmly closer to one of its qualifying clusters vs. a page genuinely balanced between several) that a flat overlapping-membership list cannot. These are offered as building blocks for a navigable concept map, developed as a companion piece to this paper.
Appendix: Reproducibility
Code:tools/site/concept_experiments/ga_overlapping_clusters_and_borders.py(Sections tools/site/concept_experiments/ga_overlapping_clusters_and_borders.py (Sections 2–5; full stdout in overlap_borders_dump.txt in the same directory). Depends on ga_kblade_hierarchy.py, ga_kblade_graph_communities.py, and ga_kblade_growth_clustering.py from the predecessor paper's codebase. All numbers in this paper are read directly from that script's output against the cached 160-page embedding data (ensemble_cache.npz); none are estimated.