Clustering Supervised vs. Unsupervised Learning Examples of clustering in Web IR Characteristics of clustering Clustering algorithms Cluster Labeling 1 Supervised vs. Unsupervised Learning Supervised Learning Goal: A program that performs a task as good as humans. TASK – well defined (the target function) EXPERIENCE – training data provided by a human PERFORMANCE – error/accuracy on the task Unsupervised Learning Goal: To find some kind of structure in the data. TASK – vaguely defined No EXPERIENCE No PERFORMANCE (but, there are some evaluations metrics) 2 What is Clustering? Clustering is the most common form of Unsupervised Learning Clustering is the process of grouping a set of physical or abstract objects into classes of similar objects It can be used in IR: To improve recall in search applications For better navigation of search results 3 Example 1: Improving Recall Cluster hypothesis - Documents with similar text are related Thus, when a query matches a document D, also return other documents in the cluster containing D. 4 Example 2: Better Navigation 5 Clustering Characteristics Flat versus Hierarchical Clustering Flat means dividing objects in groups (clusters) Hierarchical means organize clusters in a subsuming hierarchy Evaluating Clustering Internal Criteria The intra-cluster similarity is high (tightness) The inter-cluster similarity is low (separateness) External Criteria Did we discover the hidden classes? (we need gold standard data for this evaluation) 6 Clustering for Web IR Representation for clustering Document representation Vector space? Normalization? Need a notion of similarity/distance How many clusters? Fixed a priori? Completely data driven? Avoid “trivial” clusters - too large or small 7 Recall documents as vectors Each doc j is a vector of tfidf values, one component for each term. Can normalize to unit length. wi , j dj dj where wi , j tf i , j idfi n dj i1 wi, j So we have a vector space terms are axes - aka features n docs live in this space even with stemming, may have 20,000+ dimensions 8 What makes documents related? Ideal: semantic similarity. Practical: statistical similarity We will use cosine similarity. Documents as vectors. We will describe algorithms in terms of cosine similarity. Cosine similarity of normalized d j , dk : n sim( d , d ) w w j k i1 i, j i, k This is known as the normalized inner product. 9 Intuition for relatedness D2 D3 D1 x y t1 t2 D4 Documents that are “close together” in vector space talk about the same things. 10 Clustering Algorithms Partitioning “flat” algorithms Usually start with a random (partial) partitioning Refine it iteratively k-means clustering Model based clustering (we will not cover it) Hierarchical algorithms Bottom-up, agglomerative Top-down, divisive (we will not cover it) 11 Partitioning “flat” algorithms Partitioning method: Construct a partition of n documents into a set of k clusters Given: a set of documents and the number k Find: a partition of k clusters that optimizes the chosen partitioning criterion Watch animation of k-means 12 K-means Assumes documents are real-valued vectors. Clusters based on centroids (aka the center of gravity or mean) of points in a cluster, c: 1 μ(c) x | c | xc Reassignment of instances to clusters is based on distance to the current cluster centroids. 13 K-Means Algorithm Let d be the distance measure between instances. Select k random instances {s1, s2,… sk} as seeds. Until clustering converges or other stopping criterion: For each instance xi: Assign xi to the cluster cj such that d(xi, sj) is minimal. (Update the seeds to the centroid of each cluster) For each cluster cj sj = (cj) 14 K-means: Different Issues When to stop? When a fixed number of iterations is reached When centroid positions do not change Seed Choice Results can vary based on random seed selection. Try out multiple starting points Example showing sensitivity to seeds If you start with B and E as centroids you converge to {A,B,C} and {D,E,F} If you start with D and F you converge to {A,B,D,E} {C,F} A B C D E F 15 Hierarchical clustering Build a tree-based hierarchical taxonomy (dendrogram) from a set of unlabeled examples. animal vertebrate fish reptile amphib. mammal invertebrate worm insect crustacean 16 Hierarchical Agglomerative Clustering We assume there is a similarity function that determines the similarity of two instances. Algorithm: Start with all instances in their own cluster. Until there is only one cluster: Among the current clusters, determine the two clusters, ci and cj, that are most similar. Replace ci and cj with a single cluster ci cj Watch animation of HAC 17 What is the most similar cluster? Single-link Similarity of the most cosine-similar (single-link) Complete-link Similarity of the “furthest” points, the least cosine-similar Group-average agglomerative clustering Average cosine between pairs of elements Centroid clustering Similarity of clusters’ centroids 18 Single link clustering 1) Use maximum similarity of pairs: sim(ci ,c j ) max sim( x, y) xci , yc j 2) After merging ci and cj, the similarity of the resulting cluster to another cluster, ck, is: sim((ci c j ), ck ) max(sim(ci , ck ), sim(c j , ck )) 19 Complete link clustering 1) Use minimum similarity of pairs: sim(ci ,c j ) min sim( x, y ) xci , yc j 2) After merging ci and cj, the similarity of the resulting cluster to another cluster, ck, is: sim((ci c j ), ck ) min(sim(ci , ck ), sim(c j , ck )) 20 Major issue - labeling After clustering algorithm finds clusters - how can they be useful to the end user? Need a concise label for each cluster In search results, say “Animal” or “Car” in the jaguar example. In topic trees (Yahoo), need navigational cues. Often done by hand, a posteriori. 21 How to Label Clusters Show titles of typical documents Titles are easy to scan Authors create them for quick scanning! But you can only show a few titles which may not fully represent cluster Show words/phrases prominent in cluster More likely to fully represent cluster Use distinguishing words/phrases But harder to scan 22 Not covered in this lecture Complexity: Clustering is computationally expensive. Implementations need careful balancing of needs. How to decide how many clusters are best? Evaluating the “goodness” of clustering There are many techniques, some focus on implementation issues (complexity/time), some on the quality of 23