Blogs · Unsupervised Learning · Clustering

Clustering: Affinity Propagation

A concise explanation of affinity propagation, exemplars, similarity messages, preferences, damping, and practical limitations.

2020.02.09 · 1 min read · by Zhenlin Wang

Introduction

Affinity propagation is a clustering algorithm that identifies representative examples, called exemplars, and assigns other points to them.

Unlike K-means, it does not require specifying the number of clusters directly. Instead, the number of clusters is influenced by similarity values and preference settings.

Core Idea

Affinity propagation passes messages between points:

Through iterative updates, exemplars emerge.

Preference

The preference parameter controls how likely points are to become exemplars.

Choosing preference is one of the main practical tuning steps.

Damping

Damping helps stabilize message updates. Without damping, the algorithm can oscillate and fail to converge.

When to Use It

Affinity propagation can be useful when:

Limitations

Watch out:

Closing

Affinity propagation is interesting because it chooses exemplars instead of abstract centroids. It is useful for certain exploratory tasks, but it needs careful tuning and does not scale as easily as simpler methods.