Introduction Rough Clustering (Distances) Rough Clustering (Neighborhoods) Topographic Mapping

Uncertainty, Topology, and Graphs in Prototype‑Based Learning

Seiki Ubukata · Osaka Metropolitan University
ISCIIA 2026 Invited talk · October 30, 2026

Take a photo!

Talk site:
slides, papers, code

About me

Seiki Ubukata

Associate Professor, Graduate School of Informatics, Osaka Metropolitan University, Osaka, Japan

Research Fuzzy and rough clustering, self-organizing maps

2020–22
Osaka Prefecture Univ., Associate Professor
2015–20
Osaka Prefecture Univ., Assistant Professor
2014–15
Osaka University, Assistant Professor
2014
Ph.D., Hokkaido University

Service

2025–
SOFT, Auditor
2023–25
SOFT, Board of Directors
2019–
JACIII, Editorial Board

Selected awards

2024
SOFT Emerging Research Leader Award
2022
JACIII Best Paper Award
2019
JACIII Young Researcher Award
2015
IEEE CIS Japan Chapter Young Researcher Award

Clustering groups data; a prototype summarizes a group

Most data come without labels, so we look for the groups in them.

→ k-means is the standard way to find these prototypes.

Overview of this talk

Green names are our methods.The thread: from rule-based updates to one objective.

Good prototypes are close to their data points

k-means minimizes one objective

k-means minimizes $J$ by two alternating updates

Goal Each prototype should stand for the data points of its group.

We need one number for how well they do, and prototypes that make it small.

We split the data points into $C$ clusters (here $C=3$).
The membership $u_{ci}$ says which cluster data point $i$ is in, so choosing $u$ is the clustering.

Minimize $J$ in turns: assign with the prototypes fixed, then average.

$$J=\underbrace{\class{t-s}{\sum_i\sum_c}}_{\substack{\text{all data points}\\\text{and clusters}}}\;\underbrace{\class{t-u}{u_{ci}}}_{\substack{1\text{ if }i\text{ is in }c\text{,}\\\text{else }0}}\;\underbrace{\class{t-d}{\|\bm{x}_i-\bm{b}_c\|^2}}_{\substack{\text{squared}\\\text{distance}}}$$
$$\underbrace{\class{t-ua}{u_{ci}=1\ \text{for}\ c=\mathop{\arg\min}_k\|\bm{x}_i-\bm{b}_k\|^2}}_{\text{fix }\bm{b}\text{: the nearest prototype}}$$ $$\underbrace{\class{t-bm}{\bm{b}_c=\frac{\sum_i u_{ci}\bm{x}_i}{\sum_i u_{ci}}}}_{\text{fix }u\text{: the mean}}$$

k-means is a clustering method that represents each cluster by the mean of its data points.

$J$ measures the fit: the squared distance from each data point to its prototype, summed over all data points.$\bm{x}_i$: data point $i$; $\bm{b}_c$: the prototype of cluster $c$.

Each update minimizes $J$, so $J$ never increases.

MacQueen, 1967

k-means splits clusters with a crisp boundary

FCM expresses the boundary by degrees

Problem k-means forces a data point halfway between two clusters to pick one.

So we let membership be a degree in $[0,1]$.

The same $J$ as k-means, but membership is a degree, softened by the power $m$.

Both updates minimize $J$: degrees from distances, prototypes as weighted means.

$$J=\sum_i\sum_c \underbrace{\class{t-u}{u_{ci}^{\,m}}}_{\text{degree, to the power }m}\|\bm{x}_i-\bm{b}_c\|^2$$
$$\underbrace{u_{ci}=\frac{\|\bm{x}_i-\bm{b}_c\|^{-2/(m-1)}}{\sum_k\|\bm{x}_i-\bm{b}_k\|^{-2/(m-1)}}}_{\text{nearer, larger; summing to 1}}$$ $$\underbrace{\bm{b}_c=\frac{\sum_i u_{ci}^{\,m}\,\bm{x}_i}{\sum_i u_{ci}^{\,m}}}_{\text{weighted mean}}$$

Idea The nearer a prototype, the larger the degree; each data point’s degrees add up to 1.

FCM (fuzzy c-means) is a clustering method that gives each data point a degree of membership in every cluster.

$u_{ci}\in[0,1]$, summing to 1 over the clusters.$m>1$ is the fuzzifier: the larger $m$, the softer the degrees.

$J$ never increases.FCM keeps the objective and the two updates of k-means, with degrees in place of 0 or 1.

Bezdek, 1981

Part 1 · Rough Clustering (Distances)

Part 1 finds uncertain regions between clusters by distances.From RCM to its family of thresholds: GRCM and ExRCM.

FCM gives boundary data points degrees near 0.5

In RCM, a data point belongs to all relatively close clusters

Problem FCM's degrees in $[0,1]$ are hard to interpret: near 0.5, we cannot tell where a data point belongs.

So we let a data point between clusters belong to both.

To let a data point belong to several clusters, RCM uses the upper membership $\overline{u}_{ci}$: 1 if data point $i$ belongs to cluster $c$.
Data point $i$ belongs to every cluster whose prototype is at most $\beta$ farther than the nearest one.

A data point in two clusters counts ½ in each; each prototype is the weighted mean.

$$\underbrace{\overline{u}_{ci}=1}_{i\text{ belongs to }c}\iff d_{ci}\le \underbrace{\class{t-dmin}{d_i^{\min}}}_{\text{nearest}}+\underbrace{\class{t-beta}{\beta}}_{\text{slack}}$$
$$\underbrace{\tilde{u}_{ci}=\frac{\overline{u}_{ci}}{\sum_k\overline{u}_{ki}}}_{\substack{\text{normalized}\\\text{membership}}}$$ $$\underbrace{\bm{b}_c=\frac{\sum_i\tilde{u}_{ci}\,\bm{x}_i}{\sum_i\tilde{u}_{ci}}}_{\text{weighted mean}}$$

Rough c-means (RCM) builds on rough set theory: a theory of sets with certain and possible members.

FCM gives every data point a degree.RCM gives each cluster certain and possible members.

Benefit RCM handles overlapping membership and extracts a clear boundary: the data points in both clusters (diamonds).

$d_{ci}$: the distance from $i$ to prototype $c$; $d_i^{\min}$: to the nearest (solid circle); dashed: plus $\beta$.

→ Two classic rules set this threshold differently.

Pawlak, 1982 · Lingras and West, 2004

GRCM and ExRCM generalize the RCM thresholds

Ours

Lingras adds a difference $\beta$, Peters a ratio $\alpha$.
We proposed generalized RCM (GRCM), which takes both, and exponentiated RCM (ExRCM), which adds a power $p$.

$$d_{ci}\le d_i^{\min}+\beta$$
$$d_{ci}\le \alpha\, d_i^{\min}$$
$$d_{ci}\le \alpha\, d_i^{\min}+\beta$$
$$d_{ci}^{\,p}\le(\alpha\, d_i^{\min})^{p}+\beta^{p}$$

Benefit We can adjust how the boundary is extracted, with $\alpha$, $\beta$ and $p$.

Peters, 2006 · Ubukata et al., 2017 · Okimoto et al., 2026

ExRCM's exponent $p$ changes the cluster shape

Ours

The same rule in every panel ($\alpha=1$, a shared $\beta$); only $p$ changes.

Dark orange: the center cluster's lower approximation; dark and light: its upper approximation.

Benefit ExRCM captures clusters flexibly: one exponent $p$ makes the lower approximation round, polygonal or star-shaped.

→ Yet every rule judges a data point by its distances alone.

Okimoto et al., 2026

Part 2 · Rough Clustering (Neighborhoods)

Part 2 finds uncertainty by neighborhoods, with rough set theory.From rough membership to RMCM2, recommendation, and a concept: graphs.

In rough set theory, neighborhoods give rise to uncertainty

Rough sets judge each data point by its neighborhood

Insight A data point is seen only through its neighbors: if they are in different clusters, its cluster is uncertain.

So we judge each data point by its neighborhood, not by distance.

The neighborhood of a data point: every data point within a radius $\delta$, itself included.

$$\underbrace{\mathcal{N}_i}_{\text{the neighborhood of }i}=\{\,j:\ \|\bm{x}_i-\bm{x}_j\|\le \delta\,\}$$

Idea If all neighbors of a data point are in a cluster, the data point is certainly in it; if only some are, possibly.

As $\delta$ shrinks, $\mathcal{N}_i$ becomes pure and $i$ certain.

Pawlak, 1982

RCM and rough sets judge this data point differently

RCM and rough sets give different boundaries

Two views RCM judges a data point by distance; rough sets, by its neighborhood.

Check Run both on the same data and compare the undecided data points.

This data point waits in the boundary by distance, yet all of its neighbors are in one cluster.

Ringed: data points undecided by distance, yet certain by their neighborhoods.→ So let the neighborhood decide: rough membership.

Rough membership grades a data point by its neighbors

Rough membership is the share of a data point's neighbors that are in the cluster.

All neighbors in the cluster: certain; neighbors in both: possibly in either.

$$\mu_{ci}=\underbrace{\frac{|\mathcal{N}_i\cap X_c|}{|\mathcal{N}_i|}}_{\text{share of cluster }c\text{ among the neighbors}}$$
$$\underbrace{\mu_{ci}=1}_{\text{certainly in }c}$$
$$\underbrace{0<\mu_{ci}<1}_{\text{possibly in }c\text{ (boundary)}}$$

$X_c$: the data points in cluster $c$ (labels from k-means).

$\mu_{ci}$ is a neighborhood-induced fuzzy membership.We can extract certain and uncertain regions by $\mu_{ci}$.

Pawlak and Skowron, 1994

RMCM2 puts rough membership into one objective

Ours

We proposed rough-membership-based rough clustering (RMCM2).
RMCM2 minimizes the k-means objective with rough membership in place of the crisp assignment.

The update rules of the labels and the prototypes are derived by minimizing $J$.
Labels go by the smaller cost $q$; prototypes are $\mu$-weighted means.

$$J=\sum_c\sum_i \underbrace{\class{t-mu}{\mu_{ci}}}_{\substack{\text{rough membership,}\\\text{in place of }u}}\|\bm{x}_i-\bm{b}_c\|^2$$
$$q_{cj}=\underbrace{\sum_i P_{ij}\|\bm{x}_i-\bm{b}_c\|^2}_{\substack{\bm{b}_c\text{'s error over the data points}\\\text{with }j\text{ in their neighborhoods}}}$$ $$\underbrace{\bm{b}_c=\frac{\sum_i \mu_{ci}\,\bm{x}_i}{\sum_i \mu_{ci}}}_{\mu\text{-weighted mean}}$$

$P_{ij}$: the weight of $j$ in $\mathcal{N}_i$ ($1/|\mathcal{N}_i|$, or 0 outside).Each update minimizes $J$, so $J$ never increases.

Ubukata, Notsu, Honda, Inf. Sci., 2021

Recommendation uses overlapping clusters

Our application

We applied our rough clustering methods to collaborative filtering (recommender systems).

Goal Recommend to each user an item they have not rated yet.Each user $\bm{x}_i$ is a row of ratings from 1 to 5; a dash means not rated.

With overlapping clusters ($C=2$), $\bm{x}_4$, between the groups, belongs to both.$\bm{b}_1$, $\bm{b}_2$: the prototypes, each cluster's mean rating of each item (– counts as 0).

Users in a cluster have similar tastes: an item with a high mean there is likely to be liked.So from each of a user's clusters: its most popular unrated item; $\bm{x}_4$ gets two.

Benefit Taking uncertainty into account improved recommendation performance.

Kim, Ubukata, Notsu, Honda, ISIS 2021

Overlapping clusters could form a prototype graph

Our concept

Overlaps could also show how clusters connect: the shape (topology) of the data.

With ExRCM or RMCM2, shared data points glue neighboring clusters into a graph: here a loop.

Part 3 · Topographic Mapping

Part 3 maps high-dimensional data to a low-dimensional representation, with prototypes kept in order: topographic mapping.From the SOM to SOM-OLP, with one objective.

A low-dimensional map lets us see high-dimensional data

Goal To see data with many dimensions, which cannot be drawn directly.

We need the few dimensions the data really vary in.

Manifold hypothesis: such data often lie near a low-dimensional surface (here, 2D in 3D).→ The self-organizing map (SOM) learns such a map with ordered prototypes.

Fefferman, Mitter, Narayanan, JAMS, 2016

The SOM orders prototypes on a lattice

1. An input $\bm{x}$ comes in.
2. Its nearest prototype is found: the winner $w$.
3. The winner and the nodes near it in the latent space move toward $\bm{x}$ together.

$$\underbrace{\bm{b}_c}_{\text{node }c}\leftarrow\bm{b}_c+\underbrace{\alpha}_{\text{rate}}\,\underbrace{h(c,w)}_{\substack{w\text{: the winner,}\\\text{nearest to }\bm{x}}}\,\underbrace{(\bm{x}-\bm{b}_c)}_{\substack{\text{toward}\\\text{the input}}}$$ $$\underbrace{h(c,w)=e^{-\|\bm{r}_c-\bm{r}_w\|^2/2\sigma^2}}_{\substack{\text{pulls the winner's neighbors too}\\\bm{r}_c\text{: node }c\text{ on the lattice; }\sigma\text{: reach}}}$$

Each node moves to a weighted mean of all data points.

$$\bm{b}_c=\frac{\sum_i h(c,w_i)\,\bm{x}_i}{\sum_i h(c,w_i)}$$ $$\underbrace{w_i=\mathop{\arg\min}_k\|\bm{x}_i-\bm{b}_k\|^2}_{\text{the winner of data point }i}$$

The shading on the right is $h(c,w)$: largest at the winner, less for its lattice neighbors.

On the lattice, a data point can only sit on its winner node.→ Can each data point have its own position on the lattice?

Kohonen, 1982

SOM-OLP gives each data point a position on the lattice

Ours

We proposed SOM with optimized latent positions (SOM-OLP): each data point gets its own continuous position $\bm{v}_i$ on the lattice.

Benefit The map shows each data point, not just its node; and $\bm{v}_i$ is a variable, learned with the prototypes under one objective.

Ubukata, Notsu, Honda, IJCNN 2026

SOM-OLP moves a data point smoothly on the lattice

Ours

We move one input $\bm{x}$ across the data space and watch where it lands on the lattice.

Notice The SOM winner jumps from node to node; the latent position $\bm{v}$ moves smoothly.→ How is $\bm{v}$ found?

SOM-OLP adds one variable: the latent position

SOM-OLP minimizes one objective

SOM-OLP minimizes $J$ in closed form, one block at a time

Given The SOM's prototypes $\bm{b}$ and memberships $u$ (soft winners), plus a new variable: each data point's latent position $\bm{v}_i$.

Find all three by minimizing one objective, so that no update makes it worse.

Ours

One objective: data fit, lattice distance of each position $\bm{v}$, entropy of $u$.

Fix two blocks of variables and minimize over the third, in closed form.

$$J=\sum_{i,c}u_{ci}\bigl(\underbrace{\class{t-fit}{\|\bm{x}_i-\bm{b}_c\|^2}}_{\text{data fit}}+\underbrace{\class{t-lat}{\gamma\|\bm{v}_i-\bm{r}_c\|^2}}_{\text{lattice distance}}+\underbrace{\class{t-ent}{\lambda\ln u_{ci}}}_{\text{entropy}}\bigr)$$
$$\underbrace{\class{t-bu}{u_{ci}\propto \exp(-q_{ci}/\lambda)}}_{\text{softmax}}$$ $$\underbrace{\class{t-bv}{\bm{v}_i=\sum_c u_{ci}\,\bm{r}_c}}_{\text{mean of nodes}}$$ $$\underbrace{\class{t-bb}{\bm{b}_c=\frac{\sum_i u_{ci}\bm{x}_i}{\sum_i u_{ci}}}}_{\text{mean of data}}$$

Memberships $u$ link the data space and the latent space.

$\bm{r}_c$: node $c$'s place on the lattice; $\gamma$ and $\lambda$ weigh the lattice distance and the entropy.$q_{ci}$: the data fit plus the lattice distance, the cost of node $c$ for data point $i$.

No block increased $J$ here.$O(nC)$ per iteration ($n$ data points, $C$ nodes); Heskes's energy: $O(nC^2)$.

Iris on a 16 × 16 map

Ours

We checked SOM-OLP on real data: Iris, 150 flowers with 4 features.

Check SOM-OLP places flowers between the nodes; the species keep their order.

Digits on a 16 × 16 map

Ours

Then on 64-dimensional data: Digits, 1,797 images of 8 × 8 pixels.

Check With SOM-OLP, each digit gathers in its own region.

Summary: what we did

Talk site

We handled uncertainty and topology with prototypes, moving from rules to one objective.

Thank you

Seiki Ubukata · Osaka Metropolitan University

Take a photo!

Talk site:
slides, papers, code

Supplementary material

The talk ends here; the slides that follow are for questions.RSCM and RMCM (Part 2); Heskes's SOM (Part 3).

Supplement: RSCM and RMCM, rough membership in rules

We first proposed RSCM and RMCM, which use rough membership in rules: lower and upper regions (RSCM), or weights (RMCM).

Ubukata et al., JACIII, 2018

SOM updates decrease no known function

Supplement: Heskes's SOM minimizes one energy

Problem SOM updates are rules that decrease no known function.

So we want SOM learning to minimize one energy, as k-means does.

One energy for all the errors, each winner chosen to make its own term smallest.

$$E=\sum_i\sum_c \underbrace{h(c,w_i)}_{\text{near the winner}}\|\bm{x}_i-\bm{b}_c\|^2$$ $$\underbrace{w_i=\mathop{\arg\min}_c\sum_k h(c,k)\,\|\bm{x}_i-\bm{b}_k\|^2}_{\text{the winner minimizes its term of }E}$$

Idea Choose each winner by how well its whole lattice neighborhood fits the data point: then one energy is minimized.

Batch SOM on the surface: its updates are rules, with no objective.

A data point $\bm{x}$ on the surface.The lattice: its nearest node and its winner.

On the same surface and lattice, the energy-based winner can differ from the nearest node: for 363 of 800 data points (with $h$ of width $\sigma$ = 1).

Every candidate's term sums over all nodes: $O(nC^2)$ work per iteration.