## 1 Introduction  
Cluster analysis is often characterised as methods for partitioning data into homogeneous groups called clusters or hidden classes [1; 2; 3]. Although this idea of clustering to partition data into well-separated groups is appealing and commonly accepted, cluster analysis is often (mis-)used for other purposes like pure partitioning without the requirement of separateness or--in the extreme case--for outlier detection where the presence of actual clusters or their structures becomes completely unimportant because only single outlier points are of interest, as in [4]. In this paper, we will focus on a scenario where we are only interested in finding a single cluster. Nevertheless, applying such an algorithm in a repeated manner by removing each time the identified cluster from the data can also be used to find multiple clusters. This strategy is also called subtractive clustering. As mentioned before, cluster analysis is usually viewed as a data partitioning task to discover hidden or latent classes. Clustering is therefore very popular as a central approach in many applications where a hidden structure is suspected in a dataset [5] with applications in almost all fields ranging from engineering [6] to social economics and education [7]. Validity measures or indices for the evaluation of clustering results reflect the idea of finding more or less distinct clusters with homogeneity within each cluster and high heterogeneity between different clusters [8]. In particular, internal indices, which are based on the data to be clustered, focus on these properties [9], whereas external validation measures use other external properties provided about the data [10]. As an application example for our clustering algorithm, we consider measurements in laboratory medicine where reference intervals play a crucial role. A reference interval for an analyte like haemoglobin represents the \"normal range\" representing the central 95% of a healthy cohort. Indirect methods for the determination of reference intervals use all measurements for an analyte and try to separate the main cluster of non-pathological values from pathological values. Therefore, the focus here is to identify a single cluster in a dataset and to separate it from the remaining \"noise\" data. Because we are not interested in finding all clusters, we do not apply internal validation measures, but external ones in the sense of comparing the computed reference intervals with theoretical ones in the case of synthetic data and with reference intervals from other algorithms in the case of real data. One way to approach cluster analysis is a purely algorithmic one, i.e., one defines an algorithm that joins data points together to clusters by reasonable criteria. Hierarchical clustering is probably the most popular algorithm in this class. The closest data points are joined together to clusters step by step. Density-based clustering algorithms like DBSCAN (density-based spatial clustering of applications with noise) [11] or its extension, OPTICS (ordering points to identify the clustering structure) [12], fall into the same class. They find regions of high data density step-by-step to define clusters. Neural network-based self-organising maps [13] fall also into this class of algorithms and adjust feature vectors representing the clusters in an iterative manner. Other clustering algorithms are based on an objective function, which measures how well a clustering fits the data. A very simple and popular representative of this class of clustering methods is the \(k\)-means algorithm. The algorithm tries to minimise the squared distances between data points and their cluster centres by greedy heuristics that optimise the locations of the cluster centres and the assignment of the data to the cluster in an alternating fashion based on a random or \"clever\" initialisation [14], leading to an iterative greedy algorithm that is prone to being stuck in local minima.