ML Models & Algorithms
Soft/Fuzzy Clustering
In shortA clustering approach where each data point gets a probability or degree of belonging to several clusters, instead of a single fixed group.
Soft clustering, also called fuzzy clustering, is a way of assigning membership in clustering where each data point can belong to several clusters at once, each with a probability or degree of membership. A page might be 60% about one topic and 40% about another. It is the opposite of hard clustering, where every point sits in exactly one group.
How it works
Instead of a single label, a soft clustering method returns a set of scores per data point that usually add up to 1. Different algorithms get there in different ways:
- Gaussian Mixture Models estimate the probability that each point came from each underlying distribution.
- Fuzzy c-means gives each point a degree of membership based on its distance to every cluster centre.
- LDA represents each document as a mixture of topics and each topic as a mixture of words.
- BERTopic can return topic probabilities, and its
approximate_distributionfunction estimates how much of each topic a document contains, even though it assigns one main topic by default.
You can always turn soft output into hard output by taking the highest score, but you lose the information about overlap.
How it’s used in SEO and marketing
- Topic modelling of long pages that genuinely cover several subjects, which in content is the norm.
- Customer segmentation when behaviour overlaps, to find cross-sell opportunities and people who sit between segments.
- Keyword mapping where a keyword could reasonably belong to two clusters, flagging it for a human decision.
- Internal linking: a page with strong membership in two topics is a natural bridge between their hubs.
Example
MLforSEO’s clustering guide uses an age-based example. With hard clustering, a customer born in 1995 is either Gen Z or Millennial because the cut-off is fixed. With soft clustering on actual behaviour, the same customer might come out 85% Gen Z and 15% Millennial, so a campaign can treat them mainly as Gen Z while still including them in relevant Millennial messages.
Limitations and things to watch
- Probabilities are harder to report and act on than single labels; decide in advance how you will use them (for example, any membership above 30%).
- Scores reflect the model’s assumptions and settings, not ground truth.
- Many tools, BERTopic included, default to one topic per document; you have to ask for the distribution.
- More nuanced output means more interpretation work, so start with a small sample.
Learn it on MLforSEO
- What Machine Learning Clustering Is, and Where It Fits in SEO
- Topic Modelling for SEO with LDA (Latent Dirichlet Allocation)
- Topic Modelling for SEO with BERTopic
- Complete Guide to ML Clustering for Marketing & SEO: Use Cases & Model Choices
- The Introduction to Machine Learning for SEO course, where the clustering module classifies models as hard or soft
Sources and further reading
Other terms from ML Models & Algorithms
- BERT (Bidirectional Encoder Representations from Transformers)Google's 2018 transformer language model that reads text in both directions to produce context-aware embedding…
- BERTopicA modular topic modelling technique that clusters transformer embeddings and labels each cluster with class-ba…
- BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies)BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) clusters very large numeric datasets by s…
- BM25A classic ranking function that scores documents by how often query words appear, adjusted for word rarity and…
- Boyer-MooreA fast exact string-search algorithm that compares a pattern from right to left and skips ahead after mismatch…
- c-TF-IDFClass-based TF-IDF: treats each cluster as one document to find the words that best describe it, used by BERTo…
- Centroid-based ClusteringA clustering family that groups data around central points (centroids), each the average of its cluster's memb…
- Convolutional Neural Network (CNN)A deep learning architecture that scans data with small learned filters to detect local patterns; the classic…
- DBSCANDensity-based clustering that groups closely packed points, finds the number of clusters itself and labels iso…