Articles & News Stories

DifFUZZY: A fuzzy clustering algorithm for complex data sets

Published
of 13
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Description
DifFUZZY: A fuzzy clustering algorithm for complex data sets Ornella Cominetti,, Anastasios Matzavinos, Sandhya Samarasinghe 3, Don Kulasiri 3, Sijia Liu, Philip K. Maini,4, and Radek Erban 5 Centre for
Transcript
DifFUZZY: A fuzzy clustering algorithm for complex data sets Ornella Cominetti,, Anastasios Matzavinos, Sandhya Samarasinghe 3, Don Kulasiri 3, Sijia Liu, Philip K. Maini,4, and Radek Erban 5 Centre for Mathematical Biology, Mathematical Institute, University of Oxford, 4 9 St. Giles, Oxford, OX 3LB, United Kingdom Department of Mathematics, Iowa State University, Ames, IA 5, USA 3 Centre for Advanced Computational Solutions (C-fACS), Lincoln University, P.O.Box 84, Christchurch, New Zealand 4 Oxford Centre for Integrative Systems Biology, Department of Biochemistry, University of Oxford, South Parks Road, Oxford, OX 3QU, United Kingdom 5 Oxford Centre for Collaborative Applied Mathematics, Mathematical Institute, University of Oxford, 4 9 St. Giles, Oxford, OX 3LB, United Kingdom Abstract Soft (fuzzy) clustering techniques are often used in the study of high-dimensional data sets, such as microarray and other high-throughput bioinformatics data. The most widely used method is the Fuzzy C-means algorithm (FCM), but it can present difficulties when dealing with some data sets. A fuzzy clustering algorithm, DifFUZZY, which utilises concepts from diffusion processes in graphs and is applicable to a larger class of clustering problems than other fuzzy clustering algorithms is developed. Examples of data sets (synthetic and real) for which this method outperforms other frequently used algorithms are presented, including two benchmark biological data sets, a genetic expression data set and a data set that contains taxonomic measurements. This method is better than traditional fuzzy clustering algorithms at handling data sets that are curved, elongated or those which contain clusters of different dispersion. The algorithm has been implemented in Matlab and C++ and is available at Introduction The need to interpret and extract possible inferences from high-dimensional bioinformatic data has led over the past decades to the development of dimensionality reduction and data clustering techniques. One of the first studied data clustering methodologies is the K-means algorithm, which was introduced by MacQueen [8] and is the prototypical example of a non-overlapping, hard (crisp) clustering approach (Gan et al. []). The applicability of the K-means algorithm, however, is limited by the requirement that the clusters to be identified should be well-separated and convex-shaped (such as those in Fig. (a)) which is often not the case in biological data. Two fundamentally distinct approaches have been proposed in the past to address these two restrictions. Bezdek et al. [] proposed the Fuzzy C-means (FCM) algorithm as an alternative, soft clustering approach that generates fuzzy partitions for a given data set. In the case of FCM the clusters to be identified do not have to be well-separated, as the method assigns cluster membership probabilities to undecidable elements of the data set that cannot be readily assigned to a specific cluster. However, the method does not exploit the intrinsic geometry of non-convex clusters, and, as we demonstrate in this article, its performance is drastically reduced when applied to some data sets, for example those in Figs. (a) and 3(a). This behaviour can also be observed in the case of the standard K-means algorithm (Ng et al. []). These algorithms have been very successful in This is a preprint version of the paper which was published as O. Cominetti, A. Matzavinos, S. Samarasinghe, D. Kulasiri, S. Liu, P.. Maini and R. Erban, DifFUZZY: A fuzzy clustering algorithm for complex data sets, International Journal of Computational Intelligence in Bioinformatics and Systems Biology (4) pp () a number of examples in very diverse areas (such as in image segmentation (Trivedi and Bezdek [4]), analysis of genetic networks (Stuart et al. []), protein class prediction (Zhang et al. [7]), epidemiology (French et al. []), among many others), but here we also explore data sets for which their performance is poor. To circumvent the above problems associated with the geometry of data sets, approaches based on spectral graph theory and diffusion distances have been recently devised (Nadler et al. [9], Yen et al. [6]). However, these algorithms are generally hard clustering methods which do not allow data points to belong to more than one cluster at the same time. This limits their applicability in clustering genetic expression data, where alternative or superimposed modes of regulation of certain genes would not be identified using partitional methods (Dembélé and Kastner [6]). In this paper we present DifFUZZY, a fuzzy clustering algorithm that is applicable to a larger class of clustering problems than the FCM algorithm (Bezdek et al. []). For data sets with convex-shaped clusters both approaches lead to similar results, but DifFUZZY can better handle clusters with a complex, nonlinear geometric structure. Moreover, DifFUZZY does not require any prior information on the number of clusters. The paper is organised as follows. In Section, we present the DifFUZZY algorithm and give an intuitive explanation of how it works. In Section 3 we start with a prototypical example of a data set which can be successfully clustered by FCM, and we show that DifFUZZY leads to consistent results. Subsequently, we introduce examples of data sets for which FCM fails to identify the correct clusters, whereas DifFUZZY succeeds. Then, we apply DifFUZZY to biological data sets, namely, the Iris taxonomic data set and cancer genetic expression data sets.. Methods DifFUZZY is an alternative clustering method which combines ideas from fuzzy clustering and diffusion on graphs. The input of the algorithm is the data set in the form X,X,...,X N R p () where N is the number of data points and p is their dimension, plus four parameters, one of which is external, M, and the rest are the internal and optional parameters γ, γ and γ 3. M is an integer which represents the minimum number of data points in the clusters to be found. This parameter is necessary, since in most cases only a few data points do not constitute a cluster, but a set of soft data points or a set of outliers. There are three optional parameters: γ, γ and γ 3 whose default values (.3,. and, respectively) have been optimised and used successfully in all the data sets analysed. A regular user can use these values with confidence. However, more advanced users can modify their values, with the intuitive explanation provided in Section.4. DifFUZZY returns a number of clusters (C) and a set of membership values for each data point in each cluster. The membership value of data point X i in the cluster c is denoted as u c (X i ), and it goes from zero to one, where this latter case means that X i is very likely a member of the cluster c, while the former case (u c (X i ) ) corresponds to the situation in which the point X i is very likely not a member of the cluster c. The membership degrees of the i-th point, i =,,...,N, The formulation of the FCM is given in the Supplementary Material. sum to, that is C u c (X i ) =. () c= DifFUZZY has been implemented in Matlab and C++ and can be downloaded from: The algorithm can be divided into three main steps, which will be explained in the following Sections..3. The reader who is not particularly interested in understanding the details of the algorithm can skip this part of the paper... Identification of the core of clusters To explain the first step of the algorithm, we define the auxiliary function F(σ) : (, ) N as follows. Let σ (, ) be a positive number. We construct the so called σ-neighbourhood graph where each node represents one data point from the data set (), i.e. the σ-neighbourhood graph has N nodes. The i-th node and j-th node will be connected by an edge if X i X j σ, where represents the Euclidean norm. Then F(σ) is equal to the number of components of the σ-neighbourhood graph which contain at least M vertices, where M is the mandatory parameter of DifFUZZY introduced above. Fig. (b) shows an example of the plot of F(σ), which was obtained using the data set presented in Fig. (a). We can see that F(σ) begins from zero, and then increases to its maximum value, before settling back down to a value of. The final value will always be one, because the σ-neighbourhood graph is fully connected for sufficiently large σ values, i.e. it only has one component. DifFUZZY computes the number, C, of clusters as the maximum value of F(σ), i.e. C = max σ (, ) F(σ). For the example in Fig. (b), we have C = 3, which corresponds to the three clusters shown in the original data set in Fig. (a). In Fig. (b) we see that there is an interval of values of σ for which F(σ) reaches its maximum value C. As the next step DifFUZZY computes σ, which is defined as the minimum value of σ for which F(σ) is equal to C. Then the σ -neighbourhood graph is constructed. The components of this graph which contain at least M vertices will form the cores of the clusters to be identified. Each data point X i which lies in the c-th core is assigned the membership values u c (X i ) = and u j (X i ) = for j c, as this point fully belongs to the c-th cluster. Every such point will be called a hard point in what follows. The remaining points are called soft points. Since we already know the number of clusters C and the membership functions of hard points, it remains to assign a membership function to each soft point. This will be done in two steps. First we compute some auxiliary matrices in Section. and then we assign the membership values to soft points in Section.3... Computation of auxiliary matrices W, D and P In this section we show the formulae to compute the auxiliary matrices W, D and P, whose definition can be intuitively understood in terms of diffusion processes on graphs, as explained in Section.4. We first define a family of matrices Ŵ(β) with entries if i and j are hard points ŵ i,j (β) = ) in the same core cluster, (3) exp ( X i X j otherwise, β 3 (a) (b) 3 y L(β).5.5 x (c) β β * =.937 F(σ) σ* = σ (d) Membership values Data Point Number Figure : (a) Globular clusters data set. (b) F(σ) for the data set in (a). For this data set we determined the number of clusters C to be 3, and σ =.5, for the parameter M = 35. (c) L(β), given by Eq. (4) plotted on a logarithmic scale, for the data set in (a). β =.937 was obtained using Eq. (5). (d) DifFUZZY membership values for this data set. Each data point is represented by a bar of total height equal to (from Eq. ). (M = 35). Colour code: green, red and blue correspond to the membership value of the data points in the three clusters, with the corresponding colour code as in (a). This representation will be used in Figs. and 3. where β is a positive real number. We define the function L(β) : (, ) (, ) to be the sum L(β) = N i= j= N ŵ i,j (β). (4) The log-log plot of function L(β) is shown in Fig. (c) for the data set given in Fig. (a). We can see that it has two well defined limits lim L(β) = N + C n i (n i ) and lim L(β) = β β N, i= where n i corresponds to the number of points in the i-th core cluster. As explained in Section.4, we are interested in finding the value of β which corresponds to an intermediate value of L(β). DifFUZZY does this by finding β which satisfies the relation ( ) C L(β ) = ( γ ) N + n i (n i ) +γ N, (5) where γ (,) is an internal parameter of the method. Its default value is.3. Then the auxiliary matrices are defined as follows. We put i= W = Ŵ(β ). (6) 4 The matrix D is defined as a diagonal matrix with diagonal elements D i,i = N w i,j, i =,,...,N, (7) where w i,j are the entries of matrix W. Finally, the matrix P is defined as j= P = I +[W D] γ max D, (8) i,i i=,...n where I R N N is the identity matrix and γ is an internal parameter of DifFUZZY. Its default value is...3. The membership values of soft data points Let X s be a soft data point. To assign its membership value u c (X s ) in cluster c {,,...,C}, we first find the hard point in the c-th core which is closest (in Euclidean distance) to X s. This point will be denoted as X n in what follows. Using the matrix W defined by Eq. (6), DifFUZZY constructs a new matrix W which is equal to the original matrix W, with the s-th row replaced by the n-th row and the s-th column replaced by the n-th column. Using W instead of W, matrices D and P are computed by (7) and (8), respectively. DifFUZZY also computes an auxiliary integer parameter α by α = γ 3 logλ where λ corresponds to the second (largest) eigenvalue of P and denotes the integer part. Next, we compute the diffusion distance between the soft point X s and the c-th cluster by, dist(x s,c) = P α e P α e, (9) where e(j) = if j = s, and e(j) = otherwise. Finally the membership value of the soft point X s in the c-th cluster, u c (X s ), is determined with the following formula: u c (X s ) = dist(x s,c). () C dist(x s,l) This procedure is applied to every soft data point X s and every cluster c {,,...,C}. l=.4. Geometric and graph interpretation of DifFUZZY In this section, we provide an intuitive geometric explanation of the ideas behind the DifFUZZY algorithm. The matrix P can be thought of as a transition matrix whose rows all sum to, and whose entry P i,j corresponds to the probability of jumping from the node (data point) i to the node j in one time step. The j-th component of the vector P α e, which is used in (9), is the probability of a random walk ending up in the j-th node, j =,,...,N, after α time steps, provided that it starts in the s-th node. In this geometric interpretation we can give an intuitive meaning to the auxiliary parameters γ, γ and γ 3. The parameter γ (,) is related to the time scale of this random walk. γ 5 corresponds to the case where all the nodes are highly connected, and therefore the diffusion will occur instantaneously, whereas for values of γ, there will be almost no diffusion between cluster cores. Therefore, we are interested in an intermediate point, where there is enough time to diffuse, but where equilibrium has not yet been reached. The parameter γ (,) ensures that none of the entries of the transition matrix P are negative, which is important, since they represent transition probabilities. It can be interpreted as the length of the time step of the random walk on the graph. For very small values of γ we have P I, for which the probabilities of transition between different data points is close to zero, therefore there will not be any diffusion during one time step. The parameter γ 3 (, ) is the number of time steps the random walk is going to be run or propagated, capturing information of higher order neighbourhood structure (Lafon and Lee [6]). Small values of γ 3 give us a few time steps, whereas large values of γ 3 give us a large number of time steps. In the first situation not much diffusion has taken place, whereas in the latter case, when the random walk is propagated a very large number of times, the diffusion process is near to reaching the equilibrium. The matrix P is used to represent a different diffusion process, an equivalent one to the first random walk, but over a new graph, where the data point X s has been moved to the position of the data point X n. This matrix then corresponds to the transition matrix for this auxiliary graph. 3. Results In Section 3., we present three computer generated test data sets, designed to illustrate the strengths and weaknesses of FCM. In all three cases we show that DifFUZZY gives the desired result. Then, in Section 3. we apply DifFUZZY to data sets obtained from biological experiments. 3.. Synthetic test data sets The output of DifFUZZY is a number of clusters (C) and for each data point a set of C numbers that represent the degree of membership in each cluster. The membership value of point X i, i =,,...,N, in the c-th cluster, c =,,..., C, is denoted by u c (X i ). The degree of membership is a number between and, where the values close to correspond to points that are very likely to belong to that cluster. The sum of the membership values of a data point in all clusters is always one (see Eq. ()). In particular, for a given point, there can be only one cluster for which the membership value is close to, i.e. the point can belong to only one cluster with high certainty. A prototypical cluster data set in two-dimensional space is shown in Fig. (a). Every point is described by two coordinates. We can see that the data points form three well defined clusters which are coloured in green, red, and blue. Any good soft or hard clustering technique should identify these clusters. However, when we introduce intermediate data points, the clusters are less well defined, closer together, and some hard clustering techniques may have difficulty in separating the clusters. FCM can successfully handle this problem (see the Supplementary Material). The same is true for DifFUZZY. In Fig. (d) we present the results obtained by applying DifFUZZY to the data set in Fig. (a). We plot the membership values for all data points. This is a prototypical example of the type of problem for which FCM works and DifFUZZY gives comparable results. Further examples are shown in the Supplementary Material. A classical example where the K-means algorithm fails (Filippone et al. [9]) is shown in Fig. (a). This is a two-dimensional data set formed by three concentric rings. Using DifFUZZY we identify each ring as a separate cluster, as can be seen in Fig. (a) (b). Since fuzzy clustering assigns each 6 point to a vector of membership values, it is more challenging to visualise the results. One option is toplotthemembershipvaluesasshowninfig. (b). Aroughideaofthebehaviourofthealgorithm can also be obtained by making what we call a HCT-plot ( Hard Clusters by Threshold ) defined as follows: a data point is coloured as the points in a given core cluster only if its membership value for that cluster is higher than an arbitrary threshold z. All the other data points are unassigned, and consequently plotted in black. Such a plot is shown in Fig.(a) for z =.9. HCT-plots do not show the complete result from applying a given fuzzy clustering method to a data set, since they contain less information than the complete result (all the membership values), and the HCT-plots depend on the threshold. However, it is illustrative to include them to clearly show how the results of different algorithms compare. The membership values obtained with FCM are plotted in Fig. (d). In Fig. (c) we present the corresponding HCT-plot with a threshold value of.9. Comparing Figs. (a) (b) with (c) (d) we clearly see that DifFUZZY identifies the three rings as different clusters, while FCM fails, and this can be observed for any value of z. (a) y (c) y x x (b).5 Membership values (d).5 Membership values 4 6 Data Point Number 4 6 Data Point Number Figure : Concentric rings test data set. (a) DifFUZZY HCT-plot, z =.9. (M = 9). (b) DifFUZZY membership values. (c) FCM HCT-plot, z =.9. (d) FCM membership values. Colour code for (b) and (d) as in Fig. (b). Another data set where K-means algorithms fail is presented in Fig. 3(a). This two-dimensional data set contains two elongated clusters, one in a diagonal orientation and the other a cross-shaped cluster. The results of DifFUZZY and FCM applied over this data set are summarised in the membership value plots in Figs. 3(b) and 3(d), respectively. DifFUZZY can separate the clusters remarkably well, as is clear from Fig. 3(a). For this data set FCM can not separate the clusters, cutting the left cluster (blue) in two parts as can be seen in the HCT-plot shown in Fig. 3(c), using the threshold value z =.9. If we compare the membership values given by FCM (Fig. 3(d)) to the one by DifFUZZY in Fig. 3(b), which basically corresponds to the desired membership values of the data points, we see the wrong identification of the data points numbered a
Search
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks