What is clustering?
Clustering is an attempt to partition a set of points into different clusters of similar points. To be able to do this, we need a method to measure how close or similar the points are. Many clustering algorithms rely on a distance function for that purpose.
The following figure shows the result of a clustering algorithm using three different distance functions, and trying to identify five different clusters from uniformly distributed points.
Figure 6: Clusters that depend on the choice of the distance function
CMSIS-DSP does not provide any clustering algorithm. Instead CMSIS-DSP provides the distance functions which can be used to build clustering algorithms.
Building a clustering classifier using distances requires a way to quickly find the distance between one point and other points. Strategies for this are beyond the scope of the CMSIS-DSP library.