Fuzzy k-means (FKM), also called fuzzy c-means (FCM), is an unsupervised clustering algorithm. It gives each data point a degree of membership in every cluster, rather than assigning it to a single cluster. By alternately updating memberships and cluster centers to minimize a weighted within-cluster distance, FKM models overlapping and ambiguous group boundaries. It is widely used in image segmentation, remote sensing, and pattern recognition.
Clustering divides a dataset into groups so that points in the same group are more similar to each other than to points in other groups. Classical k-means makes hard assignments: each observation belongs to exactly one cluster. Many real datasets, however, contain points that lie between groups. Examples include mixed pixels in satellite imagery, transitional tissue in medical scans, and customers with mixed purchasing behavior. Hard assignment discards this uncertainty.
Fuzzy k-means addresses this by drawing on fuzzy set theory. Each point receives a membership value between 0 and 1 for every cluster, and its memberships across all clusters sum to 1. Dunn introduced the approach in 1973 as a fuzzy relative of the ISODATA procedure[1]. Bezdek generalized it in 1981 by introducing an adjustable fuzzification exponent[21][32]. The names "fuzzy c-means" and "fuzzy k-means" describe the same family of algorithms: Bezdek's notation uses c for the number of clusters, while much of the machine learning literature uses k.
Let A = {u1, …, um} be m data points in ℝd, to be grouped into k clusters with centers c1, …, ck. Let wab be the membership of point ub in cluster a. FKM minimizes
Es(C, W; A) = Σb=1m Σa=1k (wab)s ‖ub − ca‖2, s > 1
subject to
Σa=1k wab = 1 for all b; wab ∈ [0, 1]; 0 < Σb=1m wab < m for all a.
The first constraint makes each point's memberships sum to 1. The last ensures that no cluster is empty and no cluster absorbs every point completely.
The exponent s, often written m in the literature, is the fuzzifier. It controls how soft the partition is. As s approaches 1, memberships approach 0 or 1 and FKM reduces to hard k-means. As s grows large, every membership approaches 1/k and the partition loses its structure. A value of s = 2 is the most common default.
The objective has no closed-form minimizer, so FKM uses alternating optimization:
wab = [ Σl=1k ( ‖ub − ca‖ / ‖ub − cl‖ )2/(s−1) ]−1
ca = Σb=1m (wab)s ub / Σb=1m (wab)s
Each iteration costs O(mkd). Theoretical analyses show that the iterates converge to a local minimizer or a saddle point of the objective[73][4][85]. In practice, the algorithm is usually run several times from different initializations.
Common initialization strategies include selecting k data points at random as starting centers, initializing the membership matrix with random values that satisfy the constraints, or running hard k-means first and using its centers as the starting point. The stopping tolerance ε is typically set to a small value such as 10−3 to 10−5, often combined with a maximum number of iterations. Once the algorithm converges, a crisp labeling can be obtained when needed by assigning each point to the cluster in which it has the highest membership, a step known as defuzzification.
Standard FKM uses Euclidean distance, which favors roughly spherical clusters of similar size. Many variants change the distance measure or the objective to handle other data geometries:
FKM is closely related to two other widely used clustering approaches. Hard k-means is its limiting case: as the fuzzifier approaches 1, the membership update assigns each point entirely to its nearest center, and the center update becomes the ordinary cluster mean.
FKM also resembles Gaussian mixture models (GMMs) fitted with the expectation–maximization (EM) algorithm, since both produce soft assignments. The two differ in how those assignments are defined. In a GMM, each assignment is a posterior probability derived from an explicit probabilistic model of the data, and the algorithm also estimates covariance matrices and mixing proportions. In FKM, memberships come from relative distances to the cluster centers and the fuzzifier, without an underlying density model. As a result, FKM is simpler to implement and has fewer parameters, while GMMs offer a probabilistic interpretation and model elongated or unequal clusters more naturally.
Cluster quality is measured with validity indices. Fuzzy-specific internal indices, such as the partition coefficient and the Xie–Beni index, measure how compact and well separated the fuzzy clusters are without reference to ground truth [2, 6]. General internal indices, such as the silhouette, Dunn, and Davies–Bouldin indices, can be applied after converting memberships into crisp labels. When ground-truth labels are available, external indices such as the adjusted Rand index (ARI) and normalized mutual information (NMI) measure agreement between the clustering and the true classes.
FKM is useful wherever class boundaries are gradual or uncertain. In medical imaging, it separates tissue types in MRI scans, where boundary voxels often contain more than one tissue[139]. In remote sensing, it supports land-cover classification from multispectral satellite imagery, where a single pixel may cover several surface types[1110]. In agriculture, it segments crop and leaf images and delineates management zones within fields, where soil and yield properties change gradually rather than at sharp boundaries. It is also used in general pattern recognition, data mining, document organization, and customer segmentation. In each case, graded memberships carry useful information about how uncertain an assignment is.
FKM has several practical limitations:
The variants described above each address one or more of these limitations.