Clustering Αλγόριθµοι Οµαδοποίησης Αντικειµένων
Εισαγωγή Οµαδοποίηση (clustering): οργάνωση µιας συλλογής από αντικείµενα-στοιχεία (objects) σε οµάδες (clusters) µε βάση κάποιο µέτρο οµοιότητας. Στοιχεία : ιανύσµατα ή σηµεία σε πολυδιάστατο χώρο Στοιχεία στην ιδια οµάδα παρουσιάζουν οµοιότητα.
Παράδειγµα Παράδειγµα clustering clustering -Axis Y-Axis -Axis Y-Axis 4 4 4 4 3 3 3 3 2 2 2 1 1 1 7 7 7 7 5 5 5
Ε ιλογή του κατάλληλου αλγορίθµου Κριτήρια επιλογής: Τρόποςσχηµατισµού ισµούτων clusters, οµή που έχουν τα δεδοµένα προς επεξεργασία, Ευαισθησία του αλγορίθµο θµου σε αλλαγές που δεν επηρεάζουν τα δεδοµένα...και και: Τοκαλύτερο µέτρο για την σύγκριση οµοιότητας των στοιχείων, Πως πρέπει να αξιοποιηθεί καποια γνώση που έχουµε γιατα δεδοµένα
Συνάρτηση Οµοιότητας Συνάρτηση απόστασης D µεταξύ δύο objects. Πρέπει να ικανοποιεί την τριγωνική ανισότητα: D(x,x) ) = 0 D(x,y) ) = D(y,x) D(x,y) <=D(x,z D(x,z) ) + D(z,y)
Παραδείγµατα συναρτήσεων α όστασης Ευκλειδεια απόσταση D(x,y) = Απόσταση Manhattan D(x,y) = Μέγιστο της διαφοράς σε καθε διάσταση D(x,y) =
Κατηγορίες Αλγορίθµων Clustering Partitioning Methods Hierarchical Methods Density Based Methods
Partitioning methods ίνονται: η βάση δεδοµένων µε τα αντικείµενα (n objects) και ο αριθµός των clusters k. Αρχικά γίνεται τυχαία οµαδοποίηση των δεδοµένων σε k clusters αρκεί να ικανοποιούνται οι εξής συνθήκες: Κάθε cluster να περιέχει τουλάχιστον 1 object Κάθε object να µην ανήκει σε περισσότερους από έναν clusters. Στη συνέχεια χρησιµοποιούνται επαναληπτικές τεχνικές που επαναταξινοµούν τα objects στoυς clusters.
Πλεονεκτήµατα των partitioning methods Πολύ επιτυχείς στην εύρεση clusters µε σφαιρικό σχήµα Επιτυχείς επίσης σε βάσεις δεδοµένων µικρού ή µεσαίου µεγέθους.
Hierarchical Methods Οι ιεραρχικές µέθοδοι χρησιµοποιούν µια ιεραρχική ανάλυση των δεδοµένων. Χωρίζονται σε 2 κατηγορίες: Agglomerative (ή( bottom-up up) και Divisive (ή( top-down) Η διαφορά τους έγγειται στον τρόπο που κατανέµονται αρχικά τα δεδοµένα στους clusters Η πρώτη τεχνική ξεκινά τοποθετώντας κάθε object σε έναν cluster και συνεχίζει ενώνοντας κατάλληλα τους clusters µέχρι να φτάσει στον επιθυµητό αριθµό από clusters. Η δεύτερη τεχνική ξεκινά θεωρώντας ότι όλα τα objects ανήκουν σε έναν cluster και διαιρεί αυτό τον αρχικό cluster σε µικρότερους ώσπου να φτάσει στον επιθυµητό αριθµό από clusters
Density Based Algorithms Οι αλγόριθµοι αυτοί βασίζονται στην πυκνότητα γύρω από κάποιο σηµείο που θεωρείται cluster. Βγάζουν εύκολα εκτός τους outliers. Ευνοούν clusters µε αυθαίρετα σχήµατα. Αντιπροσωπευτικός αλγόριθµος σε αυτή την κατηγορία ο DBScan.
Partitioning αλγόριθµοι: k-means 1. Αυθαίρετα επιλέγει k αντικείµενα σαν τα αρχικά κέντρα των clusters 2. Επαναληπτική ιαδικασία Επανατοποθέτηση κάθε αντικειµένου στον πιό όµοιο (κοντινό) cluster µε βάση την απόστασή του από το κέντρο κάθε cluster Επαναπροσδιορισµός των κέντρων των clusters
K-means Επιλογή k τυχαίων objects που αποτελούν και τους αρχικούς k clusters. Τα objects είναι τα κέντρα τους. Υπολογισµός των αποστάσεων όλων των objects από το κέντρο κάθε cluster και τοποθέτησή τους στον cluster από τον οποίο έχουν την µικρότερη απόσταση.. (η( similarity function µας δίνει την απόσταση και βασίζεται στην απόσταση του κέντρου του cluster από το object) Υπολογισµός εκ νέου των κέντρων των clusters. Επανακατανοµή των objects στους clusters. Η διαδικασία ολοκληρώνεται µε την σύγκλιση της similarity function. Ο αλγόριθµος χρησιµοποιείται όταν µπορεί να ορισθεί το κέντρο ενός cluster και δεν εφαρµόζεται όταν για παράδειγµα έχουµε δεδοµένα µε categorical attributes Ο αλγόριθµος δεν ευνοεί καθόλου clusters µε µη-κυρτά σχήµατα ή µε µεγάλες διαφορές στο µέγεθος Επιπλέον δεν δουλεύει καλά όταν έχουµε outliers ή noisy data γιατί επηρεάζεται σηµαντικά η µέση τιµή.
k-medoids Ο k-mean αλγόριθµος δεν δουλεύει καλά όταν υπάρχουν outliers γιατί ένα object µε πολύ µεγάλη τιµή µπορεί να αλλάξει την κατανοµή των δεδοµένων. O k-medoids αλγόριθµος προτείνει αντί να χρησιµοποιηθεί η µέση τιµή για κέντρο ενός cluster να χρησιµοποιηθεί το object που βρίσκεται πιό κοντά στο κέντρο του cluster ως κέντρο του cluster. To object αυτό ονοµάζεται medoid. Η µέθοδος προτείνει την αντικατάσταση κάποιου medoid object από κάποιο nonmedoid και εκτιµά την ποιότητα των clusters που θα δηµιουργηθούν. Η ποιότητα µετριέται µε τη βοήθεια µιας συνάρτησης κόστους που υπολογίζει τη µέση τιµή της απόστασης (dissimilarity) µεταξύ ενός object και του medoid του cluster
k-medoids(συνέχεια) Συνοπτικά τα βήµατα του αλγορίθµου Αυθαίρετη επιλογή των k objects σαν αρχικά medoids Επαναληπτική διαδικασία Τοποθέτηση κάθε object από τα υπόλοιπα στο κοντινότερο medoid Τυχαία επιλογή ενός nonmedoid αντικειµένου o random Υπολογισµός του συνολικού κόστους S της ανταλλαγής του o j µε το o random Εάν το S <0 < swap o j µε το o random για να δηµιουργηθεί το νέο σύνολο των medoids. Η επαναληπτική διαδικασία ολοκληρώνεται όταν δεν έχω καµία αλλαγή.
Hierarchical clustering Το βασικό πρόβληµα των αλγορίθµων αυτών είναι ότι κάθε βήµα που γίνεται είναι οριστικό και δεν µπορεί 2 objects για παράδειγµα που τοποθετήθηκαν στο ίδιο cluster µετά από µία διαδικασία συνένωσης να χωρισθούν (bottom up τεχνική) ή κάποια που χωρίσθηκαν να τοποθετηθούν ξανά στον ίδιο cluster (top down) τεχνική. Υπάρχουν αλγόριθµοι που προσπάθησαν να λύσουν το πρόβληµα αυτό. Στην πρώτη κατηγορία είναι ο αλγόριθµος Cure, Chameleon ενώ στη δεύτερη έχουµε τον Birch.
Hierarchical αλγόριθµοι: CURE: Clustering Using REpresentatives Βασική διαφορά από τους centroid-based αλγορίθµους είναι πως δεν χρησιµοποιείται το µέσο του cluster ή ένα object για να αναπαρασταθεί ένας cluster αλλά επιλέγεται ένα καθορισµένο σύνολο από αντιπροσωπευτικά objects. Η απόσταση µεταξύ 2 clusters είναι η απόσταση µεταξύ των 2 πιό κοντινών αντιπροσώπων των 2 clusters και όχι µεταξύ των κέντρων τους.
Πλεονεκτήµατα του CURE Μπορεί να βρεί clusters που δεν έχουν σφαιρικό σχήµα (δεδοµένου ότι έχουν περισσότερους από έναν αντιπροσώπους για κάθε cluster) Αντιµετωπίζει καλύτερα τους outliers (χρησιµοποίηση τεχνικών που συµπυκνώνουν τους αντιπροσώπους γύρω από το κέντρο του cluster) Μπορεί να βρεί clusters µε διαφορετικά µεγέθη (Σε αυτό βοηθά ο τρόπος που γίνεται η ένωση 2 clusters και η επιλογή των αντιπροσώπων) Μπορεί να χρησιµοποιηθεί για µεγάλες βάσεις δεδοµένων
Βήµατα του Αλγορίθµου Αρχικά κάθε σηµείο αποτελεί και έναν cluster. Στη συνέχεια υπολογίζονται όλες οι αποστάσεις µεταξύ των clusters και οι 2 πιό κοντινοί clusters ενώνονται σε έναν. Η διαδικασία επαναλαµβάνεται µέχρι να φτάσουµε στον επιθυµητό αριθµό από clusters. Κάθε φορά που 2 clusters ενώνονται αν το σύνολο των σηµείων ξεπερνά τον αριθµό των αντιπροσώπων. Μια συνάρτηση µειώνει τον αριθµό των αντιπροσώπων στον επιθυµητό.
CURE για µεγάλες βάσεις δεδοµένων Τα βήµατα του αλγορίθµου σε αυτή την περίπτωση συµπληρώνονται ως εξής: Παίρνει τυχαίο δείγµα S από την αρχική βάση Χωρίζει το δείγµα S σε partitions Πραγµατοποιεί clustering σε κάθε partition Αποµακρύνει τους outliers µε random sampling (τυχαίο( δείγµα). Εάν ένας cluster αυξάνεται πολύ αργά τον διαγράφει. Κάνει clustering στους partial clusters. Οι αντιπρόσωποι του κάθε νέου cluster που σχηµατίζεται µετακινούνται προς το κέντρο του cluster µε έναν παράγοντα συµπίεσης α. Αυτά τα σηµεία δίνουν το σχήµα του cluster. Τσεκάρει τα δεδοµένα µε τα αντίστοιχα cluster labels
Σύνοψη Το clustering είναι η διαδικασία κατά την οποία ένα σύνολο δεδοµένων οµαδοποιέιται µε βάση κάποιο µέτρο οµοιότητας εδοµένα διαφορετικών εφαρµογών µπορεί να χρει ειάζεται να οµαδοποιηθούν διαφορετικά. Απόφαση καταλληλότερου αλγορίθµου για την εκάστοτε εφαρµογή. Γνώση γιατα δεδοµένα µας. Ηγνώση αυτή χρησιµοποιείται σε διάφορες φάσεις του clustering.