390 likes | 903 Views
Bi-Clustering. COMP 790-90 Seminar Spring 2011. Data Mining: Clustering. K-means clustering minimizes. Where. Clustering by Pattern Similarity ( p- Clustering). The micro-array “raw” data shows 3 genes and their values in a multi-dimensional space Parallel Coordinates Plots
E N D
Bi-Clustering COMP 790-90 Seminar Spring 2011
Data Mining: Clustering K-means clustering minimizes Where
Clustering by Pattern Similarity (p-Clustering) • The micro-array “raw” data shows 3 genes and their values in a multi-dimensional space • Parallel Coordinates Plots • Difficult to find their patterns • “non-traditional” clustering
Motivation • E-Commerce: collaborative filtering
Motivation • DNA microarray analysis
Motivation • Strong coherence exhibits by the selected objects on the selected attributes. • They are not necessarily close to each other but rather bear a constant shift. • Object/attribute bias • bi-cluster
Challenges • The set of objects and the set of attributes are usually unknown. • Different objects/attributes may possess different biases and such biases • may be local to the set of selected objects/attributes • are usually unknown in advance • May have many unspecified entries
Previous Work • Subspace clustering • Identifying a set of objects and a set of attributes such that the set of objects are physically close to each other on the subspace formed by the set of attributes. • Collaborative filtering: Pearson R • Only considers global offset of each object/attribute.
bi-cluster • Consists of a (sub)set of objects and a (sub)set of attributes • Corresponds to a submatrix • Occupancy threshold • Each object/attribute has to be filled by a certain percentage. • Volume: number of specified entries in the submatrix • Base: average value of each object/attribute (in the bi-cluster)
bi-cluster • Perfect -cluster • Imperfect -cluster • Residue: dij diJ dIJ dIj
bi-cluster • The smaller the average residue, the stronger the coherence. • Objective: identify -clusters with residue smaller than a given threshold
Cheng-Church Algorithm • Find one bi-cluster. • Replace the data in the first bi-cluster with random data • Find the second bi-cluster, and go on. • The quality of the bi-cluster degrades (smaller volume, higher residue) due to the insertion of random data.
The FLOC algorithm Generating initial clusters Determine the best action for each row and each column Perform the best action of each row and column sequentially Y Improved? N
The FLOC algorithm • Action: the change of membership of a row(or column) with respect to a cluster column M=4 1 2 3 4 row 3 4 2 2 1 M+N actions are Performed at each iteration 2 1 3 2 3 N=3 3 4 2 0 4
The FLOC algorithm • Gainof an action: the residue reduction incurred by performing the action • Order of action: • Fixed order • Random order • Weighted random order • Complexity: O((M+N)MNkp)
The FLOC algorithm • Additional features • Maximum allowed overlap among clusters • Minimum coverage of clusters • Minimum volume of each cluster • Can be enforced by “temporarily blocking” certain action during the mining process if such action would violate some constraint.
Performance • Microarray data: 2884 genes, 17 conditions • 100 bi-clusters with smallest residue were returned. • Average residue = 10.34 • The average residue of clusters found via the state of the art method in computational biology field is 12.54 • The average volume is 25% bigger • The response time is an order of magnitude faster
Conclusion Remark • The model of bi-cluster is proposed to capture coherent objects with incomplete data set. • base • residue • Many additional features can be accommodated (nearly for free).
Coherent Cluster Want to accommodate noise but not outliers
dxa dxb x x dya z dyb y y a a b b Coherent Cluster • Coherent cluster • Subspace clustering • pair-wise disparity • For a 22 (sub)matrix consisting of objects {x, y} and attributes {a, b} mutual bias of attribute a mutual bias of attribute b attribute
Coherent Cluster • A 22 (sub)matrix is a -coherent cluster if its D value is less than or equal to . • An mn matrix X is a -coherent cluster if every 22 submatrix of X is -coherent cluster. • A -coherent cluster is a maximum-coherent cluster if it is not a submatrix of any other -coherent cluster. • Objective: given a data matrix and a threshold , find all maximum -coherent clusters.
Coherent Cluster • Challenges: • Finding subspace clustering based on distance itself is already a difficult task due to the curse of dimensionality. • The (sub)set of objects and the (sub)set of attributes that form a cluster are unknown in advance and may not be adjacent to each other in the data matrix. • The actual values of the objects in a coherent cluster may be far apart from each other. • Each object or attribute in a coherent cluster may bear some relative bias (that are unknown in advance) and such bias may be local to the coherent cluster.
Coherent Cluster Compute the maximum coherent attribute sets for each pair of objects Two-way Pruning Construct the lexicographical tree Post-order traverse the tree to find maximum coherent clusters
7 o1 5 3 o2 1 a1 a2 a3 a4 a5 3 2 3.5 2 2.5 [2, 3.5] Coherent Cluster • Observation: Given a pair of objects {o1, o2} and a (sub)set of attributes {a1, a2, …, ak}, the 2ksubmatrix is a -coherent cluster iff, for every attribute ai, the mutual bias (do1ai – do2ai) does not differ from each other by more than . If = 1.5, then {a1,a2,a3,a4,a5} is a coherent attribute set (CAS) of (o1,o2).
a1 a2 a3 a4 a5 a6 a7 o1 o2 o3 o4 o5 o6 Coherent Cluster • Observation: given a subset of objects {o1, o2, …, ol} and a subset of attributes {a1, a2, …, ak}, the lksubmatrix is a -coherent cluster iff {a1, a2, …, ak} is a coherent attribute set for every pair of objects (oi,oj) where 1 i, j l.
7 r1 5 7 3 r2 r1 5 1 3 r2 1 a1 a1 a2 a2 a3 a3 a4 a4 a5 a5 3 3 2 2 3.5 3.5 2 2 2.5 2.5 Coherent Cluster • Strategy: find the maximum coherent attribute sets for each pair of objects with respect to the given threshold . = 1 The maximum coherent attribute sets define the search space for maximum coherent clusters.
Two Way Pruning (o0,o2) →(a0,a1,a2) (o1,o2) →(a0,a1,a2) (a0,a1) →(o0,o1,o2) (a0,a2) →(o1,o2,o3) (a1,a2) →(o1,o2,o4) (a1,a2) →(o0,o2,o4) (o0,o2) →(a0,a1,a2) (o1,o2) →(a0,a1,a2) (a0,a1) →(o0,o1,o2) (a0,a2) →(o1,o2,o3) (a1,a2) →(o1,o2,o4) (a1,a2) →(o0,o2,o4) delta=1 nc =3 nr = 3 MCAS MCOS
attributes objects Coherent Cluster • Strategy: grouping object pairs by their CAS and, for each group, find the maximum clique(s). • Implementation: using a lexicographical tree to organize the object pairs and to generate all maximum coherent clusters with a single post-order traversal of the tree.
(o0,o1): {a0,a1}, {a2,a3} (o0,o2): {a0,a1,a2,a3} (o0,o4): {a1,a2} (o1,o2): {a0,a1,a2}, {a2,a3} (o1,o3): {a0,a2} (o1,o4): {a1,a2} (o2,o3): {a0,a2} (o2,o4): {a1,a2} {a0,a1} :(o0,o1) (o1,o2) (o0,o2) {a0,a2} :(o1,o3),(o2,o3) (o1,o2) (o0,o2) {a1,a2} :(o0,o4),(o1,o4),(o2,o4) (o1,o2) (o0,o2) {a2,a3} :(o0,o1),(o1,o2) (o0,o2) {a0,a1,a2} :(o1,o2) (o0,o2) {a0,a1,a2,a3} :(o0,o2) a0 a2 a1 assume = 1 a1 a2 a2 a3 (o0,o1) (o1,o3) (o0,o4) (o0,o1) (o2,o3) (o1,o4) (o1,o2) a2 (o2,o4) (o1,o2) a3 (o0,o2)
a0 a2 a1 a3 a3 a1 a2 a2 a3 (o1,o2) (o0,o2) (o0,o1) (o1,o3) (o0,o4) (o0,o1) (o0,o2) (o1,o2) (o2,o3) (o1,o4) (o1,o2) a2 (o0,o2) (o1,o2) (o2,o4) (o0,o2) a3 a3 a3 (o1,o2) (o0,o2) (o0,o2) a3 (o0,o2) (o0,o2) (o0,o2) (o0,o2) {o0,o2} {a0,a1,a2,a3} {o1,o2} {a0,a1,a2} {o0,o1,o2} {a0,a1} {o1,o2,o3} {a0,a2} {o0,o2,o4} {a1,a2} {o1,o2,o4} {a1,a2} {o0,o1,o2} {a2,a3} (o0,o2)
Coherent Cluster • High expressive power • The coherent cluster can capture many interesting and meaningful patterns overlooked by previous clustering methods. • Efficient and highly scalable • Wide applications • Gene expression analysis • Collaborative filtering subspace cluster coherent cluster
Remark • Comparing to Bicluster • Can well separate noises and outliers • No random data insertion and replacement • Produce optimal solution