Rough-Fuzzy Clustering: Generalized c-Means Algorithm
Cluster analysis is a technique for finding natural groups present in the data. It divides a given data set into a set of clusters in such a way that two objects from the same cluster are as similar as possible and the objects from different clusters are as dissimilar as possible. In effect, it tries to mimic the human ability to group similar objects into classes and categories .
Clustering techniques have been effectively applied to a wide range of engineering and scientific disciplines such as pattern recognition, machine learning, psychology, biology, medicine, computer vision, web intelligence, communications, and remote sensing. A number of clustering algorithms have been proposed to suit different requirements [1, 2]. The hard clustering algorithms generate crisp clusters by assigning each object to exactly one cluster. When the clusters are not well defined, that is, when they are overlapping, one may desire fuzzy clusters. In this regard, the problem of pattern classification is formulated as the problem of interpolation of the membership function of a fuzzy set in Bellman et al. , and thereby a link with the basic problem of system identification is established. A seminal contribution to cluster analysis is Ruspini's concept of a fuzzy partition . The application of fuzzy set theory to cluster analysis was initiated by Dunn and Bezdek by developing fuzzy ISODATA  and fuzzy