2
Implementation of Fuzzy Clustering Using FUZZY ENVIRON G.A. Vijayalakshmi Pai PSG College of Technology, Abstract FUZZY ENVIRON isa software fool,that provides for a congenial programmingenvironment, for applications of fuzzy sets. Availability of a fuzzy library equipped with some ofthe commonly used fuzzy operations, a menu driven user interface, an on-line help manual, and provision to redirect the system to CIProlog environment to enable program development in C or Prolog respec- tively, are some of thefeatures of this tool. This paper discusses the implementation of a fuzzy clurrering algorithm wing FUZZY ENVIRON. The algorithm developed by Yeh and Bang, deals with the problem of grouping of individualsinto clusters, when the measure of possession of characteristics by the individuals is fuzzy. The implementation of the algorithm using FUZZY ENVIRON, has not only resulted in the program develop- ment being less tedious,but also in the programbeing less complex. 1:In troduction A cluster could be defined as a group of individuals exhibiting similar behaviour. In classical clustering algorithms, it is implicitly assumed that disjoint clusters exist in the set of data. However, in certain situations, the measure of possession of characteristics by individuals of the set may be fuzzy, thereby rendering the separation of clusters to be a fuzzy notion. In such cases, the representation of clusters may appropriately be made with the help of fuzzy sets. The clusters thus obtained could be represented in the form of a dendrogram which is a two- dimensional diagram, illustrating the fusions or partitions, which have been made at each successive level. Ruspini [6]-[9] has not only introduced the notion of fuzzy partition to represent clusters in a data set, but has also discussed the problem of clustering using certain association measures. Graph theoretic approach to cluster analysis has been discussed by Flake and Turner[2] and Tamuraetal[ll].YehandBang[l2] have defined several kinds of clustersbased on various notions of connectivityin Coimbatore-641004, India a fuzzy symmetrical graph. Bezdek and Harris[l], Zadeh[l3],Ruspini[lO] and Lopez de Mantaras[3] have discussed new approaches to fuzzy Clustering. 'This paper briefly reviews the salient featms of FUZZY ENVIRON. before discussing the implementation of a fuzzy clustering algorithm developed by Yeh and Bang [12], using FUZZY ENVIRON. 2:FUZZY ENVIRON: A review FUZZY ENVIRON [4], [5] is a softwaretool that pres- entsan integrated fuzzy programming environment to enable development of 'fuzzy' programs. The merits of using FUZZY ENVIRON for application program devel- opment are: (i) Software development takes less time and, (ii) Resulting software is less complex. Availability of a fuzzy library (FuZZYLE3.H) equipped with some of the commonly used fuzzy operations, a menu-driven user interface, an on line help manual and, navigational and security control facilities are some of the salient features of this tool. 3:Fuzzy clustering algorithm Aclusteranalysisalgorithm for n individuals and m characteristics, presented by Yeh and Bang, when the measure of possession of characteristics by the individual is fuzzy, has been elaborated here. #include <fuzzylib.h> /*access FUZZYL1B.H */ procedure CLUSTER0 read(n); read(m); read-relation@, n, m); /* read fuzzy relation R between, n individuals and m characteristics*/ for i = 1 to n ( Vector-1 := (R[i,l],R[i,2], ... R[i,m]) /*Extract i* row /* input number of individuals*/ I* input number of characteristics*/ vectorofR, l tiln*/ forj= 1 ton ( Vector-2 := (R&lI, Ru,2] ,... R&") /* Extract j* row vector of R, 1 j s n */ 0-8186-4260-2/93 $03.00 0 1993 IEEE 146

[IEEE Comput. Soc. Press 1993 The First New Zealand International Two-Stream Conference on Artificial Neural Networks and Expert Systems - Dunedin, New Zealand (24-26 Nov. 1993)] Proceedings

  • Upload
    gav

  • View
    213

  • Download
    1

Embed Size (px)

Citation preview

Page 1: [IEEE Comput. Soc. Press 1993 The First New Zealand International Two-Stream Conference on Artificial Neural Networks and Expert Systems - Dunedin, New Zealand (24-26 Nov. 1993)] Proceedings

Implementation of Fuzzy Clustering Using FUZZY ENVIRON

G.A. Vijayalakshmi Pai

PSG College of Technology,

Abstract FUZZY ENVIRON isa software fool, that provides for

a congenial programming environment, for applications of fuzzy sets. Availability of a fuzzy library equipped with some ofthe commonly used fuzzy operations, a menu driven user interface, an on-line help manual, and provision to redirect the system to CIProlog environment to enable program development in C or Prolog respec- tively, are some of the features of this tool.

This paper discusses the implementation of a fuzzy clurrering algorithm wing FUZZY ENVIRON. The algorithm developed by Yeh and Bang, deals with the problem of grouping of individuals into clusters, when the measure of possession of characteristics by the individuals is fuzzy. The implementation of the algorithm using FUZZY ENVIRON, has not only resulted in the program develop- ment being less tedious, but also in the program being less complex.

1:In troduction

A cluster could be defined as a group of individuals exhibiting similar behaviour. In classical clustering algorithms, it is implicitly assumed that disjoint clusters exist in the set of data. However, in certain situations, the measure of possession of characteristics by individuals of the set may be fuzzy, thereby rendering the separation of clusters to be a fuzzy notion. In such cases, the representation of clusters may appropriately be made with the help of fuzzy sets. The clusters thus obtained could be represented in the form of a dendrogram which is a two- dimensional diagram, illustrating the fusions or partitions, which have been made at each successive level.

Ruspini [6]-[9] has not only introduced the notion of fuzzy partition to represent clusters in a data set, but has also discussed the problem of clustering using certain association measures. Graph theoretic approach to cluster analysis has been discussed by Flake and Turner[2] and Tamuraetal[ll].YehandBang[l2] have defined several kinds of clustersbased on various notions of connectivity in

Coimbatore-641004, India

a fuzzy symmetrical graph. Bezdek and Harris[l], Zadeh[l3],Ruspini[lO] and Lopez de Mantaras[3] have discussed new approaches to fuzzy Clustering.

'This paper briefly reviews the salient featms of FUZZY ENVIRON. before discussing the implementation of a fuzzy clustering algorithm developed by Yeh and Bang [12], using FUZZY ENVIRON.

2:FUZZY ENVIRON: A review

FUZZY ENVIRON [4], [ 5 ] is a software tool that pres- entsan integrated fuzzy programming environment to enable development of 'fuzzy' programs. The merits of using FUZZY ENVIRON for application program devel- opment are:

(i) Software development takes less time and, (ii) Resulting software is less complex. Availability of a fuzzy library (FuZZYLE3.H) equipped

with some of the commonly used fuzzy operations, a menu-driven user interface, an on line help manual and, navigational and security control facilities are some of the salient features of this tool.

3:Fuzzy clustering algorithm

Aclusteranalysisalgorithm for n individuals and m characteristics, presented by Yeh and Bang, when the measure of possession of characteristics by the individual is fuzzy, has been elaborated here. #include <fuzzylib.h> /*access FUZZYL1B.H */ procedure CLUSTER0 read(n); read(m); read-relation@, n, m); /* read fuzzy relation R between,

n individuals and m characteristics*/ for i = 1 to n ( Vector-1 := (R[i,l],R[i,2], ... R[i,m]) /*Extract i* row

/* input number of individuals*/ I* input number of characteristics*/

vectorofR, l t i l n * / for j= 1 ton ( Vector-2 := (R&lI, Ru,2] ,... R&") /* Extract

j* row vector of R, 1 j s n */

0-8186-4260-2/93 $03.00 0 1993 IEEE 146

Page 2: [IEEE Comput. Soc. Press 1993 The First New Zealand International Two-Stream Conference on Artificial Neural Networks and Expert Systems - Dunedin, New Zealand (24-26 Nov. 1993)] Proceedings

D[iJ] := Du,i] := (Euclid-distance (Vector-1 ,Vector2,m) / m)} )

I* Obtain distance matrix D[iJ], 1 5 i j n, which is symmetric, by calculating the relative Euclideandistancebetweenthevectors(R[i,l], R[i.21, R[imI) and (RLj.11, Rlif ,...RU, ml) whereR[ij] is theProwj* colomnelement of R */

fori= 1 ton { for j= l ton S[ij] := 1-D[iJ];) /*Obtain Similarity matrix (S)- */

transitive-closure (S,n,T); /* obtain transitive closure

L = level-set(T, n, n); P obtain level set L = (II, 1, ,...<) where li < lj , i # j */

( alpha-cutoff (T,n,n.li,AJ; /* for each li EL obtain acutoff (Ai)- of (T)- */

partition (Pi, Ai , n, n); /* obtain partition class Pi from (Ai 1- *I

display-cluster pi); ] /* corresponding to each Pi project a graphical display of clusters

resembling a dendrogram *I

(T)- of (SI,, *I

foreachli ELdo

endCLUSTER.

For example, given a fuzzy relation R between n = 4 individuals and m = 3 c.haracte.ristics:

characteristics R c, c, c, Nl .4

N3 N,

N, 1:: l5 i5 ] Individuals

.7

the dendrogram obtained is as follows:

IA B C DI a=.m a= .65 a = .75 a = l

4:Implementing CLUSTER() using FUZZY ENVIRON

It may be observed that CLUSTER0 makes use of quite a few fuzzy operations. FUZZYL1B.H equipped with the commonly used fuzzy operations, came in handy in making program development work less tedious. The library routines selected from FUZZYL1B.H. had only to be ‘tied’ together, undertaking thereby, programming at a macro level only.

The choice of FUZZY ENVIRON for implementing

CLUSTER0 not only resulted in the program being less tedious, but also in the program being less complex. As a result,CLUSTER() hardly included 80 lines of C c&, borrowing about 350 lines of code from the library. The smooth navigation ensured by the system, and the flexibil- ity to borrow routines from the fuzzy library base,&pending on the problem needs tumed Out to be added advantages.

5:Conclusion

Considering the wide application of fuzzy clustering to problems in Science and Engineering. a software implementation of a fuzzy clustering algorithm was under- taken, not only for its own merit, but also for the algorithm to serve as an excellent test suit for Fuzzy ENVIRON.

References

Bezdek, J.C and Hanis, J.D. (1978). Fuzzy partitions and relations: An axiomatic basis for clustering, Int. I. Fuzzy

Flake, R.H. and Tumer,B.L.(1%8). Numerical classifica- tion for taxonomic problems, J. Theor.$iol., 20,260-270. Lopez de Mantaras R. (1978). On self leaming pattern classification, Memo. Univ. of Califomia, Berkeley. Pai. G.A.V. (1989).FU223ENVIRON : A programming environment for applications of fuzzy sets, M.Phil Thesis report. Dept. of Mathematics & Computer Applications, PSG College of Technology, Coimbatore. Reddy.G.V.K.andPai,G.A.V.(1990).FUZZYENVIRON: A programming environment for applications of fuzzy sets, &.of the National Symposium on M i c i a l Intelligence and Simulation, coimbatore. Ruspini,E.H. (1969). A new approach to clustering, Inf.

Ruspini,E.H.(1970), Numerical methods for fuzzy cluster- ing, Inf. Sci., 2,319-360. Ruspini,E.H. (1973a). New experimental result in fuzzy clustering, M. Sci., 6,273-284. Ruspini, E.H. (1973b). Afast method for probablistic and fuzzy cluster analysis using association measures, Roc. Hawaii Int. Conf. Svst. Sci. 6 . DU 56-58.

Sets Sy~t., l,N0.2,111-127.

C~ntrol. 15.22-32.

[lo] Ruspini, E.H. (197j), A &&of fuzzy clustering, Roc. IEEEConf. Decision Contro1,New Orleans,pp. 1378-1383.

[ll] Tamura, S., Higuchi, S. and Tanaka, K. (1971). Pattem Classification based on fuzzy relations, IEEE Trans. Syst, Man Cybem., 1.61 -66.

[12] YehReym0d.T. and Bang,S.Y. (1975). Fuzzy relations, fuzzy graphs and their applications to clustering analysis, In: Zadeh L. A.. K.S. Fu. K. Tanaka and M. Shimura[eds], Fuzzy sets and their applications to Cognitive and Decision Processes. Academic Precis. New York. pp 125-149.

[13] Zadeh, L. A. (1976). Fuzzy sets and their application to Pattem Classification and Cluster Analysis, Memo. UCBl EFtL M-607, Univ. of California, Berkeley. (Also in Classification and Clustering. Academic Press. 1977).

147