Κατηγοριοποίηση (Εποπτευόμενη μάθηση) Αποθήκες και Εξόρυξη Δεδομένων Διδάσκoυσα: Μαρία Χαλκίδη με βάση slides από J. Han and M. Kamber Data Mining: Concepts and Techniques, 2 nd edition
Εποπτευόμενη vs. Μη εποπτευόμενη μάθηση Εποπτευόμενη μάθηση (κατηγοριοποίηση) Τα δεδομένα εκπαίδευσης (παρατηρήσεις, μετρήσεις κλπ.) συνοδεύονται από ετικέτες υποδεικνύοντας τη κατηγορία (class) των παρατηρήσεων Νέα δεδομένα κατηγοριοποιούνται με βάση το σύνολο εκπαίδευσης Μη εποπτευόμενη μάθηση (συσταδοποίηση) Οι κατηγορίες των δεδομένων εκπαίδευσης δεν είναι γνωστές Δεδομένου ενός συνόλου μετρήσεων, παρατηρήσεων κλπ, στοχεύουμε στο να ορίσουμε την ύπαρξη κατηγοριών ή συστάδων στα δεδομένα. Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 2
Κατηγοριοποίηση vs. Πρόβλεψη Κατηγοριοποίηση Κατηγοριοποιεί δεδομένα (κατασκευάζει ένα μοντέλο) με βάση το σύνολο εκπαίδευσης και τις κατηγορίες που έχουν προκαθοριστεί. Με βάση το μοντέλο που έχει οριστεί κατηγοριοποιεί νέα δεδομένα Πρόβλεψη Μοντελοποιεί συναρτήσεις συνεχών τιμών, δηλ. προβλέπει άγνωστες και ελλιπείς τιμές Τυπικές εφαρμογές Credit approval Target marketing Medical diagnosis Fraud detection Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 3
Κατηγοριοποίηση Η κατηγοριοποίηση μπορεί να περιγραφεί σαν μία συνάρτηση που απεικονίζει (classifies) ένα αντικείμενο δεδομένων σε μία από τις προκαθορισμένες κατηγορίες. Απαιτήσεις Ένα καλά ορισμένο σύνολο από κατηγορίες και Ένα σύνολο εκπαίδευσης από προκαθορισμένα παραδείγματα που χαρακτηρίζουν την κατηγοριοποίηση. Στόχος: Εκπαίδευση ενός μοντέλου που μπορεί να χρησιμοποιηθεί για να κατηγοριοποιήσει μελλοντικά δεδομένα των οποίων η κατηγοριοποίηση δεν είναι γνωστή Μέθοδοι κατηγοριοποίησης Decision Trees Bayesian classification Neural Networks Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 4
Διεργασία (1): Κατασκευή μοντέλου Classification Algorithms NAM E RANK Training Data YEARS TENURED M ike Assistant Prof 3 no M ary Assistant Prof 7 yes Bill Professor 2 yes Jim Associate Prof 7 yes Dave Assistant Prof 6 no Anne Associate Prof 3 no Classifier (Model) IF rank = professor OR years > 6 THEN tenured = yes Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 5
Διεργασία (2): Χρήση μοντέλου για πρόβλεψη Classifier Testing Data Unseen Data (Jeff, Professor, 4) NAM E RANK YEARS TENURED Tom Assistant Prof 2 no M erlisa A ssociate P rof 7 no G eorge P rofessor 5 yes Joseph A ssistant P rof 7 yes Tenured? Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 6
Κατηγοριοποίηση και πρόβλεψη (1): Προετοιμασία δεδομένων Καθαρισμός δεδομένων(data cleaning) Προεπεξεργασία των δεδομένων προκειμένου να μειώσουμε το θόρυβο και να διαχειριστούμε ελλιπείς τιμές Ανάλυση σχετικότητας (επιλογή χαρακτηριστικών) Απομάκρυνση μη σχετικών ή μείωση χαρακτηριστικών Μετασχηματισμός δεδομένων Γενικεύει και/ή κανονικοποιεί δεδομένα Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 7
Κατηγοριοποίηση και πρόβλεψη (1): Αξιολόγηση μεθόδων κατηγοριοποίησης Ακρίβεια πρόβλεψης (Predictive accuracy) Ταχύτητα και κλιμάκωση (Speed and scalability) Χρόνος που απαιτείται για την κατασκευή του μοντέλου Χρόνος για τη χρήση του μοντέλου Ευρωστία (Robustness) Διαχείριση θορύβου και ελλιπείς τιμές Κλιμάκωση (Scalability) Αποδοτικότητα διαχείρισης μεγάλων ΒΔ Ικανότητα ερμηνεία (Interpretability) Κατανόηση που παρέχεται από το μοντέλο Ποιότητα κανόνων Μέγεθος δέντρου αποφάσεων Πόσο συμπαγείς είναι οι κανόνες κατηγοριοποίησης Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 8
Δέντρα αποφάσεων Δέντρα αποφάσεων είναι μία από τις ευρέως χρησιμοποιούμενες τεχνικές για κατηγοριοποίηση και πρόβλεψη Απαιτήσεις κατηγορίες ένα σύνολο εκπαίδευση από προκατηγοριοποιημένα δεδομένα. Χαρακτηριστικά των δέντρων αποφάσεων Εσωτερικός κόμβος έλεγχος χαρακτηριστικού Κλαδί που κατεβαίνει σε ένα κόμβο αποτέλεσμα ελέγχου Φύλλο ετικέτες κατηγορίας overlook sunny overcast rain hummidity wind high normal P true false N P N P Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 9
Κατηγοριοποίηση με Δέντρα Αποφάσεων Η δημιουργία του δέντρου απόφασης αποτελείται από δύο φάσεις Κατασκευή δέντρου Αρχικά, όλα τα παραδείγματα εκπαίδευσης είναι στη ρίζα Παραδείγματα τμηματοποιούνται με βάση επιλεγμένα χαρακτηριστικά Tree pruning Αναγνώριση και απομάκρυνση κλαδιών που αντιστοιχούν σε θόρυβο ή outliers Χρήση δέντρου απόφασης: Κατηγοριοποίηση ενός αγνώστου δείγματος Έλεγχος τιμών χαρακτηριστικών του δείγματος με βάση το δέντρο αποφάσεων Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 10
Αλγόριθμος για Δέντρα αποφάσεων Βασικός αλγόριθμος (a greedy algorithm) Το δέντρο κατασκευάζεται με βάση έναν από πάνω-προς- τακάτω επαναληπτικό διαίρει και βασίλευε τρόπο (top-down recursive divide-and-conquer manner) Αρχικά όλα τα παραδείγματα του δέντρου εκπαίδευσης είναι στη ρίζα Τα χαρακτηριστικά είναι κατηγορικά (εάν είναι συνεχείς τιμές τα κάνουμε διακριτά) Τα παραδείγματα επαναληπτικά τμηματοποιούνται με βάση επιλεγμένα χαρακτηριστικά Χαρακτηριστικά ελέγχου επιλέγονται στη βάση ενός heuristic ή στατιστικού μέτρου (π.χ. information gain) Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 11
Αλγόριθμος για δέντρα αποφάσεων (2) Συνθήκες για τερματισμό της τμηματοποίησης Όλα τα παραδείγματα ενός δεδομένου κόμβου ανήκουν στην ίδια κατηγορία Δεν υπάρχουν άλλα χαρακτηριστικά για περαιτέρω τμηματοποίηση ψήφος της πλειοψηφία εφαρμόζεται για την κατηγοριοποίηση του φύλλου Δεν υπάρχουν άλλα δείγματα προς κατηγοριοποίηση Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 12
Αλγόριθμος ID3 Step 1: If all instances in C are positive, then create YES node and halt. If all instances in C are negative, create a NO node and halt. Otherwise select an attribute, A with values v 1,..., v n and create a decision node. Step 2: Partition the training instances in C into subsets C1, C2,..., Cn according to the values of A. Step 3: Apply the algorithm recursively to each of the sets Ci. Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 13
ID3 : Επιλογή χαρακτηριστικού Πως αποφασίζει ο ΙD3 ποιο χαρακτηριστικό είναι το καλύτερο? Η επιλογή γίνεται με βάση το κέρδος πληροφορίας (information gain) Let a data set S = {A 1, A 2,, A n } Η πληροφορία που απαιτείται για να αναγνωρίσουμε το στοιχείο S και η πληροφορία που απαιτείται για να αναγνωρίσουμε ένα στοιχείο του S μετά τη λήψη της τιμής του χαρακτηριστικού Α Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 14
ID3: Ορισμοί Η πληροφορία που απαιτείται για να αναγνωρίσουμε την κατηγορία ενός στοιχείου του S, ονομάζεται Εντροπία του S: Entropy (S)=Info(S) = -Σp(I) log 2 p(i) όπου p(i) το ποσοστό του S που ανήκει στη κατηγορία I. Η πληροφορία που απαιτείται για να αναγνωρίσουμε τη κατηγορία ενός στοιχείου του S, Info (S,A), αφού τμηματοποιήσουμε το S με βάση τη τιμή ενός χαρακτηριστικού Α σε σύνολα S v : Info (S,A) = Σ [( Sv / S ) * Entropy(S v )] Gain(S, A) είναι το κέρδος πληροφορίας του συνόλου S με βάση τα χαρακτηριστικό A. Gain(S, A) = Info(S) Info ( S,A) Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 15
ID3: Παράδειγμα Outlook Temperature Humidity Wind Play_ball Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rain Mild High Weak Yes Rain Cool Normal Weak Yes Rain Cool Normal Strong No Overcast Cool Normal Strong Yes Sunny Mild High Weak No Sunny Cool Normal Weak Yes RAin Mild Normal Weak Yes Sunny Mild Normal Strong Yes Overcast Mild High Strong Yes Overcast Hot Normal Weak Yes Rain Mild High Strong No Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 16
ID3: Παράδειγμα Which attribute will be the root node? Gain(S, Outlook) = 0.246 Gain(S, Temperature) = 0.029 Gain(S, Humidity) = 0.151 Gain(S, Wind) = 0.048 Sunny? Outlook Overcast Rain Outlook Gain(Sunny, Humidity) = 0.970 Gain(Sunny, Temperature) = 0.570 Gain(Sunny, Wind) = 0.019 Sunny Overcast Humidity High Normal Rain No Yes Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 17
Outlook Temperature Humidity Wind Play_ball Sunny Hot High Weak No Sunny Hot High Strong No Overcast Hot High Weak Yes Rain Mild High Weak Yes Rain Cool Normal Weak Yes Rain Cool Normal Strong No Overcast Cool Normal Strong Yes Sunny Mild High Weak No Sunny Cool Normal Weak Yes RAin Mild Normal Weak Yes Sunny Mild Normal Strong Yes Overcast Mild High Strong Yes Overcast Hot Normal Weak Yes Rain Mild High Strong No Info(S) = - 5/14 log 2 (5/14) -9/14log 2 (9/14) =0.94 Info(S,Outlook) = 5/14 Entropy(Sunny) +4/14Entropy(Overcast)+5/14Entropy(rain) Entropy(sunny) = -3/5 log 2 (3/5)-2/5log2(2/5) Entropy(overcast) = -4/4log 2 (4/4) -0/4log 2 (0/4)=0 Entropy (rain) = -3/5log 2 (3/5) -2/5log 2 (2/5) Gain(S, Outlook) =Info(S)- Info(S,Outlook) 18
ID3 Παράδειγμα: Τελικό δέντρο απόφασης Outlook Sunny Overcast Rain Humidity Yes Wind High Normal Strong Weak No Yes No Yes Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 19
C4.5 C4.5 είναι μία επέκταση του ID3 η οποία βασίζεται στα εξής Μη διαθέσιμες τιμές Διαστήματα χαρακτηριστικών συνεχών τιμών Εκλέπτυνση (καθαρισμός) δέντρων αποφάσεων Εξαγωγή κανόνων Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 20
Εξαγωγή κανόνων κατηγοριοποίησης από δέντρα αποφάσεων age? <=30 overcast 31..40 >40 student? yes credit rating? no yes excellent fair no yes no IF age = <=30 AND student = no THEN buys_computer = no IF age = <=30 AND student = yes THEN buys_computer = yes IF age = 31 40 THEN buys_computer = yes IF age = >40 AND credit_rating = excellent THEN buys_computer = yes IF age = <=30 AND credit_rating = fair THEN buys_computer = no Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 24
Επεκτάσεις στον ορισμό δέντου αποφάσεων Διαχείριση χαρακτηριστικών συνεχών τιμών Ορισμός χαρακτηριστικών διακριτών τιμών που τμηματοποιούν τη συνεχή τιμή ενός χαρακτηριστικού σε ένα διακριτό σύνολο διαστημάτων Διαχείριση χαρακτηριστικών με τιμές που λείπουν Ανάθεση της πιο κοινά χρησιμοποιούμενης τιμής του χαρακτηριστικού Ανάθεση της πιο πιθανής τιμής Δημιουργία χαρακτηριστικών Δημιουργία νέων χαρακτηριστικών με βάση υπάρχοντα χαρακτηριστικά για τα οποία υπάρχει σπάνια αναπαράσταση Μείωση επανάληψης Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 25
Κατηγοριοποίηση σε μεγάλες βάσεις δεδομένων Κλιμάκωση (Scalability): Κατηγοριοποίηση συνόλων δεδομένων με μεγάλο αριθμό στοιχείων και χαρακτηριστικών με ικανοποιητική ταχύτητα Γιατί δέντρα αποφάσεων στην εξόρυξη δεδομένων? Σχετικά γρήγορη μάθηση Μετατρέπονται σε εύκολα κατανοητούς κανόνες κατηγοριοποίησης Μπορούν να χρησιμοποιήσουμε SQL ερωτήσεις για να προσπελάσουν τη ΒΔ Συγκρίσιμη ακρίβειας κατηγοριοποίησης με άλλες μεθόδους Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 26
Bayesian classification Ο στόχος είναι να κατηγοριοποιήσουμε ένα δείγμα x σε μία από τις δεδομένες κατηγορίες c 1, c 2,.., c N χρησιμοποιώντας ένα πιθανοτικό μοντέλο που ορίζεται με βάση τη θεωρία του Bayes April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 27
Bayesian Classification: Γιατί? Πιθανοτική μάθηση: Υπολογίζει τις πιθανότητες για την υπόθεση ανάμεσα στις πιο πρακτικές προσεγγίσεις για συγκεκριμένου τύπου προβλημάτων μάθησης. Αυξητική (Incremental): Κάθε παράδειγμα εκπαίδευσης μπορεί να αυξήσει/μειώσει τη πιθανότητα να ισχύει η υπόθεση. Προηγούμενη γνώση μπορεί να συνδυαστεί με δεδομένα που παρατηρούμε. Πιθανοτική πρόβλεψη: Προβλέπει πολλαπλές υποθέσεις, σταθμισμένες με τις πιθανότητες τους Standard: Ακόμα και όταν οι Bayesian μέθοδοι είναι υπολογιστικά μη προσιτές, μπορούν να παρέχουν μία standard βέλτιστη απόφαση σε αντιπαράθεση με άλλες μεθόδους που μπορεί να υπολογιστούν. April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 28
Bayesian Θεώρημα: Bασικές έννοιες Έστω X είναι ένα δείγμα δεδομένων ( evidence ): η κατηγορία του είναι άγνωστη Έστω H είναι μία υπόθεση ότι το X ανήκει στη κατηγορία C Η κατηγοριοποίηση είναι να ορίσουμε P(H X) P(H) (prior probability), αρχική πιθανότητα Π.χ. X will buy computer, regardless of age, income, P(X): πιθανότητα παρατήρησης του δείγματος δεδομένων P(X H) (posteriori probability), πιθανότητα παρατήρησης X, δεδομένου ότι ισχύει η υπόθεση Π.χ. Given that X will buy computer, the prob. that X is 31..40, medium income April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 29
Bayesian Θεώρημα Έστω το σύνολο εκπαίδευσης D, posteriori probability της υπόθεσης h, P(h D) ακολουθεί το θεώρημα Bayes P( h D) P( D h) P( h) P( D) MAP (maximum posteriori) υπόθεση h MAP argmax h H P( h D) argmax h H P( D h) P( h ). Ένα πρότυπο κατηγοριοποιείται στη κατηγορία με τη μεγαλύτερη posterior probability. Πρόβλημα:απαιτεί αρχική γνώση από όλες τις πιθανότητες, σημαντικό υπολογιστικό κόστος April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 30
April 3, 2015 Naïve Bayesian Classifier Έστω D σύνολο εκπαίδευσης (εγγραφές και κατηγορίες που ανήκουν Κάθε εγγραφή του D αναπαριστάται από ένα n-διάστατο διάνυσμα X = (x 1, x 2,, x n ) Υποθέτουμε m κατηγορίες C 1, C 2,, C m. Η κατηγοριοποίηση ορίζεται από τη μέγιστη τιμή της P(C i X) Με βάση το θεώρημα Bayes P( X C ) P( C ) P( C X) i i i P( X) P(X) σταθερό σε όλες τις κατηγορίες, οπότε μόνο το P( C X) P( X C ) P( C ) i i i Χρειάζεται να μεγιστοποιηθεί Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 31
Ορισμός Naïve Bayes Classifier (1) Υπόθεση απλοποίησης: τα χαρακτηριστικά είναι κατά συνθήκη ανεξάρτητα Καμία σχέση εξάρτησης ανάμεσα στα χαρακτηριστικά n P( X Ci) P( x Ci) P( x ) P( x )... P( x k 1 Ci 2 Ci k 1 Ci) Μείωση υπολογιστικού κόστους: Υπολογισμοί μόνο κατανομής κατηγορίας n April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 32
Ορισμός Naïve Bayes Classifier (2) If A k is categorical, P(x k C i ) = # of tuples in C i having value x k for A k divided by C i, D (# of tuples of C i in D) If A k is continous-valued, P(x k C i ) is usually computed based on Gaussian distribution with a mean μ and standard deviation σ and P(x k C i ) is g ( x ) 1 2 2 ( x,, ) e 2 2 P(X k Ci ) g(x k, Ci, Ci ) April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 33
Bayesian κατηγοριοποίηση Το πρόβλημα κατηγοριοποίησης μπορεί να οριστεί χρησιμοποιώντας εκ των υστέρων πιθανότητες (aposteriori probabilities): P(C X) = prob. that the sample tuple X=<x 1,,x k > is of class C. E.g. P(class=N outlook=sunny,windy=true, ) Ιδέα : ανάθεσε το δείγμα X στη κατηγορία C έτσι ώστε P(C X) είναι η μέγιστη April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 35
Play-tennis παράδειγμα: εκτίμηση P(x i C) Outlook Temperature Humidity Windy Class sunny hot high false N sunny hot high true N overcast hot high false P rain mild high false P rain cool normal false P rain cool normal true N overcast cool normal true P sunny mild high false N sunny cool normal false P rain mild normal false P sunny mild normal true P overcast mild high true P overcast hot normal false P rain mild high true N April 3, 2015 P(p) = 9/14 P(n) = 5/14 outlook Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά P(sunny p) = 2/9 P(sunny n) = 3/5 P(overcast p) = 4/9 P(overcast n) = 0 P(rain p) = 3/9 P(rain n) = 2/5 temperature P(hot p) = 2/9 P(hot n) = 2/5 P(mild p) = 4/9 P(mild n) = 2/5 P(cool p) = 3/9 P(cool n) = 1/5 humidity P(high p) = 3/9 P(high n) = 4/5 P(normal p) = 6/9 P(normal n) = 2/5 windy P(true p) = 3/9 P(true n) = 3/5 P(false p) = 6/9 P(false n) = 2/5 36
Play-tennis παράδειγμα: κατηγοριοποίηση X Έστω ένα στοιχείο που δεν γνωρίζουμε την κατηγοριοποίηση του X = <rain, hot, high, false> P(X p) P(p) = P(rain p) P(hot p) P(high p) P(false p) P(p) = 3/9 2/9 3/9 6/9 9/14 = 0.010582 P(X n) P(n) = P(rain n) P(hot n) P(high n) P(false n) P(n) = 2/5 2/5 4/5 2/5 5/14 = 0.018286 Το στοιχείο X κατηγοριοποιείται στη κατηγορία n (don t play) April 3, 2015 Αποθήκες και Εξόρυξη Δεδομένων, Παν. Πειραιά 37