Αποθήκες εδομένων και Εξόρυξη εδομένων: Κατηγοριοποίηση: Μέρος Α http://delab.csd.auth.gr/~gounaris/courses/dwdm/ gounaris/courses/dwdm/
Ευχαριστίες Οι διαφάνειες του μαθήματος σε γενικές γραμμές ακολουθούν το σύγγραμμα «Εισαγωγή στην Εξόρυξη και τις Αποθήκες εδομένων» Xρησιμοποιήθηκε μ ή η επιπλέον υλικό από τα βιβλία ββ «Introduction to Data Mining» των Tan, Steinbach, Kumar, και «Data Mining: Concepts and Techniques» των Jiawei Han, Micheline Kamber. 2
Θέματα προς εξέταση Μέρος Α Εισαγωγικές Έννοιες ένδρα Απόφασης Μέρος Β Bayesian κατηγοριοποιητές Κατηγοριοποιητές πλησιέστερων γειτόνων Αποτίμηση Ακρίβειας 3
Κατηγοριοποίηση η η H ανάθεση αντικειμένων σε προκαθορισμένες κλάσεις Ιδιότητες Χ 1, Χ 2,... Χ κ Μοντέλο κατηγοριοποίησης η ης f: D(Χ 1 ) x... x D(Χ k ) D(C) Εκπαίδευση από υπάρχοντα δεδομένα (σύνολο εκμάθησης) 4
Παράδειγμα Ηλικία Οικογενειακή Κατάσταση Αγοραστής 20 ιαζευγμένος ΝΑΙ 30 ιαζευγμένος ΝΑΙ 25 Έγγαμος ΟΧΙ 30 Άγαμος ΝΑΙ 40 Άγαμος ΝΑΙ 20 Έγγαμος ΟΧΙ 30 αζε ιαζευγμένος ΝΑΙ 25 ιαζευγμένος ΝΑΙ 40 ιαζευγμένος ΝΑΙ 20 Άγαμος ΟΧΙ f: [20...40] x {Άγαμος, Έγγαμος, ιαζευγμένος} {ΝΑΙ, ΟΧΙ} 5
Κατηγοριοποιητής η Αλγόριθμος κατασκευής μοντέλου ιαμερισμός σε περιοχές Εξέταση κατανομών πιθανότητας Εξέταση πλησιέστερων αντικειμένων 6
Παράδειγμα 7
ιαμερισμός μρ μςσε περιοχές 8
Εξέταση κατανομών πιθανότητας 9
Εξέταση πλησιέστερων αντικειμένων 10
Κριτήρια Αξιολόγησης ης Κατηγοριοποιητών η Ακρίβεια πρόβλεψης του μοντέλου ακρίβεια = # σωστ έ ς προβλ έ ψεις # προβλέψεις Ευκολία στην κατανόηση του μοντέλου Κλιμάκωση στο μέγεθος του συνόλου εκμάθησης Ανοχή στο θόρυβο και στις ελλιπείς τιμές 11
ένδρα απόφασης 12
Κατηγοριοποίηση η η με δένδρο {Έγγαμος, 22 ετών}. Πιθανός αγοραστής; 13
Μονοπάτι = συζεύξεις Εξαγωγή γή κανόνων Κλάση = διάζευξη συζεύξεων Μονοπάτια: 1. Ηλικία<30 και Ο.Κ. {Α,Ε} 2. Ηλικία<30 και Ο.Κ. { } 3. Ηλικία >= 30 Κλάση ΝΑΙ: (Ηλικία<30 και Ο.Κ. { }) ή (Ηλικία >= 30) 14
Κατασκευή δένδρου απόφασης (brute-force) Κατασκευή κάθε δυνατού πιθανού δένδρου Επιλογή του ακριβέστερου NP-complete 15
Κατασκευή δένδρου απόφασης (greedy) 16
Παράδειγμα 1/3 17
Παράδειγμα 2/3 18
Παράδειγμα 3/3 19
Πόσα παιδιά; Σημαντικό πρόβλημα στις συμβολικές ιδιότητες: 2 ή 3(όσες οι διαφορετικές Οικ. Καταστάσεις); 20
Πλεονεκτήματα-Μειονεκτήματα Πολλά παιδιά (=όλα) + εύκολη διάσπαση - περίπλοκο δένδρο - αριθμητικές ιδιότητες? (μόνο με κβάντωση) 2 παιδιά - δύσκολη διάσπαση + απλό/ευνόητο δένδρο + χειρισμός αριθμητικών ιδιοτήτων + συχνά καλύτερη ακρίβεια στην πράξη! Πρώτη μας επιλογή: δυαδικά δένδρα (2 παιδιά) 21
ιάσπαση σε δυαδικά δένδρα #δυνατές επιλογές: n 2 1 1 22
Παράδειγμα δυαδικής διάσπασης μίας συμβολικής μεταβλητής με τιμές abc a,b,c a b c a,b a,c b,c a,b,c - b, c a, c a, b c b a - a,b,c (2 n -2)/ 2 = 2 n-1-1 23
ιάσπαση αριθμητικών ιδιοτήτων Ταξινόμηση τιμών Αν υπάρχουν n διαφορετικές αριθμητικές τιμές στην ιδιότητα, τότε εξέταση n-1 διαχωριστικών θέσεων 24
Πώς επιλέγουμε τη διαχωριστική ιδιότητα 0 ΝΑΙ:3 ΟΧΙ 2:0 2:1 02 0:2 0:1 2:2 25
Μέτρο ανομοιογένειας Εντροπία για c κλάσεις Για c = 2 26
Εντροπία για c = 2 27
Παράδειγμα 0:3 2:0 2:1 0:2 0:1 2:2 Υπολογίστε την εντροπία κάθε περίπτωσης (p Ναι) 28
Παράδειγμα Α) ) Α: -0log0-1log1=0 g : -1log1-0log0=0 B) A: -2/3 log (2/3) 2:0 0:2 0:3 2:1 1/3 log (1/3) -1/3 log (1/3) = 0.9183 : -0log0-1log1=0 22 2:2 0:1 Γ) Α: - 2/4 log (2/4) - 2/4 log (2/4) = 1 : -0log0-1log1=0 29
Αξιολόγηση διαχωριστικής ιδιότητας Πληροφοριακό όφελος για μία ιδιότητα: 30
Παράδειγμα πληροφοριακού ρ οφέλους Πριν τη διάσπαση: Ε(Ν) = 0.971 0 0 0.9183 0 0 1 Υπολογίστε το πληροφοριακό ρ όφελος κάθε περίπτωσης 31
Παράδειγμα πληροφοριακού ρ οφέλους 0 0 0.9183 0 Πριν τη διάσπαση: Ε(Ν) = 0.971 1 A) 0.971 3/5 *0-2/5*0 = 0.971 0 B) 0.971 3/5*0.9183 2/5 * 0 = 0.42 Γ) 0.971 4/5 *1 1/5 * 0 = 0.171 32
Επιλογή διαχωριστικής ιδιότητας Εξετάζουμε για κάθε ιδιότητα όλους τους δυνατούς διαχωρισμούς επιλέγουμε το διαχωρισμό με το μέγιστο όφελος Επιλέγουμε την ιδιότητα με το μεγαλύτερο πληροφοριακό όφελος εφαρμόζουμε το διαχωρισμό μεγίστου οφέλους 33
Κατασκευή δένδρου απόφασης (greedy) ΜΗ ΠΡΑΚΤΙΚΟ ΚΡΙΤΗΡΙΟ 34
Εναλλακτικά κριτήρια τερματισμού Ένα ποσοστό (π.χ., χ 80%) ανήκουν στην ίδια κλάση Αν ο κόμβος περιέχει λιγότερα από, π.χ., 10, αντικείμενα α η κλάση του φύλλου είναι η πλειοψηφούσα Μπορούμε να έχουμε και τα δύο κριτήρια 35
Αποτέλεσμα εναλλακτικών κριτηρίων 36
Χαρακτηριστικά ένδρων Απόφασης Η κατασκευή του βέλτιστου δένδρου απόφασης απαιτεί αποτρεπτικό χρόνο (είναι NP-complete πρόβλημα). Για το λόγο αυτό χρησιμοποιούνται ευρετικοί αλγόριθμοι, οι οποίοι είναι άπληστοι και δεν χρησιμοποιούν οπισθοδρόμηση. Τα ευρετικά μειώνουν κατά πολύ το χρόνο κατασκευής. Το αποτέλεσμα είναι ότι τα δένδρα απόφασης κλιμακώνονται σε μεγάλους όγκους δεδομένων Γρήγορη εφαρμογή. Η ακρίβεια πρόβλεψης των δένδρων απόφασης είναι αποδεκτή για τις περισσότερες ρ περιπτώσεις, συγκρίσιμη γρ με την ακρίβεια άλλων κατηγοριοποιητών Το μοντέλο που προκύπτει είναι πολύ εύκολο στην κατανόηση. Τα δένδρα απόφασης έχουν καλή ανοχή στο θόρυβο ειδικά όταν εφαρμόζεται ψαλιδισμός 37
Επιπλέον Τα Α μπορούν να διαχειριστούν πολυδιάστατα δεδομένα 1 διάσταση τη φορά χρησιμοποιείται κατά την ανάπτυξη του μοντέλου και κάθε τύπο μεταβλητών Συμβολικές, αριθμητικές, κλπ. 38
Μειονεκτήματα Αγνοούν εξαρτήσεις μεταξύ των ιδιοτήτων. Προβλήματα όταν λείπουν πολλά δεδομένα ιάσπαση ως προς μία ιδιότητα => αντιστοίχιση με περιοχές, τα όρια των οποίων είναι παράλληλα με τους άξονες. Π.χ., η παρακάτω διάσπαση ΕΝ γίνεται σε ένα στάδιο. 39
Πλάγια ένδρα Απόφασης Oblique (πλάγιο) Δέντρο Απόφασης x + y < 1 Class = + Class = Οι συνθήκες ελέγχου μπορούν να περιλαμβάνουν περισσότερα από ένα γνωρίσματα Μεγαλύτερη εκφραστικότητα Η εύρεση βέλτιστων συνθηκών ελέγχου είναι υπολογιστικά ακριβή 40
Πρόβλημα αστάθειας Μικρή μετακίνηση ενός μόνο δείγματος, οδηγεί σε πολύ διαφορετικά αποτελέσματα. Η εικόνα είναι από Duda, Hart & Stork, Chap. 8 41
Βελτίωση της ακρίβειας ρβ Ξέρουμε πώς να εκτιμούμε σωστά την ακρίβεια Μπορούμε να βελτιώσουμε την ακρίβεια χρησιμοποιώντας διαφορετικά τους γνωστούς μας κατηγοριοποιητές; Κλάδεμα Σύνολα κατηγοριοποιητών 42
Το φαινόμενο της υπερβολικής προσαρμογής ρμ 2000 δισδιάστατα σημεία σε δύο κλάσεις (1000 σημεία ανά κλάση), που ακολουθούν κανονική κατανομή. Προσθέτουμε θόρυβο: ανταλλάζουμε την κλάση 150 σημείων ιαχωρίζουμε 1000 σημεία στο σύνολο ελέγχου Προσθέτουμε επιπλέον θόρυβο στο σύνολο εκμάθησης: ανταλλάζουμε την κλάση άλλων 200 τυχαίων σημείων 43
Το φαινόμενο της υπερβολικής προσαρμογής ρμ 44
Το φαινόμενο της υπερβολικής προσαρμογής ρμ Μικρός αριθμός κόμβων: ανεπαρκής αεαρήςπροσαρμογή ο (undefiting) Στο δένδρο απόφασης προστίθενται ολοένα και περισσότεροι κόμβοι με σκοπό να καλυφθούν (δηλαδή, να γίνει εκμάθηση) τα σημεία θορύβου. Η υπερβολική προσαρμογή, που δηλώνεται από τη μείωση του λάθους εκμάθησης, μειώνει όμως τη δυνατότητα του δένδρου απόφασης να γενικεύει σε άγνωστα αντικείμενα, κάτι που δηλώνεται από την αύξηση του λάθους ελέγχου. Το πρόβλημα είναι γενικό σε όλους τους κατηγοριοποιητές, όχι μόνο στα Α. 45
Κλάδεμα (pruning) Προ-κλάδεμα: εναλλακτικά κριτήρια τερματισμού κατά τη δημιουργία (διαφ. 35) ύσκολη επιλογή κατωφλίου Μετά-κλάδεμα: Πρώτα δημιουργούμε το δένδρο Μετά, διαγράφουμε δα υποδένδρα δρα ώστε να μειώσουμε την υπερβολική προσαρμογή 46
Αλγόριθμος REP REP: Reduced Error Pruning 47
Αλγόριθμος REP 1. Κατηγοριοποιούμε τα αντικείμενα του συνόλου ψαλιδισμού. 2. Εφαρμόζουμε μ μετα-διατεταγμένη διάσχιση στο δένδρο. 3. Εξετάζουμε κάθε εσωτερικό κόμβο ν που είναι πατέρας φύλλου: Ε(Τ_ν): αντικείμενα του συνόλου ψαλιδισμού που κατατάσσονται λανθασμένα σε όλα τα φύλλα του ν Ε(ν): αντικείμενα του συνόλου ψαλιδισμού που κατατάσσονται λανθασμένα αν θέσουμε το ν ως φύλλο κλάση του νέου φύλλου ν : η πιο συχνή κλάση των αντικειμένων των τωρινών φύλλων 48
Αλγόριθμος REP (συνέχεια) χ 4. Αν για κάθε κόμβο ν ισχύει Ε(ν)>Ε(Τ_ν), ) Ε(Τ ) τότε ο αλγόριθμος τερματίζει. 5. ιαφορετικά βρίσκουμε τον κόμβο ν με τη μεγαλύτερη διαφορά Ε(Τ_ν)-Ε(ν). 6. Ψαλιδίζουμε το υποδένδρο με ρίζα το ν, θέτοντας το ν ως φύλλο και αναθέτοντάς του την κλάση που πλειοψηφεί μεταξύ των αντικειμένων του συνόλου ανάπτυξης. 7. Πίσω στο Βήμα 1. 49
Παράδειγμα 50
Κλιμακούμενοι μ αλγόριθμοι ένδρα απόφασης: απαίτηση η τα δεδομένα να είναι στην κύρια μνήμη για αποδεκτή απόδοση, αλλεπάλληλες ταξινομήσεις συμβολικών και αριθμητικών δεδομένων σε κάθε κόμβο. εν κλιμακώνονται εύκολα. Κλιμακούμενες μ παραλλαγές που θα εξετάσουμε: SLIQ, SPRINT ΔΕΝ μειώνουν την ακρίβεια 51
SLIQ: Supervised Learning In Quest Αρχές του SLIQ: Προ-ταξινόμηση Ανάπτυξη κατά πλάτος 52
Προ-ταξινόμηση: Λίστες Ιδιοτήτων/Κλάσεων Αρχική ρίζα 53
ιάσπαση με gini index Έστω c κλάσεις και n αντικείμενα. P i : σχετική συχνότητα της κλάσης i στο σύνολο S είκτης gini: gini c 2 ( S) = 1 Σ pi i= 1 Αν ένα διαχωριστικό σημείο χωρίζει το σύνολο S σε δύο υποσύνολα, S 1 και S 2, μεγέθους n 1 και n 2 αντίστοιχα: n n ( S) 1 gini( S ) 2 gini( S 1 2 n n gini = + split ) 54
Παράδειγμα SLIQ 55
Παράδειγμα SLIQ 56
Παράδειγμα SLIQ 57
Ένα ακόμη παράδειγμα: κατά πλάτος ανάπτυξη μισθός RID RID κλάση Φύλλο 15 2 40 4 60 6 65 1 75 3 1 ΝΑΙ Ν1 2 ΟΧΙ Ν1 3 ΝΑΙ Ν2 4 ΟΧΙ Ν2 5 ΝΑΙ Ν2 100 5 6 ΝΑΙ Ν2 Μελετούμε τη διάσπαση των Ν1, Ν2 ταυτόχρονα βάσει μισθού: Εξετάζουμε μία μία τις εγγραφές της αντίστοιχης λίστας Ν1 Ν Ο Ν2 Ν Ο Αρι 0 0 Αρι 0 0 εξ 1 1 εξ 1 3 Ν1 Ν Ο Ν2 Ν Ο Αρι 1 0 Αρι 0 0 εξ 0 1 εξ 1 3 Ν1 Ν Ο Ν2 Ν Ο Αρι 1 0 Αρι 1 0 εξ 0 1 εξ 0 3 Αρχικά (μισθός < 15) Μετά την 1 η εγγραφή Μετά την 2 η εγγραφή (μισθός < 27.5) (μισθός < 50) κ.ο.κ 58
Πολυπλοκότητα Αν έχουμε D εγγραφές στο σύνολο εκπαίδευσης και k αριθμητικές ιδιότητες: Σε κάθε επίπεδο του δένδρου έχουμε κόστος O(kD), για την εξέταση όλων των πιθανών ιδιοτήτων διάσπασης. Άρα το κόστος είναι O(kD*depth) depth), όπου depth το βάθος του δένδρου. Αν έχουμε συμβολικές ιδιότητες και κάνουμε δυαδικές διασπάσεις, τότε πρέπει να ληφθεί υπόψιν η συζήτηση στις προηγούμενες διαφάνειες. 59
SPRINT (Scalable PaRallelizable INndution of decision Tree) Ο SLIQ απαιτεί η λίστα κλάσης να παραμένει στη μνήμη Πρόβλημα αν αυτό δεν είναι εφικτό Ο SPRINT καταργεί τη λίστα κλάσης προσθέτει την κλάση στις λίστες ιδιοτήτων Κάθε κόμβος έχει τη δική του λίστα ιδιοτήτων υνατότητα για παραλληλισμό 60
Λίστες ιδιοτήτων SPRINT 61
Ενημέρωση η λιστών Για την ιδιότητα διάσπασης: απλώς διαχωρίζεται η αντίστοιχη λίστα σε 2 άλλες (δυαδική δ ή διάσπαση) δά ) Για τις υπόλοιπες ιδιότητες: ο διαχωρισμός γίνεται βάσει RID 62
SPRINT vs. SLIQ SPRINT εν έχει περιορισμό μνήμης Απαιτεί χρόνο ενημέρωσης και επαναποθήκευσης λιστών Παραλληλίζεται εύκολα SLIQ Μειώνει τους περιορισμούς μνήμης αλλά δεν τους εξαλείφει (λίστα κλάσης) Ενημερώνει μόνο τη λίστα κλάσεων (στη μνήμη) εν παραλληλίζεται εύκολα (λόγω μίας κεντρικής λίστας κλάσης) 63
Σχετικά με τα μέτρα διάσπασης Το πληροφοριακό όφελος, τείνει να προτείνει διασπάσεις σε πολλά μονοπάτια, σε περίπτωση που εξετάζουμε μη δυαδικά δένδρα. Μπορούμε να μετριάσουμε αυτή την τάση ζυγίζοντας το όφελος με ένα «κόστος διάσπασης». Αυτό το μέτρο λέγεται Gain Ratio. To gini i split δεν έχει τέτοια τάση. 64
Οι δύο βασικοί αλγόριθμοι που χρησιμοποιούνται στην πράξη C4.5 (J48 στο WEKA): Χρησιμοποιεί το Gain Ratio Επιτρέπει διάσπαση συμβολικών ιδιοτήτων σε πάνω από 2 παιδιά ιαδέχθηκε το ID3 που χρησιμοποιεί το πληροφοριακό όφελος, δεν κάνει κλάδεμα, δεν χειρίζεται ελλιπείς τιμές και διασπά σε όσα παιδιά όσες και οι διακριτές τιμές μς CART: Χρησιμοποιεί το gini Εφαρμόζει δυαδικές διασπάσεις Και οι 2 αλγόριθμοι χρησιμοποιούν διαφοροποιημένες τεχνικές για pruning, που είναι πιο εξελιγμένες από το REP διαχείριση ελλειπών τιμών 65