14. A method of clustering data, comprising the steps of: (a) providing a data matrix representing a set of objects, the set comprising at least three different types of objects, each object having an associated feature matrix and an associated relation matrix, representing respective relations with other objects of the at least three different types; (b) collectively factorizing the data matrix, feature matrices and relation matrices, to discover hidden structures of the set of objects based on both feature information and relation information; (c) generating a symmetric matrix comprising a set of weights, which maximizes an objective function of the data matrix, feature matrices and relation matrices; and (d) deriving a set of cluster indicator matrices based on the collective factorization, to achieve adaptive dimensionality reduction for each of the different types of object, wherein the symmetric matrix is a function of at least: the data matrix, representing respective relations between distinct objects as members of a plurality of sets to be clustered into disjoint clusters; at least one feature matrix denoting feature values for an associated object; a plurality of tentative cluster characterization matrices; and a set of weights for different types of relations and features.
17. The method according to claim 14 , further comprising: characterizing clustering of the at least three different types of objects using at least three different tentative cluster characterization matrices, respectively; and iteratively improving each tentative cluster characterization matrix using linear combinations of the associated feature matrix and the associated relation matrix other matrices.