# An Island Grouping Genetic Algorithm for Fuzzy Partitioning Problems

Authors: S. Salcedo-Sanz; J. Del Ser; Z. W. Geem
Journal: The Scientific World Journal
 (2014)

---

## Abstract

This paper presents a novel fuzzy clustering technique based on grouping genetic algorithms (GGAs), which are a class of evolutionary algorithms especially modified to tackle grouping problems. Our approach hinges on a GGA devised for fuzzy clustering by means of a novel encoding of individuals (containing elements and clusters sections), a new fitness function (a superior modification of the Davies Bouldin index), specially tailored crossover and mutation operators, and the use of a scheme based on a local search and a parallelization process, inspired from an island-based model of evolution. The overall performance of our approach has been assessed over a number of synthetic and real fuzzy clustering problems with different objective functions and distance measures, from which it is concluded that the proposed approach shows excellent performance in all cases.


---

## Body

## 1. Introduction

Clustering (also known as partitioning) is an important subgroup of unsupervised learning techniques which hinges on grouping data objects into groups ofdisjoint (“crisp”)clusters [1–3]. A huge amount of key problems in science, engineering, and economics (e.g., bioengineering, telecommunications, energy, and risk assessment) can be formulated as clustering problems [4–8]. In this context, an important line of research related to clustering stems from the fact that, in some problems, the clusters intrinsically overlap with each other and, consequently, conventional crisp clustering algorithms arenot suitable for dealing with this overlap [9, 10]. In these cases when an object can “partially” belong to different groups,fuzzy clustering algorithms have been proposed as a powerful methodology in recent years, more flexible than traditional crisp approaches and with excellent results in different real problems [11, 12].To be specific, “fuzzy clustering” is the class of clustering problems where the boundary between clusters is ill-defined, in the sense that a given sample is allowed to belong to different clusters. As such, the notion offuzziness becomes relevant since any object of the data set is assigned to a given cluster with somemembership grade, usually set between 0 and 1 (low and high membership grade, resp.). Formally, if X={x1,…,xN} is a set of N data vectors in a given observation space S, the goal of a fuzzy clustering algorithm is to find a partition of X in a finite number of k clusters, so that a data vector xj can belong to a cluster Ci∈{C1,…,Ck} with a degree of membership uij∈[0,1]. This is equivalent to finding a “partition matrix” U whose elements uij∈[0,1] (with 1≤i≤k and 1≤j≤N) fulfill
(1)∑i=1k‍uij=1,∀j∈{1,…,N},0<∑j=1N‍uij<N,∀i∈{1,…,k}.Among the different techniques applied to fuzzy clustering that can be found in the literature, we focus on those based on the fuzzy C-means (FCM) algorithm [13], kernel methods [14, 15], statistical methods [16], clonal selection theory [17], rule-based clustering [18–20], and many different heuristic and metaheuristic approaches [21–25]. Metaheuristic algorithms have been thoroughly applied to fuzzy clustering in the last years due to their superior properties of robustness and convergence to near-optimal solutions at a moderate computational cost. Many of these approaches are based on evolutionary variants of the C-means algorithm [26, 27] or simply on direct fuzzy clustering algorithms based on genetic and evolutionary approaches [28–31], multiobjective algorithms [32], differential evolution [33], particle swarm metaheuristics [34], or evolutionary programming approaches [35].However, despite the research activity invested on different metaheuristic approaches applied to fuzzy clustering, several avant-garde algorithms have not been explored yet in their entirety for fuzzy clustering problem. Specifically, this paper proposes a grouping genetic algorithm for fuzzy clustering. The grouping genetic algorithm (GGA) [36, 37] is a class of evolutionary algorithms whose encoding procedure is especially designed to deal with grouping problems. It has been successfully applied to a variety of problems involving grouping of items but, surprisingly, its performance has not been assessed yet when tackling fuzzy clustering problems. For this purpose, this paper builds upon preliminary work in [38] by presenting a novel grouping encoding, a modified objective function, and crossover and mutation operators specifically adapted to fuzzy clustering problems tackled via GGA heuristics. In order to further enhance the performance of the grouping genetic approach the proposed scheme also incorporates a local search stage and a parallelization of the GGA using the well-knownisland model, which can be both considered as additional novel ingredients with respect to [38]. Simulation results are presented so as to assess the performance of the proposed scheme in a number of application scenarios, based on which it is concluded that the GGA-based procedure here presented outperforms conventional fuzzy C-means methods.The rest of this paper is structured as follows. For keeping the paper self-contained, Section2 summarizes some key mathematical concepts to define clustering algorithms, such as different definitions of distance and objective functions. Section 3 presents the aforementioned proposed GGA to tackle fuzzy clustering problems, along with a full description of its novel encoding, objective function, operators, local search, and parallelization approach. Section 4 discusses the performance of the proposed approach in a variety of different synthetic and real problems. Finally, Section 5 completes the paper by discussing some concluding remarks.


## 2. Background: Fuzzy Clustering Concepts

The classification of objects into clusters aims at grouping those that are similar. The extent to which two objects are similar to each other must be quantified by using an appropriate distance measure. In this regard, Section2.1 discusses some different definitions for distances in fuzzy clustering. The second key concept, strongly related to the first one and outlined in Section 2.2, aims at evaluating the quality of a candidate solution under test in a fuzzy clustering problem and plays a key role in the GGA described in Section 3.


### 2.1. Distances in Fuzzy Clustering

The adequate definition of the aforementioned distances plays a central role in fuzzy clustering. For instance, a norm based on Mahalanobis distance can be used with a similar definition compared to that for the crisp clustering case; namely,(2)dM2(xj,μi)=∥xj-μi∥Σi-1=(xj-μi)·Σ-1·(xj-μi)T,
though, in this case, the definition of the inverse of the covariance matrix of any cluster Σi is slightly different and is given by
(3)Σi-1=Σj=1Nuijα·(xj-μi)·(xj-μi)TΣj=1Nuijα.
An alternative to Mahalanobis distance, more suitable for fuzzy clustering, is the Gustafson-Kessel (GK) distance [39]. This distance metric is defined as
(4)dGK2(xj,μi)=∥xi-μi∥|Σ|1/dΣ-1=(xj-μi)·|Σ|1/d·Σ-1·(xj-μi)T
and allows for the consideration of elliptic clusters with different orientations. However, this distance is not able to distinguish between different cluster sizes. To circumvent this drawback, a modification of this distance was proposed in [39] in the context of the adaptive fuzzy clustering (AFC) algorithm presented therein; that is,
(5)dAFC2(xj,μi)=(xj-μi)·λi,d·Σi-1·(xj-μi)T,
where λi,d is a novel adaptive term associated with the smallest eigenvalue of the ith cluster’s covariance matrix Σi-1 and μi is the centroid of those objects the centroid of those objects belonging to cluster Ci. By using this definition, any clustering algorithm will have the chance of locating clusters with different orientation and also with different volumes.Using a proper definition for distance plays a key role when evaluating to what extent an algorithm solves accurately the problem at hand. Exploring different functions for fuzzy clustering evaluation is thus the goal of the following section.


### 2.2.  Fuzzy Clustering Evaluation

The evaluation of a given solution in a fuzzy clustering problem can be carried out using two different strategies. First, it is possible to directly evaluate the fuzzy clusters produced by the algorithm at hand by using the membership functions of the different observations of the problem. A second strategy consists of using a defuzzification process, prior to the clustering evaluation, followed by the application of any of the crisp clustering evaluation measures described below. As in the crisp clustering case, evaluation measures can be unsupervised or supervised. In the first case, direct evaluation is usually applied, whereas in the second one a defuzzification is often required, since existing labeled data are usually crisp.


#### 2.2.1. Unsupervised Evaluation

For comparison purposes with the objective (fitness) function later proposed for evaluating the performance of the algorithm, we summarize herein some of the most used unsupervised measures in the related literature.(i)
Fuzzy sum of quadratic errors (fSSE): consider(6)fSSE(U)=∑i=1k‍∑x∈Ci‍uijαd2(xj,μi),
where α∈[1,∞) controls the fuzziness degree of the solution; that is, values of α close to 1 lead the solution to a disjoint partition, whereas large values of α lead to more fuzzy clusters. Usually a value of α=2 is selected.(ii)
Xie-Beni index (XB): defined in [40], this measure combines the sum of square errors with a term for measuring clusters separation:
(7)XB(U)=∑i=1k‍∑j=1N‍uijα·d2(xj,μi)N·min⁡1≤i,j≤k,i≠j{d2(μi,μj)}.(iii)
Fukuyama-Sugeno index (FS): the FS index [41] is similar to the XB index but, in this case, the separation between clusters is evaluated with respect to the average centroid of the k clusters, μ*=(1/k)∑i=1k‍μi, instead of the centroid of the rest of clusters. Based on this rationale we obtain
(8)FS(U)=∑i=1k‍∑j=1N‍uijα·d2(x,μi)-∑i=1k‍∑j=1N‍uijα·d2(μi,μ*).The aforementioned unsupervised measures are useful in those problems in which there is no additional information to check the quality of the generated clusters. However, there are some clustering problems in which such information is indeed available, hence allowing for supervised measures.


#### 2.2.2. Utilized Supervised Measurement: Rand Index

Among the supervised measures—sometimes calledexternal measures—in this work the well-known Rand index (R) [42] will be utilized after defuzzification of the samples. It computes the similarity between the obtained partition and theknown optimal solution as follows:
(9)R(U)=TP+FNTP+FP+TN+FN,
where TP and FP are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements to thesame cluster; and TN and FN are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements todifferent clusters. In other words, it is a measure of the percentage of correct decisions taken by the algorithm. Note that the value of R lies on the interval [0,1]: values of R closer to 1 indicate a better quality of the solution tested.


## 2.1. Distances in Fuzzy Clustering

The adequate definition of the aforementioned distances plays a central role in fuzzy clustering. For instance, a norm based on Mahalanobis distance can be used with a similar definition compared to that for the crisp clustering case; namely,(2)dM2(xj,μi)=∥xj-μi∥Σi-1=(xj-μi)·Σ-1·(xj-μi)T,
though, in this case, the definition of the inverse of the covariance matrix of any cluster Σi is slightly different and is given by
(3)Σi-1=Σj=1Nuijα·(xj-μi)·(xj-μi)TΣj=1Nuijα.
An alternative to Mahalanobis distance, more suitable for fuzzy clustering, is the Gustafson-Kessel (GK) distance [39]. This distance metric is defined as
(4)dGK2(xj,μi)=∥xi-μi∥|Σ|1/dΣ-1=(xj-μi)·|Σ|1/d·Σ-1·(xj-μi)T
and allows for the consideration of elliptic clusters with different orientations. However, this distance is not able to distinguish between different cluster sizes. To circumvent this drawback, a modification of this distance was proposed in [39] in the context of the adaptive fuzzy clustering (AFC) algorithm presented therein; that is,
(5)dAFC2(xj,μi)=(xj-μi)·λi,d·Σi-1·(xj-μi)T,
where λi,d is a novel adaptive term associated with the smallest eigenvalue of the ith cluster’s covariance matrix Σi-1 and μi is the centroid of those objects the centroid of those objects belonging to cluster Ci. By using this definition, any clustering algorithm will have the chance of locating clusters with different orientation and also with different volumes.Using a proper definition for distance plays a key role when evaluating to what extent an algorithm solves accurately the problem at hand. Exploring different functions for fuzzy clustering evaluation is thus the goal of the following section.


## 2.2.  Fuzzy Clustering Evaluation

The evaluation of a given solution in a fuzzy clustering problem can be carried out using two different strategies. First, it is possible to directly evaluate the fuzzy clusters produced by the algorithm at hand by using the membership functions of the different observations of the problem. A second strategy consists of using a defuzzification process, prior to the clustering evaluation, followed by the application of any of the crisp clustering evaluation measures described below. As in the crisp clustering case, evaluation measures can be unsupervised or supervised. In the first case, direct evaluation is usually applied, whereas in the second one a defuzzification is often required, since existing labeled data are usually crisp.


### 2.2.1. Unsupervised Evaluation

For comparison purposes with the objective (fitness) function later proposed for evaluating the performance of the algorithm, we summarize herein some of the most used unsupervised measures in the related literature.(i)
Fuzzy sum of quadratic errors (fSSE): consider(6)fSSE(U)=∑i=1k‍∑x∈Ci‍uijαd2(xj,μi),
where α∈[1,∞) controls the fuzziness degree of the solution; that is, values of α close to 1 lead the solution to a disjoint partition, whereas large values of α lead to more fuzzy clusters. Usually a value of α=2 is selected.(ii)
Xie-Beni index (XB): defined in [40], this measure combines the sum of square errors with a term for measuring clusters separation:
(7)XB(U)=∑i=1k‍∑j=1N‍uijα·d2(xj,μi)N·min⁡1≤i,j≤k,i≠j{d2(μi,μj)}.(iii)
Fukuyama-Sugeno index (FS): the FS index [41] is similar to the XB index but, in this case, the separation between clusters is evaluated with respect to the average centroid of the k clusters, μ*=(1/k)∑i=1k‍μi, instead of the centroid of the rest of clusters. Based on this rationale we obtain
(8)FS(U)=∑i=1k‍∑j=1N‍uijα·d2(x,μi)-∑i=1k‍∑j=1N‍uijα·d2(μi,μ*).The aforementioned unsupervised measures are useful in those problems in which there is no additional information to check the quality of the generated clusters. However, there are some clustering problems in which such information is indeed available, hence allowing for supervised measures.


### 2.2.2. Utilized Supervised Measurement: Rand Index

Among the supervised measures—sometimes calledexternal measures—in this work the well-known Rand index (R) [42] will be utilized after defuzzification of the samples. It computes the similarity between the obtained partition and theknown optimal solution as follows:
(9)R(U)=TP+FNTP+FP+TN+FN,
where TP and FP are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements to thesame cluster; and TN and FN are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements todifferent clusters. In other words, it is a measure of the percentage of correct decisions taken by the algorithm. Note that the value of R lies on the interval [0,1]: values of R closer to 1 indicate a better quality of the solution tested.


## 2.2.1. Unsupervised Evaluation

For comparison purposes with the objective (fitness) function later proposed for evaluating the performance of the algorithm, we summarize herein some of the most used unsupervised measures in the related literature.(i)
Fuzzy sum of quadratic errors (fSSE): consider(6)fSSE(U)=∑i=1k‍∑x∈Ci‍uijαd2(xj,μi),
where α∈[1,∞) controls the fuzziness degree of the solution; that is, values of α close to 1 lead the solution to a disjoint partition, whereas large values of α lead to more fuzzy clusters. Usually a value of α=2 is selected.(ii)
Xie-Beni index (XB): defined in [40], this measure combines the sum of square errors with a term for measuring clusters separation:
(7)XB(U)=∑i=1k‍∑j=1N‍uijα·d2(xj,μi)N·min⁡1≤i,j≤k,i≠j{d2(μi,μj)}.(iii)
Fukuyama-Sugeno index (FS): the FS index [41] is similar to the XB index but, in this case, the separation between clusters is evaluated with respect to the average centroid of the k clusters, μ*=(1/k)∑i=1k‍μi, instead of the centroid of the rest of clusters. Based on this rationale we obtain
(8)FS(U)=∑i=1k‍∑j=1N‍uijα·d2(x,μi)-∑i=1k‍∑j=1N‍uijα·d2(μi,μ*).The aforementioned unsupervised measures are useful in those problems in which there is no additional information to check the quality of the generated clusters. However, there are some clustering problems in which such information is indeed available, hence allowing for supervised measures.


## 2.2.2. Utilized Supervised Measurement: Rand Index

Among the supervised measures—sometimes calledexternal measures—in this work the well-known Rand index (R) [42] will be utilized after defuzzification of the samples. It computes the similarity between the obtained partition and theknown optimal solution as follows:
(9)R(U)=TP+FNTP+FP+TN+FN,
where TP and FP are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements to thesame cluster; and TN and FN are the number of correct and incorrect assignments, respectively, when the decision consists of assigning two elements todifferent clusters. In other words, it is a measure of the percentage of correct decisions taken by the algorithm. Note that the value of R lies on the interval [0,1]: values of R closer to 1 indicate a better quality of the solution tested.


## 3. Proposed Grouping Genetic Algorithm for Fuzzy Clustering

As mentioned in Section1, the grouping genetic algorithm is a class of evolutionary algorithms whose encoding strategy is especially designed to tackle grouping problems. It was first proposed by Falkenauer [36, 37], who realized that traditional genetic algorithms had difficulties when applied to grouping problems. In GGA the encoding procedure and crossover and mutation operators of traditional GAs are modified to yield a compact algorithm, with improved performance in grouping-based problems. In light of their outperforming behavior with respect to its traditional counterparts, grouping genetic algorithms have so far been successfully applied to diverse problems [43–51], including crisp clustering [52]. This paper joins the upsurge of research gravitating on GGAs by adapting this heuristic tofuzzy clustering problems. This section discusses several modifications we have devised towards further enhancing the performance of GGAs in fuzzy clustering, including our modifications in the encoding process, the objective function, and the crossover and mutation operators (Sections 3.1, 3.2, 3.4, and 3.5, resp.).


### 3.1. Problem Encoding

The proposed GGA for fuzzy clustering is a variable-length genetic algorithm, with a novel encoding to deal with this specific problem. The encoding is carried out by splitting each chromosome in the algorithm (or equivalently, its corresponding individual or candidate solution) into two parts:c=[U∣g]. The first part is theelement section composed by the partition matrix U, whereas the second part is denoted as thegroup section of the individual. Following this notation, a certain individual for a fuzzy clustering problem with N elements (objects or observations) and k clusters can be expressed as
(10)[u1,1,…,u1,N⋮,⋯,⋮uk,1,…,uk,N∣g1,g2,…,gk],
where it is important to note that each element ui,j represents the degree of membership of jth observation to ith cluster, whereas the group section keeps a list of tags associated with each of the clusters of the solution. Also observe that in this encoding, both the group and the element section have a variable length, since the number of clusters is also a variable of the problem. For the sake of clarity, let us assume the following individual:(11)[0.60.00.00.80.01.00.60.00.00.01.00.00.00.41.00.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.00.40.00.00.01.00.00.30.00.10.00.00.21.00.00.0∣1,2,3,4].This chromosome encodes an individual (candidate solution) for a simple clustering problem withN=15 objects: X={x1,…,x15}. Note that thegroup section encodes a solution with 4 clusters, labeled “1,” “2,” “3,” and “4,” respectively. Any of the columns in the element section indicates to what extent any object xj belongs to a cluster Ci, that is, the partition matrix element uij. For instance, the first column in the element section encodes a candidate fuzzy solution in which the object x1 belongs to cluster C1 with a degree of membership u1,1=0.6 and belongs to C4 with u4,1=0.4. Keeping this in mind, the aforementioned chromosome encodes an individual that represents a solution with 4 clusters, where observations x2, x3, x5, x6, x8, x10, x11, x13, and x15 belong to a single cluster, observations x1, x4, x9, and x12 belong to two different clusters with different degrees of membership, and finally observations x7 and x14 belong to three different clusters.


### 3.2. Objective Function

The proposed GGA will be run with different objective (fitness) functions to lead the search. Specifically, and for comparative purposes, we will use some of the classical objective functions for fuzzy clustering summarized in Section2.2. In addition, in this paper we propose an adaptation of the well-known Davis-Bouldin index (used in crisp clustering problems) to the fuzzy case which, to the best of our knowledge, is novel in fuzzy clustering. We will show that the use of this modified index renders better results for the GGA than the other existing evaluation indices. The idea of the Davis-Bouldin index [53] for crisp clustering problems is to minimize the intracluster distances while simultaneously maximizing the distances among the different clusters, yielding
(12)DB(U)=1k∑i=1k‍max⁡i≠j{∑x∈Ci‍d2(x,μi)+∑x∈Cj‍d2(x,μj)d2(μi,μj)}.
In the above expression note that small values of the conventional DB index correspond to compact and well-separated clusters. The adaptation of the DB index for fuzzy clustering proposed in this work is expressed as
(13)MDB(U,d)=1k∑i=1k‍max⁡i≠j{∑t=1N‍ui,tαd2(xt,μi)+∑t=1N‍uj,tαd2(xt,μj)d2(μi,μj)},
where μi stands for the centroid associated with cluster Ci, calculated by considering the average of each observation weighted by the degree of membership to cluster Ci. Note in expression (13) that the proposed MDB index explicitly depends on the particular definition considered for the distance d. For example, if we consider the GK distance and based on the covariance matrices of the clusters, the DB index for fuzzy clustering problems will be given by
(14)MDB(U,dGK)=1k∑i=1k‍max⁡i≠j{∑t=1N‍ui,tαd|Σi|1/dΣi-12(xt,μi)+∑t=1N‍uj,tαd|Σj|1/dΣj-12(xt,μj)min⁡{d|Σi|1/dΣi-12(μi,μj),d|Σj|1/dΣj-12(μi,μj)}}.


### 3.3. Selection Operator

In this paper we use a rank-based wheel selection mechanism, similar to the one described in [44]. First, the individuals are sorted in a list based on their quality. The position of the individuals in the list is calledrank of the individual and is denoted as Ri (i=1,…,ξ, with ξ standing for the number of individuals in the population of the GGA). A rank to which the best individual x is assigned will be Rx=ξ, whereas the second best will be y, Ry=ξ-1, and so forth. Afitness value associated with each individual is then defined as
(15)fi=2·Riξ·(ξ+1).
Note that these values are normalized between 0 and 1, depending on the position of the individual in the ranking list. It is important to note that this rank-based selection mechanism isstatic, in the sense that probabilities of survival (given by fi) do not depend on the generation but on the position of the individual in the list. As a toy example, consider a population formed by 5 individuals, in which individual 1 is the best quality one (R1=5), individual 2 is the second best (R2=4), and so on. In this case, the fitness associated with the individuals is {0.33,0.26,0.2,0.13,0.06}, and the associated intervals for the roulette wheel are {0–0.33,0.34–0.6,0.61–0.8,0.81–0.93,0.94–1}.The process carried out in our algorithm consists of selecting theparents for crossover by using this selection mechanism. This procedure is performedwith replacement; that is, a given individual can be selected several times as one of the parents. However, individuals in the crossover operator must be different.


### 3.4. Crossover Operator

The crossover operator implemented in the grouping genetic algorithm used in this paper is a modified version of the one initially proposed by Falkenauer in [36], but with the added bonus of being adapted to the fuzzy clustering problem. These are the main steps followed in the crossover operation.(1)
Select two individuals at random and choose two crossing points in their group part.(2)
Insert the elements belonging to the selected groups of the first individual into the offspring.(3)
Assign the degree of membership of the inserted elements equal to the first individual.(4)
Insert the elements belonging to the selected groups of the second individual into the offspring.(5)
Assign the degree of membership of the inserted elements in the following way. First, the remaining degree membership after the assignment of the elements of the first individual is calculated. This remaining degree membership is then proportionally shared among the elements of the second individual.(6)
Remove empty clusters, if any.(7)
Modify the labels of the current groups in the offspring in order to numerate them from 1 tok.A simple yet illustrative enough example follows. Let us consider two different individualsξ1 and ξ2 that have been randomly chosen among all individuals in a given GGA population so as to perform crossover on them. The groups selected to carry out the procedure are marked in boldface:(16)ξ1=[0.60.00.00.80.01.00.60.00.00.01.00.00.00.41.00.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.00.40.00.00.01.00.00.30.00.10.00.00.21.00.00.0∣1,2,3,4],ξ2=[0.80.40.00.00.00.31.00.00.00.00.00.61.00.70.00.00.60.01.00.10.30.00.50.00.01.00.40.00.11.00.20.01.00.00.90.40.00.50.91.00.00.00.00.20.0∣1,2,3].After steps 2 and 3 of the proposed crossover procedure (insertion of the group elements of the first individual and assignment of the degree of membership), the offspring results in(17)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.0∣2,3].Then the group elements of the second individual are inserted, and the membership degree is modified considering the previous existing degrees from individual 1:(18)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.0∣2,3,1*,2*].There are no empty clusters. Therefore, we pass on to the final step of the crossover approach: modify the labels of current groups in the offspring in order to numerate them from 1 tok (4 in this case): (19)O=[0.00.01.00.20.00.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.00.10.01.00.080.00.051.0∣1,2,3,4].An example of the reassignment of the degree of membership in the final offspring is shown in Figure1, where the evolution of the degrees of membership is shown for observation x14 along the crossover operation. Intuitively the crossover should be high in the first stages of the algorithm and more moderate in the last ones in order to favor the explorative behavior of the algorithm through the search space. Thus, we have implemented an adaptive crossover probability defined as
(20)Pc(j)=Pci+jTG(Pci-Pcf),
where Pc(j) is the crossover probability used in a given generation j, TG stands for the total number of generations of the algorithm, and Pci and Pcf are the initial and final values of probability, respectively, which are set as inputs for the proposed algorithm.Figure 1
Example of the crossover operator implemented in the proposed grouping genetic algorithm for fuzzy clustering problems.


### 3.5. Mutation Operator

Mutation operators include modifications in each individual of the population with a low probability in order to explore new regions of the search space and also to escape from local optima when the algorithm is near convergence. In this case, we have implemented two different mutation operators adapted to the fuzzy clustering problems.(i) Mutation bycluster splitting: this operator consists of splitting a selected cluster into two different parts. The degrees of membership are also randomly split between the two new clusters. The samples belonging to the original cluster are assigned to the new clusters with equal probability. Note that one of the new generated clusters will keep its label in the group section of the individual, whereas the other will be assigned a new label (k+1). The selection for the initial cluster to be split is carried out depending on the clusters’ size, with more probability of splitting imposed on clusters of larger size. As an example, we illustrate an application of this operator in the final offspring individual of the previous example:(21)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.0∣1,2,3,4].Let us suppose that the cluster chosen to be split is cluster 1. A possible cluster splitting mutation operation would be(22)Om=[0.00.00.40.080.00.00.00.40.00.40.00.00.00.080.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.00.00.00.60.120.00.00.00.60.00.60.00.00.00.120.0∣1,2,3,4,5].(ii) Mutation byclusters merging: this mutation consists of randomly selecting two existing clusters and merging them into just one single cluster. The degree of membership of the new cluster is the sum of the degrees of the previous ones. As in mutation by cluster splitting, the probability of choosing the clusters depends on their size. In order to illustrate this mutation, we use again the final offspring from the crossover operator example. In this case, let us consider that the selected clusters to be merged are clusters 2 and 4, resulting in(23)Om=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.81.00.50.10.01.00.01.00.880.00.451.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.0∣1,2,3].Analogously to the crossover operator, we also consider an adaptive version of the probability of applying the mutation operators described above. Note that we apply the two mutation operators in a serial fashion (one after the other), with independent probabilities of application. In this case, probability of mutation is made smaller in the first generations of the algorithm and larger in the last ones in order to have more opportunities to escape from local minima in the last stages of the evolutionary process; that is,(24)Pm(j)=Pmi+jTG(Pmf-Pmi),
where Pm(j) is the probability of mutation used in a given generation j, TG stands for the total number of generations of the algorithm, and Pmf and Pmi are the final and initial values of probability considered, respectively.


### 3.6. Replacement and Elitism

In the proposed GGA, the population at a given generationj+1 is obtained by replacement of the individuals in the population at generation j, through the application of the selection, crossover, and mutation operators described above. An elitist scheme is also applied: the best individual in generation j is automatically passed on to the population of generation j+1, ensuring that the best solution encountered so far in the evolution is always kept by the algorithm.


### 3.7. Local Search

We use a local search procedure to try to find local optima in a close neighborhood of a given individual. The proposed local search is based on minor modifications of the current individual, as far as they produce an increase of the associated objective function: the local search changes the degree of membership of the observations, starting by one randomly chosen. The changes in the degree of membership are randomly generated. We finally keep the assignment with the largest objective function. Since this local search procedure is a time-consuming operation, it is applied to a given individual with a small probability,pb, that is modified between an initial and final value in the algorithm in the same way that the crossover probability is modified.


### 3.8. An Island Model to Improve the Algorithm’s Performance

In order to improve the performance of the proposed GGA, an island model is considered for its parallelization. In this context,S subpopulations (islands) are set in such a way that the evolution in each island is forced to be independent but the migration of good individuals is allowed between islands. We consider an elitist migration model, in which only the best individual in each island migrates and substitutes a randomly chosen individual in one of the other islands. There is a probability of migration pe predefined in the algorithm. The migration process is summarized in the following steps.(1)
Choose the best individual in each island.(2)
Randomly choose the island toward which each individual will migrate.(3)
Randomly choose an individual in the destiny island and change it by the migrating individual.


## 3.1. Problem Encoding

The proposed GGA for fuzzy clustering is a variable-length genetic algorithm, with a novel encoding to deal with this specific problem. The encoding is carried out by splitting each chromosome in the algorithm (or equivalently, its corresponding individual or candidate solution) into two parts:c=[U∣g]. The first part is theelement section composed by the partition matrix U, whereas the second part is denoted as thegroup section of the individual. Following this notation, a certain individual for a fuzzy clustering problem with N elements (objects or observations) and k clusters can be expressed as
(10)[u1,1,…,u1,N⋮,⋯,⋮uk,1,…,uk,N∣g1,g2,…,gk],
where it is important to note that each element ui,j represents the degree of membership of jth observation to ith cluster, whereas the group section keeps a list of tags associated with each of the clusters of the solution. Also observe that in this encoding, both the group and the element section have a variable length, since the number of clusters is also a variable of the problem. For the sake of clarity, let us assume the following individual:(11)[0.60.00.00.80.01.00.60.00.00.01.00.00.00.41.00.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.00.40.00.00.01.00.00.30.00.10.00.00.21.00.00.0∣1,2,3,4].This chromosome encodes an individual (candidate solution) for a simple clustering problem withN=15 objects: X={x1,…,x15}. Note that thegroup section encodes a solution with 4 clusters, labeled “1,” “2,” “3,” and “4,” respectively. Any of the columns in the element section indicates to what extent any object xj belongs to a cluster Ci, that is, the partition matrix element uij. For instance, the first column in the element section encodes a candidate fuzzy solution in which the object x1 belongs to cluster C1 with a degree of membership u1,1=0.6 and belongs to C4 with u4,1=0.4. Keeping this in mind, the aforementioned chromosome encodes an individual that represents a solution with 4 clusters, where observations x2, x3, x5, x6, x8, x10, x11, x13, and x15 belong to a single cluster, observations x1, x4, x9, and x12 belong to two different clusters with different degrees of membership, and finally observations x7 and x14 belong to three different clusters.


## 3.2. Objective Function

The proposed GGA will be run with different objective (fitness) functions to lead the search. Specifically, and for comparative purposes, we will use some of the classical objective functions for fuzzy clustering summarized in Section2.2. In addition, in this paper we propose an adaptation of the well-known Davis-Bouldin index (used in crisp clustering problems) to the fuzzy case which, to the best of our knowledge, is novel in fuzzy clustering. We will show that the use of this modified index renders better results for the GGA than the other existing evaluation indices. The idea of the Davis-Bouldin index [53] for crisp clustering problems is to minimize the intracluster distances while simultaneously maximizing the distances among the different clusters, yielding
(12)DB(U)=1k∑i=1k‍max⁡i≠j{∑x∈Ci‍d2(x,μi)+∑x∈Cj‍d2(x,μj)d2(μi,μj)}.
In the above expression note that small values of the conventional DB index correspond to compact and well-separated clusters. The adaptation of the DB index for fuzzy clustering proposed in this work is expressed as
(13)MDB(U,d)=1k∑i=1k‍max⁡i≠j{∑t=1N‍ui,tαd2(xt,μi)+∑t=1N‍uj,tαd2(xt,μj)d2(μi,μj)},
where μi stands for the centroid associated with cluster Ci, calculated by considering the average of each observation weighted by the degree of membership to cluster Ci. Note in expression (13) that the proposed MDB index explicitly depends on the particular definition considered for the distance d. For example, if we consider the GK distance and based on the covariance matrices of the clusters, the DB index for fuzzy clustering problems will be given by
(14)MDB(U,dGK)=1k∑i=1k‍max⁡i≠j{∑t=1N‍ui,tαd|Σi|1/dΣi-12(xt,μi)+∑t=1N‍uj,tαd|Σj|1/dΣj-12(xt,μj)min⁡{d|Σi|1/dΣi-12(μi,μj),d|Σj|1/dΣj-12(μi,μj)}}.


## 3.3. Selection Operator

In this paper we use a rank-based wheel selection mechanism, similar to the one described in [44]. First, the individuals are sorted in a list based on their quality. The position of the individuals in the list is calledrank of the individual and is denoted as Ri (i=1,…,ξ, with ξ standing for the number of individuals in the population of the GGA). A rank to which the best individual x is assigned will be Rx=ξ, whereas the second best will be y, Ry=ξ-1, and so forth. Afitness value associated with each individual is then defined as
(15)fi=2·Riξ·(ξ+1).
Note that these values are normalized between 0 and 1, depending on the position of the individual in the ranking list. It is important to note that this rank-based selection mechanism isstatic, in the sense that probabilities of survival (given by fi) do not depend on the generation but on the position of the individual in the list. As a toy example, consider a population formed by 5 individuals, in which individual 1 is the best quality one (R1=5), individual 2 is the second best (R2=4), and so on. In this case, the fitness associated with the individuals is {0.33,0.26,0.2,0.13,0.06}, and the associated intervals for the roulette wheel are {0–0.33,0.34–0.6,0.61–0.8,0.81–0.93,0.94–1}.The process carried out in our algorithm consists of selecting theparents for crossover by using this selection mechanism. This procedure is performedwith replacement; that is, a given individual can be selected several times as one of the parents. However, individuals in the crossover operator must be different.


## 3.4. Crossover Operator

The crossover operator implemented in the grouping genetic algorithm used in this paper is a modified version of the one initially proposed by Falkenauer in [36], but with the added bonus of being adapted to the fuzzy clustering problem. These are the main steps followed in the crossover operation.(1)
Select two individuals at random and choose two crossing points in their group part.(2)
Insert the elements belonging to the selected groups of the first individual into the offspring.(3)
Assign the degree of membership of the inserted elements equal to the first individual.(4)
Insert the elements belonging to the selected groups of the second individual into the offspring.(5)
Assign the degree of membership of the inserted elements in the following way. First, the remaining degree membership after the assignment of the elements of the first individual is calculated. This remaining degree membership is then proportionally shared among the elements of the second individual.(6)
Remove empty clusters, if any.(7)
Modify the labels of the current groups in the offspring in order to numerate them from 1 tok.A simple yet illustrative enough example follows. Let us consider two different individualsξ1 and ξ2 that have been randomly chosen among all individuals in a given GGA population so as to perform crossover on them. The groups selected to carry out the procedure are marked in boldface:(16)ξ1=[0.60.00.00.80.01.00.60.00.00.01.00.00.00.41.00.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.00.40.00.00.01.00.00.30.00.10.00.00.21.00.00.0∣1,2,3,4],ξ2=[0.80.40.00.00.00.31.00.00.00.00.00.61.00.70.00.00.60.01.00.10.30.00.50.00.01.00.40.00.11.00.20.01.00.00.90.40.00.50.91.00.00.00.00.20.0∣1,2,3].After steps 2 and 3 of the proposed crossover procedure (insertion of the group elements of the first individual and assignment of the degree of membership), the offspring results in(17)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.0∣2,3].Then the group elements of the second individual are inserted, and the membership degree is modified considering the previous existing degrees from individual 1:(18)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.0∣2,3,1*,2*].There are no empty clusters. Therefore, we pass on to the final step of the crossover approach: modify the labels of current groups in the offspring in order to numerate them from 1 tok (4 in this case): (19)O=[0.00.01.00.20.00.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.00.10.01.00.080.00.051.0∣1,2,3,4].An example of the reassignment of the degree of membership in the final offspring is shown in Figure1, where the evolution of the degrees of membership is shown for observation x14 along the crossover operation. Intuitively the crossover should be high in the first stages of the algorithm and more moderate in the last ones in order to favor the explorative behavior of the algorithm through the search space. Thus, we have implemented an adaptive crossover probability defined as
(20)Pc(j)=Pci+jTG(Pci-Pcf),
where Pc(j) is the crossover probability used in a given generation j, TG stands for the total number of generations of the algorithm, and Pci and Pcf are the initial and final values of probability, respectively, which are set as inputs for the proposed algorithm.Figure 1
Example of the crossover operator implemented in the proposed grouping genetic algorithm for fuzzy clustering problems.


## 3.5. Mutation Operator

Mutation operators include modifications in each individual of the population with a low probability in order to explore new regions of the search space and also to escape from local optima when the algorithm is near convergence. In this case, we have implemented two different mutation operators adapted to the fuzzy clustering problems.(i) Mutation bycluster splitting: this operator consists of splitting a selected cluster into two different parts. The degrees of membership are also randomly split between the two new clusters. The samples belonging to the original cluster are assigned to the new clusters with equal probability. Note that one of the new generated clusters will keep its label in the group section of the individual, whereas the other will be assigned a new label (k+1). The selection for the initial cluster to be split is carried out depending on the clusters’ size, with more probability of splitting imposed on clusters of larger size. As an example, we illustrate an application of this operator in the final offspring individual of the previous example:(21)O=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.0∣1,2,3,4].Let us suppose that the cluster chosen to be split is cluster 1. A possible cluster splitting mutation operation would be(22)Om=[0.00.00.40.080.00.00.00.40.00.40.00.00.00.080.00.01.00.00.00.00.00.10.00.90.00.00.80.00.40.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.00.00.00.00.81.00.50.00.00.10.01.00.080.00.051.00.00.00.60.120.00.00.00.60.00.60.00.00.00.120.0∣1,2,3,4,5].(ii) Mutation byclusters merging: this mutation consists of randomly selecting two existing clusters and merging them into just one single cluster. The degree of membership of the new cluster is the sum of the degrees of the previous ones. As in mutation by cluster splitting, the probability of choosing the clusters depends on their size. In order to illustrate this mutation, we use again the final offspring from the crossover operator example. In this case, let us consider that the selected clusters to be merged are clusters 2 and 4, resulting in(23)Om=[0.00.01.00.20.00.00.01.00.01.00.00.00.00.20.00.01.00.00.81.00.50.10.01.00.01.00.880.00.451.01.00.00.00.00.00.50.90.00.00.00.00.121.00.350.0∣1,2,3].Analogously to the crossover operator, we also consider an adaptive version of the probability of applying the mutation operators described above. Note that we apply the two mutation operators in a serial fashion (one after the other), with independent probabilities of application. In this case, probability of mutation is made smaller in the first generations of the algorithm and larger in the last ones in order to have more opportunities to escape from local minima in the last stages of the evolutionary process; that is,(24)Pm(j)=Pmi+jTG(Pmf-Pmi),
where Pm(j) is the probability of mutation used in a given generation j, TG stands for the total number of generations of the algorithm, and Pmf and Pmi are the final and initial values of probability considered, respectively.


## 3.6. Replacement and Elitism

In the proposed GGA, the population at a given generationj+1 is obtained by replacement of the individuals in the population at generation j, through the application of the selection, crossover, and mutation operators described above. An elitist scheme is also applied: the best individual in generation j is automatically passed on to the population of generation j+1, ensuring that the best solution encountered so far in the evolution is always kept by the algorithm.


## 3.7. Local Search

We use a local search procedure to try to find local optima in a close neighborhood of a given individual. The proposed local search is based on minor modifications of the current individual, as far as they produce an increase of the associated objective function: the local search changes the degree of membership of the observations, starting by one randomly chosen. The changes in the degree of membership are randomly generated. We finally keep the assignment with the largest objective function. Since this local search procedure is a time-consuming operation, it is applied to a given individual with a small probability,pb, that is modified between an initial and final value in the algorithm in the same way that the crossover probability is modified.


## 3.8. An Island Model to Improve the Algorithm’s Performance

In order to improve the performance of the proposed GGA, an island model is considered for its parallelization. In this context,S subpopulations (islands) are set in such a way that the evolution in each island is forced to be independent but the migration of good individuals is allowed between islands. We consider an elitist migration model, in which only the best individual in each island migrates and substitutes a randomly chosen individual in one of the other islands. There is a probability of migration pe predefined in the algorithm. The migration process is summarized in the following steps.(1)
Choose the best individual in each island.(2)
Randomly choose the island toward which each individual will migrate.(3)
Randomly choose an individual in the destiny island and change it by the migrating individual.


## 4. Experiments and Results

This section summarizes and discusses the experimental work we have carried out in order to assess the performance of our proposed GGA approach. We have explored a number of variations of the proposed GGA (by combining different distances and/or objective functions) in a variety of fuzzy clustering scenarios (which, as will be shown later, exhibit an increasing degree of complexity). Table1 lists the values of the GGA parameters used in all the simulations carried out in this paper. These values have been found to be the most appropriate after a number of side experiments, not shown for the sake of brevity. The algorithm presented here is compared with the fuzzy C-means (FCM) [13] algorithm because it has been successfully applied to many real clustering problems and applications characterized by different levels of complexity [26, 27].Table 1
GGA parameters values used in the experiments of the paper.
Parameter
Meaning
Value
Ps
Population size
20
S
Number of subpopulations
4
TG
Maximum number of generations
400
P
c
i
Initial crossover probability
0.8
P
c
f
Final crossover probability
0.6
P
m
i
Initial mutation probability
0.05
P
m
f
Final crossover probability
0.1
P
b
i
Initial local search probability
0.1
P
b
f
Final local search probability
0.05
P
e
Probability of migrating (islands model)
0.03
α
Fuzziness degree
2For reasons made clearer in what follows, the experimental setup for comparing the considered algorithms will be divided into two different parts, characterized by using synthetic and real data (Sections4.1 and 4.2, resp.).


### 4.1. Synthetic Data

#### 4.1.1. Experiment 1 with Synthetic Data: Spherical Clusters

In this first experiment, we test the performance of the proposed GGA in a two-dimensional clustering problem, defined by 300 observations randomly generated using a Gaussian distribution from 8 equiprobable classes, with mean valuesμ1=(-1,1), μ2=(2,-2), μ3=(1,0), μ4=(3,-1), μ5=(-1,-1), μ6=(-1,-3), μ7=(1,2), and μ8=(3,1) and covariance matrices:
(25)Σ1=Σ2=⋯=Σ8=[0.352000.352].Note that this procedure results in a problem characterized by spherical clusters. Figure2 illustrates the two-dimensional distribution of the observations following the above statistical distribution.Figure 2
Two-dimensional representation of data for the first synthetic clustering example (spherical data). See the main text for further details.We have applied to this problem a number of configurations of the proposed GGA—with MDB, XB, and FS objective (fitness) functions—and the FCM algorithm fed with the real number of clusters as a priori information. At this point it is important to emphasize that the proposed GGA is able to infer the number of clusters within the problem, whereas the FCM requires this parameter to be set before execution (namely,C in the above description of FCM). To circumvent this issue, side simulations have been run for FCM and the considered scenario by varying C over a wide range of integer values, from which the value rendering the best metric value has been selected for comparison. Also included is the GGA approach from [38] in order to assess the impact of the novel aspects of the island-based GGA proposed here.Having said this, Table2 lists the supervised evaluation of the results obtained by the aforementioned algorithms. Note that the proposed GGA with the three different objective functions obtains better results than the FCM algorithm. In particular, our GGA with the MDB index exhibits the best behavior (R=0.9937), higher than that of the conventional FCM algorithm (R=0.9712) and the GGA with MDB index from [38] (R=0.9918). In addition, note that the GGA with MDB and XB indexes achieves the solution with the optimal number of clusters (i.e., 8). In order to better describe the behavior of the best algorithm (the GGA with our MBD index), it would be very interesting to have a closer look at Figures 3 to 5.(i)
Figure3 represents the two-dimensional distributions of the 8 clusters found. The color of each observation has been obtained as a combination of those colors representing each cluster, weighted by the degree of membership of each observation.(ii)
Figures4(a) and 4(b) depict, as a function of the number of generations considered, the evolution of the objective function and that of the number of clusters, respectively, in what is the best solution found for this problem. It is worth noting that the algorithm is able to isolate the 8 clusters of the data set with a value of the objective function of 9.7688.(iii)
Finally, Figure5 shows the final solution after the defuzzification process, illustrating the ability of the proposed algorithm to find the 8 clusters.Table 2
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the first synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
8
0.9937
Proposed GGA (XB index)
8
0.9805
Proposed GGA (FS index)
9
0.9874
GGA from [38] (MDB index)
8
0.9918
GGA from [38] (XB index)
8
0.9785
GGA from [38] (FS index)
9
0.9847
FCM
8
0.9712Figure 3
Representation of the best result obtained by the proposed GGA with MDB fitness function in the first synthetic clustering example.Evolution, as a function of the number of generations involved, of (a) the objective (fitness) function (MDB) and (b) the number of clusters obtained.
(a)
(b)Figure 5
Final solution obtained by the proposed GGA (MDB index) after the defuzzification process in the first synthetic clustering problem considered.The question arising from this first experiment lies on how the proposed fuzzy clustering approach works when facing clusters that are not spherical or exhibiting different distributions. This is the rationale behind the following second synthetic experiment.


#### 4.1.2. Experiment 2 with Synthetic Data: Unbalanced Data

We now test the performance of the proposed GGA in a different two-dimensional clustering problem, defined by400 randomly generated objects following a distribution drawn from 3 Gaussian classes with probabilities p1=0.5, p2=0.33, and p3=0.17. The mean values of each of such classes are μ1=(0,2), μ2=(-1,-1), and μ3=(2,-1), whereas their covariance matrices are given by
(26)Σ1=[12000.82],Σ2=[0.62000.42],Σ3=[0.32000.52].
Note that, in this case, the classes are not spherical and have different distributions. Figure 6 displays the observations generated for this instance.Figure 6
Data for the second synthetic clustering example (unbalanced data). See the main text for further details.Table3 shows, in terms of the Rand index, the results obtained by the proposed GGA with MDB, XB, and FS indexes and the previous scheme from [38] with the same set of indexes and those achieved by the FCM algorithm. As shown in this table, the GGA with MDB and XB indexes obtains similar results (better than the FCM), whereas the result of the GGA with FS index is slightly worse than the result of the FCM algorithm. The best results correspond to the here proposed GGA algorithm with the MDB index, rendering a value of R=0.9284 (higher than that of the GGA approach from [38] with the same index and the FCM algorithm) and, what is very important, finding the 3 clusters hidden in the data. Finally, Figure 7 illustrates, in a more intuitive way, the fuzzy clustering reached by the proposed GGA using the MDB index as objective function.Table 3
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the second synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
3
0.9284
Proposed GGA (XB index)
3
0.9203
Proposed GGA (FS index)
7
0.7998
GGA from [38] (MDB index)
3
0.9177
GGA from [38] (XB index)
3
0.9128
GGA from [38] (FS index)
7
0.7606
FCM
4
0.8561Figure 7
Best result obtained by the proposed GGA (MDB index) in the second synthetic clustering example.


#### 4.1.3.  Experiment 3 with Synthetic Data: Heterogeneous Clusters

The goal of this final synthetic experiment consists of exploring the effects of using different distances in the MDB objective function rendering the best results obtained by the proposed GGA. We again set up another two-dimensional clustering problem defined by 300 Gaussian-distributed objects, but in this case the Gaussian distribution is randomly drawn from 6 classes with probabilitiesp1=0.1, p2=0.1, p3=0.1, p4=0.25, p5=0.25, and p6=0.2. Means of the classes are set as μ1=(-2,-2), μ2=(0,-2), μ3=(2,-2), μ4=(0,0.5), μ5=(-1.5,2), and μ6=(2,2.5), whereas the covariance matrices are selected to be
(27)Σ1=[0.30.280.280.3],Σ2=[0.02000.02],Σ3=[0.3-0.28-0.280.3],Σ4=[0.46000.46],Σ5=[0.2000.2],Σ6=[0.5000.5].
For illustrative purposes, Figure 8 displays the observations generated for this instance.Figure 8
Data for the third synthetic clustering example (heterogeneous data).The analysis we have carried out in this case consists of comparing the GGA with the MDB index as objective function (which has obtained the best results in previous experiments), but usingdifferent distance within MDB metrics. Specifically, we will show the effect of including Euclidean, GK, and AFC distances within the proposed GGA. Figure 9(a) represents the solution found by the GGA with MDB index and Euclidean distance. Note that the algorithm is not able to distinguishnonspheric clusters. By contrast, Figure 9(b) shows the result obtained by the proposed GGA with the MDB index and the GK distance. In this case, the algorithm is able to detect the structure of the problem, as can be checked out in the detection of the elliptic clusters at the bottom of the figure. Finally, Figure 9(c) shows the result obtained by the proposed GGA with MDB index and the AFC distance. Note that in this case the adaptive distance measure allows detecting clusters ofdifferent sizes, as the large ones at the topmost part of the figure.Best solutions found by the GGA with MDB index and different distances: (a) Euclidean distance; (b) GK distance; (c) AFC distance.
(a)
(b)
(c)The analysis of the GGA performance in this problem proceeds by comparing the results obtained in terms of the Rand index (supervised measure). Table4 lists the results computed by the proposed GGA, with MDB index and the different distances considered, compared to the results achieved by the FCM approach (with Euclidean distance, which has been found to be the best for the FCM algorithm). Note that the strategy using the proposed GGA with our MDB fitness function and the AFC distance exhibits the best performance, not only because it reaches the highest Rand index (R=0.9670), but also because it properly detects the 6 clusters hidden in the data. Furthermore, only the proposed GGA approach with MDB index and AFC and GK distances is able to locate the correct number of clusters in the final solution.Table 4
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm (with Euclidean distance, which has been found to be the best for this algorithm) in the third synthetic clustering problem considered. See the main text for further details.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.8989
GGA (MDB index)
GK
6
0.9475
GGA (MDB index)
AFC
6
0.9670
FCM
Euclidean
6
0.9416


### 4.2. Real Data

#### 4.2.1. Real Problem 1: Character Recognition

This problem can be stated as follows: letI be a character, a two-dimensional image, in which each pixel, Iij, has been converted to black and white, with black pixels forming the character image. The goal is to optimally segment all the black pixels into clusters, in such a way that a final step of comparison with a reference set can be carried out, with the aim of recognizing the character of the image.To illustrate the feasibility of our procedure, we have made use of an example, given by the character “A” depicted by means of the different samples in the image represented in Figure 10. The performance of the proposed GGA in the recognition of this character is given in Figures 11(a) and 11(b), which display the results achieved by the GGA using our MDB index as objective function and the Euclidean and GK distances, respectively. It is important to note how the proposed GGA approach using the GK distance is able to correctly allocate the three segments that form the A character. The GGA with the Euclidean distance does not provide, however, as good results as those depicted in Figure 11(a). To further assess the feasibility of our proposal, Table 5 summarizes a quantitative comparison in terms of the Rand index. The GGA with MDB index and GK distance is the best among all the algorithms compared, whereas the GGA using the MDB index and either Euclidean or AFC distances obtains similar results to those of the FCM approach. The approach that leads to the best solution of this problem is the proposed GGA by using our MDB fitness function along with the GK distance: it is able to correctly find the 3 segments (clusters of points) with the highest Rand index (R=0.9380).Table 5
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the character recognition problem.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.6606
GGA (MDB index)
GK
3
0.9380
GGA (MDB index)
AFC
3
0.6906
FCM
Euclidean
5
0.6781Figure 10
Data for the character recognition problem considered.Results obtained in the character recognition problem by the proposed GGA: (a) Euclidean distance; (b) GK distance.
(a)
(b)


#### 4.2.2. Real Problem 2: Diabetes Data Set

The data set called “diabetes” (UCI machine learning repository, see [54]) is a well-known problem in classification and clustering involving the diagnosis of diabetes patients, as defined by the World Health Organization. This data base is formed by 768 data vectors, containing, in turn, 8 features that represent medical conditions of the patients, such as age, arterial pressure, or body mass index. The observations belong to two classes, 500 of which belong to a negative diabetes diagnosis and 268 to a positive one. The results obtained by the proposed GGA assisted by the MDB index (which has been found to be the best) are shown in Table 6, in terms of percentage of correct classification. Note that the GGA-MDB with GK distance is the best algorithm among all compared, with a percentage of correct classification over 83%.Table 6
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the diabetes problem.PC (%) stands for the probability of correct classification.
Algorithm
Distance
P
C (%)
GGA (MDB index)
Euclidean
0.7246
GGA (MDB index)
GK
0.8348
GGA (MDB index)
AFC
0.7406
FCM
Euclidean
0.6601


## 4.1. Synthetic Data

### 4.1.1. Experiment 1 with Synthetic Data: Spherical Clusters

In this first experiment, we test the performance of the proposed GGA in a two-dimensional clustering problem, defined by 300 observations randomly generated using a Gaussian distribution from 8 equiprobable classes, with mean valuesμ1=(-1,1), μ2=(2,-2), μ3=(1,0), μ4=(3,-1), μ5=(-1,-1), μ6=(-1,-3), μ7=(1,2), and μ8=(3,1) and covariance matrices:
(25)Σ1=Σ2=⋯=Σ8=[0.352000.352].Note that this procedure results in a problem characterized by spherical clusters. Figure2 illustrates the two-dimensional distribution of the observations following the above statistical distribution.Figure 2
Two-dimensional representation of data for the first synthetic clustering example (spherical data). See the main text for further details.We have applied to this problem a number of configurations of the proposed GGA—with MDB, XB, and FS objective (fitness) functions—and the FCM algorithm fed with the real number of clusters as a priori information. At this point it is important to emphasize that the proposed GGA is able to infer the number of clusters within the problem, whereas the FCM requires this parameter to be set before execution (namely,C in the above description of FCM). To circumvent this issue, side simulations have been run for FCM and the considered scenario by varying C over a wide range of integer values, from which the value rendering the best metric value has been selected for comparison. Also included is the GGA approach from [38] in order to assess the impact of the novel aspects of the island-based GGA proposed here.Having said this, Table2 lists the supervised evaluation of the results obtained by the aforementioned algorithms. Note that the proposed GGA with the three different objective functions obtains better results than the FCM algorithm. In particular, our GGA with the MDB index exhibits the best behavior (R=0.9937), higher than that of the conventional FCM algorithm (R=0.9712) and the GGA with MDB index from [38] (R=0.9918). In addition, note that the GGA with MDB and XB indexes achieves the solution with the optimal number of clusters (i.e., 8). In order to better describe the behavior of the best algorithm (the GGA with our MBD index), it would be very interesting to have a closer look at Figures 3 to 5.(i)
Figure3 represents the two-dimensional distributions of the 8 clusters found. The color of each observation has been obtained as a combination of those colors representing each cluster, weighted by the degree of membership of each observation.(ii)
Figures4(a) and 4(b) depict, as a function of the number of generations considered, the evolution of the objective function and that of the number of clusters, respectively, in what is the best solution found for this problem. It is worth noting that the algorithm is able to isolate the 8 clusters of the data set with a value of the objective function of 9.7688.(iii)
Finally, Figure5 shows the final solution after the defuzzification process, illustrating the ability of the proposed algorithm to find the 8 clusters.Table 2
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the first synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
8
0.9937
Proposed GGA (XB index)
8
0.9805
Proposed GGA (FS index)
9
0.9874
GGA from [38] (MDB index)
8
0.9918
GGA from [38] (XB index)
8
0.9785
GGA from [38] (FS index)
9
0.9847
FCM
8
0.9712Figure 3
Representation of the best result obtained by the proposed GGA with MDB fitness function in the first synthetic clustering example.Evolution, as a function of the number of generations involved, of (a) the objective (fitness) function (MDB) and (b) the number of clusters obtained.
(a)
(b)Figure 5
Final solution obtained by the proposed GGA (MDB index) after the defuzzification process in the first synthetic clustering problem considered.The question arising from this first experiment lies on how the proposed fuzzy clustering approach works when facing clusters that are not spherical or exhibiting different distributions. This is the rationale behind the following second synthetic experiment.


### 4.1.2. Experiment 2 with Synthetic Data: Unbalanced Data

We now test the performance of the proposed GGA in a different two-dimensional clustering problem, defined by400 randomly generated objects following a distribution drawn from 3 Gaussian classes with probabilities p1=0.5, p2=0.33, and p3=0.17. The mean values of each of such classes are μ1=(0,2), μ2=(-1,-1), and μ3=(2,-1), whereas their covariance matrices are given by
(26)Σ1=[12000.82],Σ2=[0.62000.42],Σ3=[0.32000.52].
Note that, in this case, the classes are not spherical and have different distributions. Figure 6 displays the observations generated for this instance.Figure 6
Data for the second synthetic clustering example (unbalanced data). See the main text for further details.Table3 shows, in terms of the Rand index, the results obtained by the proposed GGA with MDB, XB, and FS indexes and the previous scheme from [38] with the same set of indexes and those achieved by the FCM algorithm. As shown in this table, the GGA with MDB and XB indexes obtains similar results (better than the FCM), whereas the result of the GGA with FS index is slightly worse than the result of the FCM algorithm. The best results correspond to the here proposed GGA algorithm with the MDB index, rendering a value of R=0.9284 (higher than that of the GGA approach from [38] with the same index and the FCM algorithm) and, what is very important, finding the 3 clusters hidden in the data. Finally, Figure 7 illustrates, in a more intuitive way, the fuzzy clustering reached by the proposed GGA using the MDB index as objective function.Table 3
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the second synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
3
0.9284
Proposed GGA (XB index)
3
0.9203
Proposed GGA (FS index)
7
0.7998
GGA from [38] (MDB index)
3
0.9177
GGA from [38] (XB index)
3
0.9128
GGA from [38] (FS index)
7
0.7606
FCM
4
0.8561Figure 7
Best result obtained by the proposed GGA (MDB index) in the second synthetic clustering example.


### 4.1.3.  Experiment 3 with Synthetic Data: Heterogeneous Clusters

The goal of this final synthetic experiment consists of exploring the effects of using different distances in the MDB objective function rendering the best results obtained by the proposed GGA. We again set up another two-dimensional clustering problem defined by 300 Gaussian-distributed objects, but in this case the Gaussian distribution is randomly drawn from 6 classes with probabilitiesp1=0.1, p2=0.1, p3=0.1, p4=0.25, p5=0.25, and p6=0.2. Means of the classes are set as μ1=(-2,-2), μ2=(0,-2), μ3=(2,-2), μ4=(0,0.5), μ5=(-1.5,2), and μ6=(2,2.5), whereas the covariance matrices are selected to be
(27)Σ1=[0.30.280.280.3],Σ2=[0.02000.02],Σ3=[0.3-0.28-0.280.3],Σ4=[0.46000.46],Σ5=[0.2000.2],Σ6=[0.5000.5].
For illustrative purposes, Figure 8 displays the observations generated for this instance.Figure 8
Data for the third synthetic clustering example (heterogeneous data).The analysis we have carried out in this case consists of comparing the GGA with the MDB index as objective function (which has obtained the best results in previous experiments), but usingdifferent distance within MDB metrics. Specifically, we will show the effect of including Euclidean, GK, and AFC distances within the proposed GGA. Figure 9(a) represents the solution found by the GGA with MDB index and Euclidean distance. Note that the algorithm is not able to distinguishnonspheric clusters. By contrast, Figure 9(b) shows the result obtained by the proposed GGA with the MDB index and the GK distance. In this case, the algorithm is able to detect the structure of the problem, as can be checked out in the detection of the elliptic clusters at the bottom of the figure. Finally, Figure 9(c) shows the result obtained by the proposed GGA with MDB index and the AFC distance. Note that in this case the adaptive distance measure allows detecting clusters ofdifferent sizes, as the large ones at the topmost part of the figure.Best solutions found by the GGA with MDB index and different distances: (a) Euclidean distance; (b) GK distance; (c) AFC distance.
(a)
(b)
(c)The analysis of the GGA performance in this problem proceeds by comparing the results obtained in terms of the Rand index (supervised measure). Table4 lists the results computed by the proposed GGA, with MDB index and the different distances considered, compared to the results achieved by the FCM approach (with Euclidean distance, which has been found to be the best for the FCM algorithm). Note that the strategy using the proposed GGA with our MDB fitness function and the AFC distance exhibits the best performance, not only because it reaches the highest Rand index (R=0.9670), but also because it properly detects the 6 clusters hidden in the data. Furthermore, only the proposed GGA approach with MDB index and AFC and GK distances is able to locate the correct number of clusters in the final solution.Table 4
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm (with Euclidean distance, which has been found to be the best for this algorithm) in the third synthetic clustering problem considered. See the main text for further details.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.8989
GGA (MDB index)
GK
6
0.9475
GGA (MDB index)
AFC
6
0.9670
FCM
Euclidean
6
0.9416


## 4.1.1. Experiment 1 with Synthetic Data: Spherical Clusters

In this first experiment, we test the performance of the proposed GGA in a two-dimensional clustering problem, defined by 300 observations randomly generated using a Gaussian distribution from 8 equiprobable classes, with mean valuesμ1=(-1,1), μ2=(2,-2), μ3=(1,0), μ4=(3,-1), μ5=(-1,-1), μ6=(-1,-3), μ7=(1,2), and μ8=(3,1) and covariance matrices:
(25)Σ1=Σ2=⋯=Σ8=[0.352000.352].Note that this procedure results in a problem characterized by spherical clusters. Figure2 illustrates the two-dimensional distribution of the observations following the above statistical distribution.Figure 2
Two-dimensional representation of data for the first synthetic clustering example (spherical data). See the main text for further details.We have applied to this problem a number of configurations of the proposed GGA—with MDB, XB, and FS objective (fitness) functions—and the FCM algorithm fed with the real number of clusters as a priori information. At this point it is important to emphasize that the proposed GGA is able to infer the number of clusters within the problem, whereas the FCM requires this parameter to be set before execution (namely,C in the above description of FCM). To circumvent this issue, side simulations have been run for FCM and the considered scenario by varying C over a wide range of integer values, from which the value rendering the best metric value has been selected for comparison. Also included is the GGA approach from [38] in order to assess the impact of the novel aspects of the island-based GGA proposed here.Having said this, Table2 lists the supervised evaluation of the results obtained by the aforementioned algorithms. Note that the proposed GGA with the three different objective functions obtains better results than the FCM algorithm. In particular, our GGA with the MDB index exhibits the best behavior (R=0.9937), higher than that of the conventional FCM algorithm (R=0.9712) and the GGA with MDB index from [38] (R=0.9918). In addition, note that the GGA with MDB and XB indexes achieves the solution with the optimal number of clusters (i.e., 8). In order to better describe the behavior of the best algorithm (the GGA with our MBD index), it would be very interesting to have a closer look at Figures 3 to 5.(i)
Figure3 represents the two-dimensional distributions of the 8 clusters found. The color of each observation has been obtained as a combination of those colors representing each cluster, weighted by the degree of membership of each observation.(ii)
Figures4(a) and 4(b) depict, as a function of the number of generations considered, the evolution of the objective function and that of the number of clusters, respectively, in what is the best solution found for this problem. It is worth noting that the algorithm is able to isolate the 8 clusters of the data set with a value of the objective function of 9.7688.(iii)
Finally, Figure5 shows the final solution after the defuzzification process, illustrating the ability of the proposed algorithm to find the 8 clusters.Table 2
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the first synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
8
0.9937
Proposed GGA (XB index)
8
0.9805
Proposed GGA (FS index)
9
0.9874
GGA from [38] (MDB index)
8
0.9918
GGA from [38] (XB index)
8
0.9785
GGA from [38] (FS index)
9
0.9847
FCM
8
0.9712Figure 3
Representation of the best result obtained by the proposed GGA with MDB fitness function in the first synthetic clustering example.Evolution, as a function of the number of generations involved, of (a) the objective (fitness) function (MDB) and (b) the number of clusters obtained.
(a)
(b)Figure 5
Final solution obtained by the proposed GGA (MDB index) after the defuzzification process in the first synthetic clustering problem considered.The question arising from this first experiment lies on how the proposed fuzzy clustering approach works when facing clusters that are not spherical or exhibiting different distributions. This is the rationale behind the following second synthetic experiment.


## 4.1.2. Experiment 2 with Synthetic Data: Unbalanced Data

We now test the performance of the proposed GGA in a different two-dimensional clustering problem, defined by400 randomly generated objects following a distribution drawn from 3 Gaussian classes with probabilities p1=0.5, p2=0.33, and p3=0.17. The mean values of each of such classes are μ1=(0,2), μ2=(-1,-1), and μ3=(2,-1), whereas their covariance matrices are given by
(26)Σ1=[12000.82],Σ2=[0.62000.42],Σ3=[0.32000.52].
Note that, in this case, the classes are not spherical and have different distributions. Figure 6 displays the observations generated for this instance.Figure 6
Data for the second synthetic clustering example (unbalanced data). See the main text for further details.Table3 shows, in terms of the Rand index, the results obtained by the proposed GGA with MDB, XB, and FS indexes and the previous scheme from [38] with the same set of indexes and those achieved by the FCM algorithm. As shown in this table, the GGA with MDB and XB indexes obtains similar results (better than the FCM), whereas the result of the GGA with FS index is slightly worse than the result of the FCM algorithm. The best results correspond to the here proposed GGA algorithm with the MDB index, rendering a value of R=0.9284 (higher than that of the GGA approach from [38] with the same index and the FCM algorithm) and, what is very important, finding the 3 clusters hidden in the data. Finally, Figure 7 illustrates, in a more intuitive way, the fuzzy clustering reached by the proposed GGA using the MDB index as objective function.Table 3
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB, XB, and FS indexes, respectively, with the previous GGA in [38] and the FCM algorithm in the second synthetic clustering problem considered.
Algorithm
Number of clusters
Rand index
Proposed GGA (MDB index)
3
0.9284
Proposed GGA (XB index)
3
0.9203
Proposed GGA (FS index)
7
0.7998
GGA from [38] (MDB index)
3
0.9177
GGA from [38] (XB index)
3
0.9128
GGA from [38] (FS index)
7
0.7606
FCM
4
0.8561Figure 7
Best result obtained by the proposed GGA (MDB index) in the second synthetic clustering example.


## 4.1.3.  Experiment 3 with Synthetic Data: Heterogeneous Clusters

The goal of this final synthetic experiment consists of exploring the effects of using different distances in the MDB objective function rendering the best results obtained by the proposed GGA. We again set up another two-dimensional clustering problem defined by 300 Gaussian-distributed objects, but in this case the Gaussian distribution is randomly drawn from 6 classes with probabilitiesp1=0.1, p2=0.1, p3=0.1, p4=0.25, p5=0.25, and p6=0.2. Means of the classes are set as μ1=(-2,-2), μ2=(0,-2), μ3=(2,-2), μ4=(0,0.5), μ5=(-1.5,2), and μ6=(2,2.5), whereas the covariance matrices are selected to be
(27)Σ1=[0.30.280.280.3],Σ2=[0.02000.02],Σ3=[0.3-0.28-0.280.3],Σ4=[0.46000.46],Σ5=[0.2000.2],Σ6=[0.5000.5].
For illustrative purposes, Figure 8 displays the observations generated for this instance.Figure 8
Data for the third synthetic clustering example (heterogeneous data).The analysis we have carried out in this case consists of comparing the GGA with the MDB index as objective function (which has obtained the best results in previous experiments), but usingdifferent distance within MDB metrics. Specifically, we will show the effect of including Euclidean, GK, and AFC distances within the proposed GGA. Figure 9(a) represents the solution found by the GGA with MDB index and Euclidean distance. Note that the algorithm is not able to distinguishnonspheric clusters. By contrast, Figure 9(b) shows the result obtained by the proposed GGA with the MDB index and the GK distance. In this case, the algorithm is able to detect the structure of the problem, as can be checked out in the detection of the elliptic clusters at the bottom of the figure. Finally, Figure 9(c) shows the result obtained by the proposed GGA with MDB index and the AFC distance. Note that in this case the adaptive distance measure allows detecting clusters ofdifferent sizes, as the large ones at the topmost part of the figure.Best solutions found by the GGA with MDB index and different distances: (a) Euclidean distance; (b) GK distance; (c) AFC distance.
(a)
(b)
(c)The analysis of the GGA performance in this problem proceeds by comparing the results obtained in terms of the Rand index (supervised measure). Table4 lists the results computed by the proposed GGA, with MDB index and the different distances considered, compared to the results achieved by the FCM approach (with Euclidean distance, which has been found to be the best for the FCM algorithm). Note that the strategy using the proposed GGA with our MDB fitness function and the AFC distance exhibits the best performance, not only because it reaches the highest Rand index (R=0.9670), but also because it properly detects the 6 clusters hidden in the data. Furthermore, only the proposed GGA approach with MDB index and AFC and GK distances is able to locate the correct number of clusters in the final solution.Table 4
Comparison of the results (in terms of the number of clusters finally found and as a function of the Rand index) obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm (with Euclidean distance, which has been found to be the best for this algorithm) in the third synthetic clustering problem considered. See the main text for further details.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.8989
GGA (MDB index)
GK
6
0.9475
GGA (MDB index)
AFC
6
0.9670
FCM
Euclidean
6
0.9416


## 4.2. Real Data

### 4.2.1. Real Problem 1: Character Recognition

This problem can be stated as follows: letI be a character, a two-dimensional image, in which each pixel, Iij, has been converted to black and white, with black pixels forming the character image. The goal is to optimally segment all the black pixels into clusters, in such a way that a final step of comparison with a reference set can be carried out, with the aim of recognizing the character of the image.To illustrate the feasibility of our procedure, we have made use of an example, given by the character “A” depicted by means of the different samples in the image represented in Figure 10. The performance of the proposed GGA in the recognition of this character is given in Figures 11(a) and 11(b), which display the results achieved by the GGA using our MDB index as objective function and the Euclidean and GK distances, respectively. It is important to note how the proposed GGA approach using the GK distance is able to correctly allocate the three segments that form the A character. The GGA with the Euclidean distance does not provide, however, as good results as those depicted in Figure 11(a). To further assess the feasibility of our proposal, Table 5 summarizes a quantitative comparison in terms of the Rand index. The GGA with MDB index and GK distance is the best among all the algorithms compared, whereas the GGA using the MDB index and either Euclidean or AFC distances obtains similar results to those of the FCM approach. The approach that leads to the best solution of this problem is the proposed GGA by using our MDB fitness function along with the GK distance: it is able to correctly find the 3 segments (clusters of points) with the highest Rand index (R=0.9380).Table 5
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the character recognition problem.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.6606
GGA (MDB index)
GK
3
0.9380
GGA (MDB index)
AFC
3
0.6906
FCM
Euclidean
5
0.6781Figure 10
Data for the character recognition problem considered.Results obtained in the character recognition problem by the proposed GGA: (a) Euclidean distance; (b) GK distance.
(a)
(b)


### 4.2.2. Real Problem 2: Diabetes Data Set

The data set called “diabetes” (UCI machine learning repository, see [54]) is a well-known problem in classification and clustering involving the diagnosis of diabetes patients, as defined by the World Health Organization. This data base is formed by 768 data vectors, containing, in turn, 8 features that represent medical conditions of the patients, such as age, arterial pressure, or body mass index. The observations belong to two classes, 500 of which belong to a negative diabetes diagnosis and 268 to a positive one. The results obtained by the proposed GGA assisted by the MDB index (which has been found to be the best) are shown in Table 6, in terms of percentage of correct classification. Note that the GGA-MDB with GK distance is the best algorithm among all compared, with a percentage of correct classification over 83%.Table 6
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the diabetes problem.PC (%) stands for the probability of correct classification.
Algorithm
Distance
P
C (%)
GGA (MDB index)
Euclidean
0.7246
GGA (MDB index)
GK
0.8348
GGA (MDB index)
AFC
0.7406
FCM
Euclidean
0.6601


## 4.2.1. Real Problem 1: Character Recognition

This problem can be stated as follows: letI be a character, a two-dimensional image, in which each pixel, Iij, has been converted to black and white, with black pixels forming the character image. The goal is to optimally segment all the black pixels into clusters, in such a way that a final step of comparison with a reference set can be carried out, with the aim of recognizing the character of the image.To illustrate the feasibility of our procedure, we have made use of an example, given by the character “A” depicted by means of the different samples in the image represented in Figure 10. The performance of the proposed GGA in the recognition of this character is given in Figures 11(a) and 11(b), which display the results achieved by the GGA using our MDB index as objective function and the Euclidean and GK distances, respectively. It is important to note how the proposed GGA approach using the GK distance is able to correctly allocate the three segments that form the A character. The GGA with the Euclidean distance does not provide, however, as good results as those depicted in Figure 11(a). To further assess the feasibility of our proposal, Table 5 summarizes a quantitative comparison in terms of the Rand index. The GGA with MDB index and GK distance is the best among all the algorithms compared, whereas the GGA using the MDB index and either Euclidean or AFC distances obtains similar results to those of the FCM approach. The approach that leads to the best solution of this problem is the proposed GGA by using our MDB fitness function along with the GK distance: it is able to correctly find the 3 segments (clusters of points) with the highest Rand index (R=0.9380).Table 5
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the character recognition problem.
Algorithm
Distance
Number of clusters
Rand index
GGA (MDB index)
Euclidean
5
0.6606
GGA (MDB index)
GK
3
0.9380
GGA (MDB index)
AFC
3
0.6906
FCM
Euclidean
5
0.6781Figure 10
Data for the character recognition problem considered.Results obtained in the character recognition problem by the proposed GGA: (a) Euclidean distance; (b) GK distance.
(a)
(b)


## 4.2.2. Real Problem 2: Diabetes Data Set

The data set called “diabetes” (UCI machine learning repository, see [54]) is a well-known problem in classification and clustering involving the diagnosis of diabetes patients, as defined by the World Health Organization. This data base is formed by 768 data vectors, containing, in turn, 8 features that represent medical conditions of the patients, such as age, arterial pressure, or body mass index. The observations belong to two classes, 500 of which belong to a negative diabetes diagnosis and 268 to a positive one. The results obtained by the proposed GGA assisted by the MDB index (which has been found to be the best) are shown in Table 6, in terms of percentage of correct classification. Note that the GGA-MDB with GK distance is the best algorithm among all compared, with a percentage of correct classification over 83%.Table 6
Comparison of the results obtained by the proposed GGA algorithm with MDB index and different distances and the FCM algorithm in the diabetes problem.PC (%) stands for the probability of correct classification.
Algorithm
Distance
P
C (%)
GGA (MDB index)
Euclidean
0.7246
GGA (MDB index)
GK
0.8348
GGA (MDB index)
AFC
0.7406
FCM
Euclidean
0.6601


## 5. Conclusions

In this paper we have presented a grouping genetic algorithm for fuzzy clustering problems. The main contributions of this work are(1) a novel encoding approach of the individuals involved in the evolutionary process, containing information not only of the partition matrix elements, but also of the clusters being obtained; (2) a novel fitness function based on a modification of the Davis-Bouldin index for its efficient use in fuzzy clustering problems and that enables the chance of introducing norms adapted to any problem; (3) novel crossover and mutation operators particularly derived to achieve the effective evolution of the individuals; and (4) a local search and parallelization-based scheme of the algorithm aimed at improving its overall performance.Indeed, such performance has been explored in a variety of experiments, both synthetically generated and based on practical problems. The experimental work devised—based on different fuzzy problems characterized by an increasing degree of complexity (clusters with different distribution, volume, and orientation)—proves that our algorithm (using our proposed fitness function with distances such as the Gustafson-Kessel distance or the one established for the adaptive fuzzy clustering) exhibits a significantly better performance than that achieved by the fuzzy C-means algorithm.



---

*Source: 916371-2014-05-22.xml*