Ταξινόμηση Lecture Notes for Chapter 4 Introduction to Data Mining by Tan, Steinbach, Kumar
Εισαγωγή Ταξινόμηση (classification) Το γενικό πρόβλημα της ανάθεσης ενός αντικειμένου σε μια ή περισσότερες προκαθορισμένες κατηγορίες (κλάσεις) Παραδείγματα Εντοπισμός spam emails, με βάση πχ την επικεφαλίδα τους ή το περιεχόμενό τους Πρόβλεψη καρκινικών κυττάρων χαρακτηρίζοντας τα ως καλοήθη ή κακοήθη Κατηγοριοποίηση συναλλαγών με πιστωτικές κάρτες ως νόμιμες ή προϊόν απάτης Κατηγοριοποίηση δευτερευόντων δομών πρωτείνης ως alpha-helix, beta-sheet, ή random coil Χαρακτηρισμός ειδήσεων ως οικονομικές, αθλητικές, πολιτιστικές, πρόβλεψης καιρού, κλπ
Ταξινόμηση/κατηγοριοποίηση: Ορισμός Δεδομένου ενός συνόλου από καταγραφές (σύνολο εκπαίδευσης-training set ) Κάθε καταγραφή περιέχει ένα σύνολο από μεταβλητές (attributes), μία από τις μεταβλητές είναι η κατηγορία (class). Βρες ένα μοντέλο (model) για την μεταβλητή της κατηγορίας ως συνάρτηση των άλλων μεταβλητών. Στόχος: νέες καταγραφές (previously unseen) θα πρέπει να ανατίθονται σε μία κατηγορία με όσο μεγαλύτερη ακρίβεια γίνεται. Ένα σύνολο ελέγχου (test set) χρησιμοποιείται για τον υπολογισμό της ακρίβειας του μοντέλου. Συνήθως το δεδομένο σύνολο δεδομένων χωρίζεται σε δύο (ή σε τρία) σύνολα, με το σύνολο εκπαίδευσης να χρησιμοποιείται για να κατασκευαστεί το μοντέλο και το σύνολο ελέγχου για την επικύρωση/επαλήθευση του.
10 Είσοδος: συλλογή από εγγραφές Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes) Ένα από τα γνωρίσματα είναι η κλάση (class) Έξοδος: ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία από τις κλάσεις με τη μεγαλύτερη δυνατή ακρίβεια. Tid Επιστροφή Οικογενειακή Κατάσταση Ορισμός Φορολογητέο Εισόδημα 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Απάτη 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes
Είσοδος: συλλογή από εγγραφές Κάθε εγγραφή περιέχει ένα σύνολο από γνωρίσματα (attributes) Ένα από τα γνωρίσματα είναι η κλάση (class) Βρες ένα μοντέλο (model) για το γνώρισμα κλάση ως μια συνάρτηση των τιμών των άλλων γνωρισμάτων Ορισμός Σύνολο εγγραφών (x) Στόχος: νέες εγγραφές θα πρέπει να ανατίθενται σε μία κλάση με τη μεγαλύτερη δυνατή ακρίβεια. Ταξινόμηση είναι η διαδικασία εκμάθησης μιας συνάρτησης στόχου (target function) f που απεικονίζει κάθε σύνολο γνωρισμάτων x σε μια από τις προκαθορισμένες ετικέτες κλάσεις y. Συνήθως το σύνολο δεδομένων εισόδου χωρίζεται σε: ένα σύνολο εκπαίδευσης (training set) και ένα σύνολο ελέγχου (test test) Μοντέλο Ταξινόμησης Ετικέτα κλάσης (y) Το σύνολο εκπαίδευσης χρησιμοποιείται για να κατασκευαστεί το μοντέλο και το σύνολο ελέγχου για να το επικυρώσει.
Εισαγωγή Χρησιμοποιείται ως: Περιγραφικό μοντέλο (descriptive modeling): ως επεξηγηματικό εργαλείο πχ ποια χαρακτηριστικά κάνουν ένα ζώο να χαρακτηριστεί ως θηλαστικό Μοντέλο πρόβλεψης (predictive modeling): για τη πρόβλεψη της κλάσης άγνωστων εγγραφών πχ δοσμένων των χαρακτηριστικών κάποιου ζώου να προβλέψουμε αν είναι θηλαστικό, πτηνό, ερπετό ή αμφίβιο Κατάλληλη κυρίως για: δυαδικές κατηγορίες ή κατηγορίες για τις οποίες δεν υπάρχει διάταξη διακριτές (nominal) vs διατεταγμένες (ordinal) για μη ιεραρχικές κατηγορίες Θεωρούμε ότι τιμή (ετικέτα) της κλάσης (γνώρισμα y) είναι διακριτή τιμή Αν όχι, regression (οπισθοδρόμηση) όπου το γνώρισμα y παίρνει συνεχείς τιμές
10 10 Βήματα ταξινόμησης Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Training Set / Σύνολο εκπαίδευσης Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Test Set / Σύνολο ελέγχου Learning algorithm/ Αλγόριθμος εκπαίδευσης Induction / επαγωγή Deduction / συμπέρασμα Learn Model Εκπαίδευση Apply Model Εφαρμογή Χαρακτηριστικά Μοντέλου Model Ταιριάζει δεδομένα εκπαίδευσης Προβλέπει την κλάση των δεδομένων ελέγχου Καλή δυνατότητα γενίκευσης 1. Δημιουργία ενός μοντέλου μέσω της αξιολόγησης ενός συνόλου δεδομένων εκπαίδευσης (training data) (ή μέσω της γνώσης ειδικών του πεδίου). Το μοντέλο μπορεί να είναι ένα δέντρο ταξινόμησης, κανόνες, μαθηματικοί τύποι κλπ) 2. Εφαρμογή του μοντέλου σε νέα δεδομένα. Εκτίμηση της ακρίβειας του μοντέλου με χρήση συνόλου ελέγχου Οι κλάσεις πρέπει να είναι προκαθορισμένες
1 ο βήμα: Δημιουργία μοντέλου Δεδομένα εκπαίδευσης (training data) Αλγόριθμος Κατηγοριοποίησης όνομα βαθμίδα έτη μόνιμος Μιχάλης Επικ.Καθηγητής 3 ΟΧΙ Νίκος Επικ.Καθηγητής 7 ΝΑΙ Βασίλης Καθηγητής 2 ΝΑΙ Δημήτρης Αναπλ.Καθηγητής 7 ΝΑΙ Γιώργος Επικ.Καθηγητής 6 ΟΧΙ Κώστας Αναπλ.Καθηγητής 3 ΟΧΙ Μοντέλο IF βαθμίδα = Καθηγητής OR έτη > 6 THEN μόνιμος = ΝΑΙ
2 ο βήμα: Εφαρμογή μοντέλου Μοντέλο Δοκιμαστικά Δεδομένα (test data) Νέα δεδομένα (Γιάννης, Καθηγητής, 4) όνομα βαθμίδα έτη μόνιμος Θωμάς Επικ.Καθηγητής 2 ΟΧΙ Νίκος Αναπλ.Καθηγητής 7 ΟΧΙ Γεράσιμος Καθηγητής 5 ΝΑΙ Ιωσήφ Επικ.Καθηγητής 7 ΝΑΙ Μόνιμος;
Παραδείγματα/εφαρμογές Πρόβλεψη καρκινικών κυττάρων (καλοήθη/κακοήθη) Κατηγοριοποίηση συναλλαγών με πιστωτικές κάρτες Ταξινόμηση πρωτεϊνικές δομές Ταξινόμηση κειμένων (οικονομικά, αθλητικά κτλ)
Παραδείγματα/εφαρμογές Οι δάσκαλοι αναθέτουν βαθμούς μέσα από τις κατηγορίες A, B, C, D, F. Τα μανιτάρια ταξινομούνται σε δηλητηριώδη και φαγώσιμα. Μπορεί να γίνει πρόβλεψη εάν θα πλημμυρίσει ένας ποταμός. Οι πελάτες της τράπεζας μπορούν να κατηγοριοποιηθούν ως προς την πιστωτική τους ικανότητα.
Παράδειγμα κατηγοριοποίησης Βαθμολογία πτυχίου If x 8.5 then grade = «άριστα». If 6.5 x < 8.5 then grade = «λίαν καλώς». If x < 6.5 then grade = «καλώς». < 8.5 x < 6.5 καλώς x 8.5 άριστα 6.5 λίαν καλώς
Προεπεξεργασία 1. Καθαρισμός Δεδομένων (data cleaning) Προεπεξεργασία δεδομένων και χειρισμός τιμών που λείπουν (πχ τις αγνοούμε ή τις αντικαθιστούμε με ειδικές τιμές) 2. Ανάλυση Σχετικότητα (Relevance analysis) (επιλογή χαρακτηριστικών (γνωρισμάτων) -- feature selection) Απομάκρυνση των μη σχετικών ή περιττών γνωρισμάτων 3. Μετασχηματισμοί Δεδομένων (Data transformation) Κανονικοποίηση ή/και Γενίκευση Πιθανών αριθμητικά γνωρίσματα κατηγορικά {low,medium,high} Κανονικοποίηση αριθμητικών δεδομένων στο [0,1)
Εκτίμηση Μεθόδων Ταξινόμηση Προβλεπόμενη ακρίβεια - Predictive accuracy Ταχύτητα (speed) Χρόνος κατασκευής του μοντέλου Χρόνος χρήσης/εφαρμογής του μοντέλου Robustness Χειρισμός θορύβου και τιμών που λείπουν Scalability Αποδοτικότητα σε βάσεις δεδομένων αποθηκευμένες στο δίσκο Interpretability: Πόσο κατανοητό είναι το μοντέλο και τι νέα πληροφορία προσφέρει Ποιότητα - Goodness of rules (quality) Πχ μέγεθος του δέντρου
Προσδιορισμός κλάσεων με βάση την απόσταση με βάση τη διαμέριση
Ζητήματα που προκύπτουν Ελλιπή δεδομένα (missing data) τα αγνοούμε τα αντικαθιστούμε με ειδικές τιμές Μέτρηση απόδοσης Μέτρηση ακρίβειας με χρήση συνόλου δοκιμαστικών δεδομένων (test data) Μήτρα σύγχυσης (confusion matrix) Καμπύλη OC (operating characteristic)
Παράδειγμα με δοκιμαστικά δεδομένα Name Gender Height Output1 Output2 Kristina F 1.6m Short Medium Jim M 2m Tall Medium Maggie F 1.9m Medium Tall Martha F 1.88m Medium Tall Stephanie F 1.7m Short Medium Bob M 1.85m Medium Medium Kathy F 1.6m Short Medium Dave M 1.7m Short Medium Worth M 2.2m Tall Tall Steven M 2.1m Tall Tall Debbie F 1.8m Medium Medium Todd M 1.95m Medium Medium Kim F 1.9m Medium Tall Amy F 1.8m Medium Medium Wynette F 1.75m Medium Medium
Για 2 κλάσεις (π.χ. Tall/Medium) υπάρχουν 4 πιθανοί συνδυασμοί (m κλάσεις m 2 συνδυασμοί) Ακρίβεια κατηγοριοποίησης Αληθώς θετικό Ψευδώς αρνητικό Οπτικοποίηση ποιότητας κατηγοριοποίη σης: Μήτρα σύγχυσης Καμπύλη OC Ψευδώς θετικό Αληθώς αρνητικό
Μήτρα σύγχυσης Έστω Output1 η ορθή κατηγοριοποίηση και Output2 η ανάθεση σε κλάσεις που προέκυψε από την (όποια) τεχνική κατηγοριοποίησης Μήτρα σύγχυσης (confusion matrix): Name Gender Height Output1 Output2 Kristina F 1.6m Short Medium Jim M 2m Tall Medium Maggie F 1.9m Medium Tall Martha F 1.88m Medium Tall Stephanie F 1.7m Short Medium Bob M 1.85m Medium Medium Kathy F 1.6m Short Medium Dave M 1.7m Short Medium Worth M 2.2m Tall Tall Steven M 2.1m Tall Tall Debbie F 1.8m Medium Medium Todd M 1.95m Medium Medium Kim F 1.9m Medium Tall Amy F 1.8m Medium Medium Wynette F 1.75m Medium Medium Πραγματική Ανάθεση κλάση Short Medium Tall Short 0 4 0 Medium 0 5 3 Tall 0 1 2
Αληθώς θετικά Καμπύλη OC (Operating Characteristic) Ψευδώς θετικά
Ορισμός Τεχνικές ταξινόμησης βασισμένες σε Δέντρα Απόφασης (decision trees) Κανόνες (Rule-based Methods) Αλγόριθμους Κοντινότερου Γείτονα Memory based reasoning Νευρωνικά Δίκτυα Naïve Bayes and Bayesian Belief Networks Support Vector Machines
10 Παράδειγμα δέντρου απόφασης Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Δεδομένα Εκπαίδευσης Φύλλα στα οποία αντιστοιχεί μια (ετικέτα) κλάσης Παράδειγμα Μοντέλου Yes NO Ρίζα NO Refund Γνωρίσματα Διαχωρισμού TaxInc No Single, Divorced MarSt < 80K > 80K Splitting Attributes YES Εσωτερικ οί κόμβοι Married NO Μοντέλο: Δένδρο Απόφασης
Παράδειγμα δέντρου απόφασης Μοντέλο = Δέντρο Απόφασης Εσωτερικοί κόμβοι αντιστοιχούν σε κάποιο γνώρισμα Διαχωρισμός (split) ενός κόμβου σε παιδιά η ετικέτα στην ακμή = συνθήκη/έλεγχος Φύλλα αντιστοιχούν σε κλάσεις
10 Άλλο ένα παράδειγμα ενός δέντρου απόφασης Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No Cheat Married NO MarSt Yes Single, Divorced Refund No 3 No Single 70K No NO TaxInc 4 Yes Married 120K No < 80K > 80K 5 No Divorced 95K Yes 6 No Married 60K No NO YES 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Μπορεί να υπάρξουν περισσότερα του ενός δέντρα που ταιριάζουν σε ένα σύνολο δεδομένων
10 10 Βήματα για την κατασκευή Δένδρου Απόφασης Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Training Set Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Test Set Induction Deduction Tree Induction algorithm Learn Model Apply Model Model Decision Tree Αφού κατασκευαστεί το δέντρο, η εφαρμογή (χρήση) του στην ταξινόμηση νέων εγγραφών είναι απλή -> διαπέραση από τη ρίζα στα φύλλα του
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Ξεκινάμε από τη ρίζα του δέντρου (root). Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO Single, Divorced MarSt Married TaxInc < 80K > 80K NO NO YES
10 Εφαρμογή του μοντέλου σε δεδομένα ελέγχου Δεδομένα ελέγχου Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO MarSt Single, Divorced TaxInc < 80K > 80K Married NO Συνεπώς αναθέτουμε στην μεταβλητή εξόδου (Cheat) την τιμή No NO YES
10 10 Decision Tree Classification Task Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes Training Set Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Test Set Induction Deduction Επαγωγή Δέντρου Απόφασης Learn Model Apply Model Model Decision Tree Θα δούμε πως θα το κατασκευάσουμε Σημείωση: Είσοδος μας είναι το σύνολο εκπαίδευσης
Κατασκευή Δέντρου Απόφασης 1. ξεκίνα με έναν κόμβο που περιέχει όλες τις εγγραφές 2. διάσπαση του κόμβου (μοίρασμα των εγγραφών) με βάση μια συνθήκη-διαχωρισμού σε κάποιο από τα γνωρίσματα 3. Αναδρομική κλήση του 2 σε κάθε κόμβο (top-down, recursive, divide-and-conquer προσέγγιση) 4. Αφού κατασκευαστεί το δέντρο, κάποιες βελτιστοποιήσεις (tree pruning) Το βασικό θέμα είναι Ποιο γνώρισμα-συνθήκη διαχωρισμού να χρησιμοποιήσουμε για τη διάσπαση των εγγραφών κάθε κόμβου
age income student credit_rating buys_computer <=30 high no fair no <=30 high no excellent no 31 40 high no fair yes >40 medium no fair yes >40 low yes fair yes >40 low yes excellent no 31 40 low yes excellent yes <=30 medium no fair no <=30 low yes fair yes >40 medium yes fair yes <=30 medium yes excellent yes 31 40 medium no excellent yes 31 40 high yes fair yes >40 medium no excellent no κλάση <=30 income student credit_rating buys_computer high no fair no high no excellent no medium no fair no low yes fair yes medium yes excellent yes Δέντρο Απόφασης Παράδειγμα 30...40 age? >40 income student credit_rating buys_computer medium no fair yes low yes fair yes low yes excellent no medium yes fair yes medium no excellent no income student credit_rating buys_computer high no fair yes low yes excellent yes medium no excellent yes high yes fair yes φύλο με ετικέτα ye
10 Tid Refund Marital Status Taxable Income Δέντρο Απόφασης: Παράδειγμα Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Yes NO Refund Για το ίδιο σύνολο εκπαίδευσης υπάρχουν διαφορετικά δέντρα No Single, Divorced MarSt Married NO MarSt Yes NO Single, Divorced Refund < 80K NO No TaxInc > 80K YES TaxInc < 80K > 80K NO NO YES
Επαγωγή Δέντρου Απόφασης (Decision Tree Induction) Πολλοί αλγόριθμοι για την επαγωγή (induction) του δέντρου, οι οποίοι ακολουθούν μια άπληστη (greedy) στρατηγική για να κτίσουν το δέντρο απόφασης παίρνοντας μια σειρά από τοπικά βέλτιστες αποφάσεις: Ο αλγόριθμος του Hunt (ένας από τους πρώτους) CART ID3, C4.5 SLIQ,SPRINT
Σημείωση: ο διαχωρισμός δεν είναι δυνατός αν όλες οι εγγραφές έχουν τις ίδιες τιμές σε όλα τα γνωρίσματα (δηλαδή, ο ίδιος συνδυασμός αντιστοιχεί σε περισσότερες από μία κλάσεις) τότε φύλλο με κλάση αυτής της πλειοψηφίας των εγγραφών εκπαίδευσης Γενική Δομή Αλγορίθμου του Hunt Κτίζει το δέντρο αναδρομικά, αρχικά όλες οι εγγραφές σε έναν κόμβο (ρίζα) Έστω D t : το σύνολο των εγγραφών εκπαίδευσης που έχουν φτάσει στον κόμβο t Γενική Διαδικασία (αναδρομικά σε κάθε κόμβο) Αν το D t περιέχει εγγραφές που ανήκουν στην ίδια κλάση y t, τότε ο κόμβος t είναι κόμβος φύλλο της κατηγορίας y t Αν D t είναι το κενό σύνολο (αυτό σημαίνει ότι δεν υπάρχει εγγραφή στο σύνολο εκπαίδευσης με αυτό το συνδυασμό τιμών), τότε D t γίνεται είναι ένας κόμβος φύλλο της προκαθορισμένης κατηγορίας y d (γίνεται φύλλο με κλάση αυτή της πλειοψηφίας των εγγραφών εκπαίδευσης ή ανάθεση κάποιας default κλάσης Αν το D t περιέχει δεδομένα που ανήκουν σε περισσότερες από μία κατηγορίες (κλάσεις), τότε χρησιμοποίησε έναν έλεγχογνωρίσματος για το διαχωρισμό των δεδομένων σε μικρότερα υποσύνολα? D t
10 Don t Cheat Ο αλγόριθμος του Hunt Yes Don t Cheat Refund No Don t Cheat Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes Yes Refund No Yes Refund No 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes Don t Cheat Single, Divorced Cheat Marital Status Married Don t Cheat Don t Cheat Single, Divorced Taxable Income Marital Status Married Don t Cheat 9 No Married 75K No 10 No Single 90K Yes < 80K >= 80K Don t Cheat Cheat
Επαγωγή Δέντρου (Tree Induction) «Άπληστη» στρατηγική (Greedy strategy). Χώρισε τα δεδομένα με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί κάποιο κριτήριο. Θέματα Καθορισμός του διαχωρισμού των δεδομένων Πώς να ορίσουμε την συνθήκη διάσπασης του γνωρίσματος (έλεγχο του γνωρίσματος); Πώς να καθορίσουμε τη βέλτιστη διάσπαση; Καθορισμός του πότε πρέπει να σταματήσουμε να διαχωρίζουμε (συνθήκη τερματισμού)
Πώς να καθορίσουμε την συνθήκη διάσπασης (Διαχωρισμό κόμβου)? Εξαρτάται από τον τύπο του γνωρίσματος Κατηγορικά (Nominal) (Διακριτές τιμές) Διατεταγμένα (Ordinal) Συνεχή (Continuous) Εξαρτάται από τον αριθμό των διαχωρισμών- είδη διαχωρισμού Στα 2 (2-way split) Σε πολλαπλά σημεία (Multi-way split)
Διαχωρισμός με βάση κατηγορικά χαρακτηριστικά (διακριτές τιμές) Πολλαπλός διαχωρισμός (Multi-way split): Χρησιμοποίησε τόσες διαμερίσεις όσες είναι οι διακριτές τιμές του γνωρίσματος. Family CarType Sports Luxury Δυαδικός διαχωρισμός (Binary split): Χωρισμός σε 2 υποσύνολα. Πρέπει να βρεθεί ο βέλτιστος διαχωρισμός. {Sports, Luxury} CarType {Family} OR {Family, Luxury} CarType {Sports}
Διαχωρισμός με βάση διατεταγμένα χαρακτηριστικά Πολλαπλός διαχωρισμός (Multi-way split): Χρησιμοποίησε τόσες διαμερίσεις όσες είναι οι διακριτές τιμές του γνωρίσματος. Small Size Medium Large Δυαδικός διαχωρισμός (Binary split): Χωρισμός σε 2 υποσύνολα. Πρέπει να βρεθεί ο βέλτιστος διαχωρισμός. {Small, Medium} Size {Large} OR {Medium, Large} {Small, Large} Size Size {Small} {Medium} Όταν υπάρχει διάταξη, πρέπει ο διαχωρισμός να μη την παραβιάζει
Διαχωρισμός με βάση συνεχείς μεταβλητές / τιμές: Δύο προσεγγίσεις Διακριτοποίηση (Discretization) για τη δημιουργία διατεταγμένου (κατηγορικό) γνώρισμα/μεταβλητής. Ταξινόμηση των τιμών και χωρισμός τους σε περιοχές καθορίζοντας n 1 σημεία διαχωρισμού, απεικόνιση όλων των τιμών μιας περιοχής στην ίδια κατηγορική τιμή Στατική διακριτοποίηση μία φορά στην αρχή Δυναμική τα όρια μπορεί να βρεθούν είτε με διαμέριση ίσων διαστημάτων, ίσων συχνοτήτων ή ομαδοποίηση (equal interval, equal frequency, clustering). Δυαδική απόφαση (Binary Decision): (A < v) ή (A v) Θεώρησε όλες τις πιθανές διαμερίσεις και βρες το βέλτιστο σημείο μπορεί να είναι πιο απαιτητική υπολογιστικά
Διαχωρισμός με βάση συνεχείς μεταβλητές/ τιμές Taxable Income > 80K? Taxable Income? < 10K > 80K Yes No [10K,25K) [25K,50K) [50K,80K) Δυαδικός διαχωρισμός Πολλαπλός διαχωρισμός
Δέντρο Απόφασης: Κατασκευή Δέντρου Greedy στρατηγική. Διάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού)
Πώς να καθορίσουμε το βέλτιστο διαχωρισμό Πριν τον διαχωρισμός : 10 καταγραφές της κατηγορίας 0, 10 καταγραφές της κατηγορίας 1 Own Car? Car Type? Student ID? Yes No Family Luxury c 1 c 10 c 20 Sports c 11 C0: 6 C1: 4 C0: 4 C1: 6 C0: 1 C1: 3 C0: 8 C1: 0 C0: 1 C1: 7 C0: 1 C1: 0... C0: 1 C1: 0 C0: 0 C1: 1... C0: 0 C1: 1 Ποια συνθήκη ελέγχου είναι η καλύτερη? Ποια από τις 3 διασπάσεις να προτιμήσουμε; ορισμός κριτηρίου βέλτιστου διαχωρισμού
Πώς να καθορίσουμε το βέλτιστο διαχωρισμό? Greedy προσέγγιση: προτιμούνται οι κόμβοι με ομοιογενείς κατανομές κλάσεων (homogeneous class distribution) Χρειαζόμαστε μία μέτρηση της μη καθαρότητας ενός κόμβου (node impurity) C0: 5 C1: 5 Μη-ομοιογενής, Μεγάλος βαθμός μη καθαρότητας C0: 9 C1: 1 «Καλός» κόμβος!! Ομοιογενής, Μικρός βαθμός μη καθαρότητας Ν1 C1 0 C2 6 Μη καθαρότητα ~ 0 Ν2 C1 1 C2 5 ενδιάμεση Ν3 C1 2 C2 4 ενδιάμεση αλλά μεγαλύτερη Ν4 C1 3 C2 3 Μεγάλη μη καθαρότητα Ι(Ν1) < Ι(N2) < I(N3) < I(N4)
Μετρήσεις μη καθαρότητας των κόμβων Measures of Node Impurity Δείκτης Gini Εντροπία (Entropy) Ποσοστό λανθασμένων ταξινομήσεων (Misclassification error)
Μέτρηση καθαρότητας Ως κριτήριο για διάσπαση Το τι κερδίζουμε από την διάσπαση: Για κάθε κόμβο n, μετράμε την καθαρότητα του, I(n) Έστω μια διάσπαση ενός κόμβου (parent) με N εγγραφές σε k παιδιά u i Έστω N(u i ) ο αριθμός εγγραφών κάθε παιδιού ( Ν(u i ) = N) Για να χαρακτηρίσουμε μια διάσπαση, κοιτάμε το κέρδος, δηλαδή τη διαφορά μεταξύ της καθαρότητας του γονέα (πριν τη διάσπαση) και των παιδιών του (μετά τη διάσπαση) I( parent) k i 1 N( u ) N i I( u ) Βάρος (εξαρτάται από τον αριθμό εγγραφών) i Διαλέγουμε την «καλύτερη» διάσπαση (μεγαλύτερο Δ)
Πώς να καθορίσουμε το βέλτιστο διαχωρισμό Πριν το διαχωρισμό: C0 C1 N00 N01 M0 A? B? Yes No Yes No Node N1 Node N2 Node N3 Node N4 C0 N10 C0 N20 C0 N30 C0 N40 C1 N11 C1 N21 C1 N31 C1 N41 M1 M2 M3 M4 M12 Gain = M0 M12 vs M0 M34 M34
Αλγόριθμος του Hunt Ψευδό-κώδικας Algorithm GenDecTree(Sample S, Attlist A) 1. create a node N 2. If all samples are of the same class C then label N with C; terminate; 3. If A is empty then label N with the most common class C in S (majority voting); terminate; 4. Select a A, with the highest gain; Label N with a; 5. For each value v of a: a. Grow a branch from N with condition a=v; b. Let S v be the subset of samples in S with a=v; c. If S v is empty then attach a leaf labeled with the most common class in S; d. Else attach the node generated by GenDecTree(S v, A-a)
Μετρήσεις μη καθαρότητας των κόμβων Measures of Node Impurity Δείκτης Gini Εντροπία (Entropy) Ποσοστό λανθασμένων ταξινομήσεων (Misclassification error)
Μέτρα μη καθαρότητας (Impurity): GINI Ο δείκτης Gini για ένα κόμβο t είναι : GINI ( t) 1 j [ p( j t)] (Σημείωση: p( j t) είναι η σχετική συχνότητα μιας κατηγορίας j στον κόμβο t). Μέγιστη τιμή (1-1/n c ) όταν όλες οι καταγραφές ισοκατανέμονται ομοιόμορφα μεταξύ των κατηγοριών, υποδηλώνοντας «λιγότερο χρήσιμη πληροφορία» Ελάχιστη τιμή (0.0) όταν όλες οι καταγραφές ανήκουν σε μία κατηγορία, υποδηλώνοντας «περισσότερο χρήσιμη πληροφορία» Παραδείγματα: Ν1 Ν2 Ν3 Ν4 C1 0 C2 6 Gini=0.000 C1 1 C2 5 Gini=0.278 C1 2 C2 4 Gini=0.444 2 C1 3 C2 3 Gini=0.500
Παράδειγμα υπολογισμού του δείκτη GINI GINI ( t) 1 j [ p( j t)] 2 C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Gini = 1 P(C1) 2 P(C2) 2 = 1 0 1 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Gini = 1 (1/6) 2 (5/6) 2 = 0.278 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Gini = 1 (2/6) 2 (4/6) 2 = 0.444
Διαχωρισμός με βάση τον δείκτη GINI Χρησιμοποιείται στα CART, SLIQ, SPRINT. Όταν ένας κόμβος p χωρίζεται σε k κόμβους (παιδιάchildren) ( το σύνολο των εγγραφών του κόμβου χωρίζεται σε κ υποσύνολα), η ποιότητα του διαχωρισμού υπολογίζεται ως: GINI split k i 1 n i n GINI ( i) Ψάχνουμε για: Πιο καθαρές Πιο μεγάλες (σε αριθμό) μικρές διασπάσεις όπου, n i = ο αριθμός των καταγραφών του παιδιού i, n = ο αριθμός των καταγραφών στον κόμβο p.
Δυαδικά χαρακτηριστικά: υπολογισμός του δείκτη GINI (Παράδειγμα) Περίπτωση 1: Δυαδικά Γνωρίσματα Αρχικός κόμβος A? C1 6 C2 6 Parent C1 6 C1 4 C2 3 Yes Node N1 No Node N2 C1 2 C2 3 C2 6 Gini = 0.500 N1 N2 C1 4 2 C2 3 3 Gini=0.486 Gini(N1) = 1 (4/7) 2 (3/7) 2 = 0.49 Gini(N2) = 1 (2/5) 2 (3/5) 2 = 0.48 Gini(Children) = 7/12 * 0.49 + 5/12 * 0.48 = 0.486
Δυαδικά χαρακτηριστικά: υπολογισμός του δείκτη GINI (Παράδειγμα συνέχεια) Χωρισμός σε δύο μέρη Επίδραση του μεγέθους των διαχωρισμών : Μεγαλύτεροι και πιο «Καθαροί» (Purer) διαχωρισμοί προτιμώνται. Yes B? C1 6 C2 6 No Parent C1 6 C2 6 Gini = 0.500 Υπενθύμιση: με βάση το Α N1 N2 C1 4 2 C2 3 3 Gini=0.486 C1 5 C2 2 Node N1 Node N2 C1 1 C2 4 N1 N2 C1 5 1 C2 2 4 Gini=0.371 Gini(N1) = 1 (5/7) 2 (2/7) 2 = 0.408 Gini(N2) = 1 (1/5) 2 (4/5) 2 = 0.32 Gini(Children) = 7/12 * 0.408 + 5/12 * 0.32 = 0.371 Άρα διαλέγουμε το Β
Περίπτωση 2: Κατηγορικά χαρακτηριστικά Υπολογισμός του δείκτη Gini Για κάθε διακριτή τιμή μέτρησε τις τιμές στα δεδομένα πού ανήκουν σε κάθε κλάση /κατηγορία (στο σύνολο των δεδομένων) Χρησιμοποίησε τον πίνακα με τις μετρήσεις για ληφθεί η απόφαση για τον καλύτερο διαχωρισμό Πολλαπλός διαχωρισμός Multi-way split Χωρισμός σε 2 μέρη Two-way split (πρέπει να βρεθεί και ο βέλτιστος διαχωρισμός των τιμών) CarType Family Sports Luxury C1 1 2 1 C2 4 1 1 Gini 0.393 CarType {Sports, Luxury} {Family} C1 3 1 C2 2 4 Gini 0.400 CarType {Sports} {Family, Luxury} C1 2 2 C2 1 5 Gini 0.419
Περίπτωση 2: Κατηγορικά χαρακτηριστικά Υπολογισμός του δείκτη Gini Δυαδική διάσπαση (βρες τον καλύτερο διαχωρισμό των τιμών) {Sports, Luxury} CarType {Family} CarType Family Luxury Sports CarType {Sports, Luxury} {Family} C1 9 1 C2 7 3 Gini 0.468 CarType Family Sports Luxury C1 1 8 1 C2 3 0 7 Gini 0.163 {Family, Luxury} CarType {Sports} CarType {Sports} { Family, Luxury} C1 8 2 C2 0 10 Gini 0.167 Πολλαπλή Διάσπαση
10 Συνεχή χαρακτηριστικά: Υπολογισμός του δείκτη GINI Χρήση δυαδικών αποφάσεων με βάση μία τιμή Πολλαπλές επιλογές για την τιμή διαχωρισμού Αριθμός πιθανόν διαχωρισμών = Αριθμό διακριτών τιμών -έστω Ν Για κάθε σημείο διαχωρισμού v έχουμε ένα πίνακα με τις μετρήσεις κάθε κατηγορίας (count matrix) Πλήθος των παραδειγμάτων κάθε κατηγορίας για κάθε ένα από τα δύο σύνολα A < v και A v Απλή μέθοδος για την επιλογή του καλύτερου v Για κάθε v, υπολόγισε τον πίνακα με τα παραδείγματα και υπολόγισε τον Gini index ευρετήριο χρόνος Ο(Ν) Όχι αποδοτική υπολογιστικά! Ο(Ν 2 ) (Επανάληψη ενεργειών). Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Taxable Income > 80K? Yes No
Συνεχή χαρακτηριστικά: Υπολογισμός του δείκτη GINI Για αποδοτικό υπολογισμό: για κάθε χαρακτηριστικό, Τοποθέτηση των τιμών με αύξουσα σειρά (Ταξινόμηση Ο(Ν logn) Γραμμικό «πέρασμα» (Σειριακό πέρασμα) όλων των τιμών, ενημερώνοντας κάθε φορά τον πίνακα με τους μετρητές και υπολογίζοντας τον δείκτη gini Επιλογή της θέσης με τον μικρότερο δείκτη gini Cheat No No No Yes Yes Yes No No No No Taxable Income Ταξινόμηση Τιμών Τιμές Διαχωρισμού 60 70 75 85 90 95 100 120 125 220 55 65 72 80 87 92 97 110 122 172 230 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0 No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0 Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420
10 Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Για <55, δεν υπάρχει εγγραφή οπότε 0 Για <65, κοιτάμε το μικρότερο το 60, NO 0->1, 7->6 YES δεν αλλάζει Για <72, κοιτάμε το μικρότερο το 70, ΝΟ 1->2 6->5, YES δεν αλλάζει κοκ Καλύτερα; Αγνοούμε τα σημεία στα οποία δεν υπάρχει αλλαγή κλάσης (αυτά δε μπορεί να είναι σημεία διαχωρισμού) Άρα, στο παράδειγμα, αγνοούνται τα σημεία 55, 65, 72, 87, 92, 122, 172, 230 Από 11 πιθανά σημεία διαχωρισμού μας μένουν μόνο 2 Cheat No No No Yes Yes Yes No No No No Ταξινομημένες Τιμές Τιμές Διαχωρισμού Taxable Income 60 70 75 85 90 95 100 120 125 220 55 65 72 80 87 92 97 110 122 172 230 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0 No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0 Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420
Συνεχή χαρακτηριστικά: Υπολογισμός του δείκτη GINI Παράδειγμα Κλάση age income student credit_rating buys_computer <=30 <=30 high high Class nop: buys_computer fair = yes Class non: buys_computer excellent = no no no 31 40 high no fair yes >40 medium no fair yes >40 low yes fair yes >40 low yes excellent no 31 40 low yes excellent yes <=30 medium no fair no <=30 low yes fair yes >40 medium yes fair yes <=30 medium yes excellent yes 31 40 medium no excellent yes 31 40 high yes fair yes >40 medium no excellent no 9 gini( D) 1 14 2 5 14 2 0.459 Έστω ότι το διασπάμε με βάση το income Πρέπει να θεωρήσουμε όλες τις δυνατές διασπάσεις Έστω μόνο δυαδικές D1: {low, medium} και D2 {high} D3: {low} και D4 {medium, high} Αν πολλαπλές διασπάσεις, πρέπει να θεωρήσουμε και άλλες διασπάσεις Με τον ίδιο τρόπο εξετάζουμε και πιθανές διασπάσεις με βάση τα άλλα τρία γνωρίσματα (δηλαδή, age, student, credit_rating)
Μέτρα μη καθαρότητας των κόμβων Measures of Node Impurity Δείκτης Gini Εντροπία (Entropy) Ποσοστό λανθασμένων ταξινομήσεων (Misclassification error)
Εναλλακτικά κριτήρια διαχωρισμού με βάση την πληροφορία (INFO) Εντροπία (Entropy) σε ένα κόμβο t: Entropy ( t) p( j t)log p( j t) j (Σημείωση: p( j t) είναι η σχετική συχνότητα μια κατηγορίας j στον κόμβο t). Μετράει την ομοιογένεια ενός κόμβου. Μέγιστη τιμή (log n c ) όταν όλες οι καταγραφές ισοκατανέμονται (ομοιόμορφα κατανεμημένες) μεταξύ των κατηγοριών, υποδηλώνοντας ελάχιστη πληροφορία Ελάχιστη τιμή (0.0) όταν όλες οι καταγραφές ανήκουν σε μία κατηγορία, υποδηλώνοντας μέγιστη πληροφορία Οι υπολογισμοί που περιλαμβάνουν εντροπία είναι παρόμοιοι με αυτούς του δείκτη GINI
Παραδείγματα υπολογισμού της εντροπίας Entropy t) p( j t)log p( j t) j ( 2 C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Entropy = 0 log 0 1 log 1 = 0 0 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Entropy = (1/6) log 2 (1/6) (5/6) log 2 (1/6) = 0.65 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Entropy = (2/6) log 2 (2/6) (4/6) log 2 (4/6) = 0.92
Παραδείγματα υπολογισμού της εντροπίας Ν 1 C1 0 C2 6 Ν 2 C1 1 C2 5 Ν 3 C1 2 C2 4 Ν 4 C1 3 C2 3 Entropy=0.000 Entropy=0.650 Entropy = 0.92 Entropy = 1.000 Gini = 0.000 Gini = 0.278 Gini = 0.444 Gini = 0.500
Διαχωρισμός με βάση την πληροφορία Όταν ένας κόμβος p διασπάται σε k σύνολα (παιδιά), η ποιότητα του διαχωρισμού υπολογίζεται ως Κέρδος Πληροφορίας (Information Gain): GAIN Ο κόμβος γονέας (Parent Node), p χωρίζεται σε k μέρη; n i είναι το πλήθος των παραδειγμάτων στο i μέρος Μετράει τη μείωση της εντροπίας που προήλθε από τη διαμέριση. Επιλέγουμε την διαμέριση που επιτυγχάνει την μέγιστη μείωση (μεγιστοποιεί το κέρδος (GAIN)) Χρησιμοποιείται στους ID3 και C4.5 Entropy( p) split i 1 όπου, n i = αριθμός εγγραφών του παιδιού i, n = αριθμός εγγραφών του κόμβου p. Μειονέκτημα: Τείνει να προτιμά διαχωρισμούς που οδηγούν σε μεγάλο πλήθος διαμερίσεων με κάθε ένα να είναι μικρό αλλά «καθαρό» k n i n Entropy ( i)
age income student credit_rating buys_computer <=30 high no fair no <=30 high no excellent no 31 40 high no fair yes >40 medium no fair yes >40 low yes fair yes >40 low yes excellent no 31 40 low yes excellent yes <=30 medium no fair no <=30 low yes fair yes >40 medium yes fair yes <=30 medium yes excellent yes 31 40 medium no excellent yes 31 40 high yes fair yes >40 medium no excellent no Κέρδος Πληροφορίας Παράδειγμα Κλάση 9 Info D) I(9,5) log 14 Info age ( D) 5 14 9 5 ( ) log 14 14 5 14 I(2,3) I(3,2) 5 ( ) 14 ( 2 2 4 14 0.694 I(4,0) Gain( age) Info( D) Info ( D) 0.246 age 0.940 age p i n i I(p i, n i ) <=30 2 3 0.971 31 40 4 0 0 >40 3 2 0.971 Gain( income) 0.029 Gain( student) 0.151 Gain( credit _ rating) 0.048
Κέρδος Πληροφορίας Παράδειγμα I( parent) k i 1 N( u ) N i I( u ) i Τείνει να ευνοεί διαχωρισμούς που καταλήγουν σε μεγάλο αριθμό από διασπάσεις που η κάθε μία είναι μικρή αλλά καθαρή Own Car? Car Type? Student ID? Yes No Family C0: 6 C1: 4 C0: 4 C1: 6 C0: 1 C1: 3 Sports C0: 8 C1: 0 Luxury c 1 c 10 c 20 C0: 1 C1: 7 C0: 1 C1: 0... C0: 1 C1: 0 c 11 C0: 0 C1: 1... C0: 0 C1: 1 Μπορεί να καταλήξουμε σε πολύ μικρούς κόμβους (με πολύ λίγες εγγραφές) για αξιόπιστες προβλέψεις Στο παράδειγμα, το student-id είναι κλειδί, όχι χρήσιμο για προβλέψεις
Διαχωρισμός με βάση την πληροφορία Λόγος κέρδους (Gain Ratio): Μία λύση είναι να έχουμε μόνο δυαδικές διασπάσεις Λαμβάνουμε υπόψιν τον αριθμό των κόμβων GainRATIO split GAIN Split SplitINFO SplitINFO k i 1 ni n ni log n Ο κόμβος γονέας (Parent Node), p χωρίζεται σε kμέρη; n i είναι το πλήθος των παραδειγμάτων στο i μέρος Προσαρμόζει το πληροφοριακό κέρδος (Information Gain) χρησιμοποιώντας την εντροπία του διαμερισμού (SplitINFO). Μεγαλύτερη εντροπία διαμέρισης (μεγάλο πλήθος από μικρά μέρη) «τιμωρείται»! Χρησιμοποιείται στον C4.5 Σχεδιάστηκε για να «διορθώσει» το πρόβλημα του πληροφοριακού κέρδους (Information Gain)
Λόγος Κέρδους GainRATIO split GAIN Split SplitINFO SplitINFO k i 1 ni n log ni n Παράδειγμα Έστω N εγγραφές αν τις χωρίσουμε Σε 3 κόμβους SplitINFO = - log(1/3) = log3 Σε 2 κόμβους SplitINFO = - log(1/2) = log2 = 1 Άρα οι 2 ευνοούνται
Εντροπία Και τα τρία μέτρα επιστρέφουν καλά αποτελέσματα Κέρδος Πληροφορίας: Δουλεύει καλύτερα σε γνωρίσματα με πολλαπλές τιμές Λόγος Κέρδους: Τείνει να ευνοεί διαχωρισμούς όπου μία διαμέριση είναι πολύ μικρότερη από τις υπόλοιπες Ευρετήριο Gini: Δουλεύει καλύτερα σε γνωρίσματα με πολλαπλές τιμές Δε δουλεύει τόσο καλά όταν ο αριθμός των κλάσεων είναι μεγάλος Τείνει να ευνοεί ελέγχους που οδηγούν σε ισομεγέθεις διαμερίσεις που και οι δύο είναι καθαρές
Μέτρα μη καθαρότητας των κόμβων Measures of Node Impurity Δείκτης Gini Εντροπία (Entropy) Ποσοστό λανθασμένων ταξινομήσεων (Misclassification error)
Κριτήρια διαχωρισμού με βάση το λάθος ταξινόμησης Λάθος ταξινόμησης στον κόμβο t : Error( t) 1 max P( i t) class i Όσες ταξινομούνται σωστά Μέτρηση του σφάλματος ταξινόμησης από ένα κόμβο. Μέγιστη τιμή (1-1/n c ) όταν όλες οι καταγραφές ισοκατανέμονται μεταξύ των κατηγοριών, υποδηλώνοντας «λιγότερο χρήσιμη πληροφορία» Ελάχιστη τιμή (0.0) όταν όλες οι καταγραφές ανήκουν σε μία κατηγορία, υποδηλώνοντας «περισσότερο χρήσιμη πληροφορία»
Παραδείγματα υπολογισμού του σφάλματος C1 0 C2 6 Error( t) 1 max P( i t) P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Error = 1 max (0, 1) = 1 1 = 0 i C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Error = 1 max (1/6, 5/6) = 1 5/6 = 1/6 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Error = 1 max (2/6, 4/6) = 1 4/6 = 1/3
Σύγκριση των διαφόρων κριτηρίων Για ένα πρόβλημα με 2 κατηγορίες / κλάσεις: p ποσοστό εγγραφών που ανήκει σε μία από τις δύο κλάσεις (p κλάση +, 1-p κλάση -) Όλες την μεγαλύτερη τιμή για 0.5 (ομοιόμορφη κατανομή) Όλες μικρότερη τιμή όταν όλες οι εγγραφές σε μία μόνο κλάση (0 και στο 1)
Misclassification Error vs Gini Yes Node N1 A? No Node N2 Parent C1 7 C2 3 Gini = 0.42 Gini(N1) = 1 (3/3) 2 (0/3) 2 = 0 Gini(N2) = 1 (4/7) 2 (3/7) 2 = 0.489 N1 N2 C1 3 4 C2 0 3 Gini=0.342 Gini(Children) = 3/10 * 0 + 7/10 * 0.489 = 0.342 Gini improves!!
Σύγκριση Όπως είδαμε και στα παραδείγματα οι τρεις μετρήσεις είναι συνεπής μεταξύ τους, πχ Ν1 μικρότερη τιμή από το Ν2 και με τις τρεις μετρήσεις Ωστόσο το γνώρισμα που θα επιλεγεί για τη συνθήκη ελέγχου εξαρτάται από το ποια μέτρηση χρησιμοποιείται Ν1 Ν2 Ν3 Ν4 C1 0 C2 6 Error=0.000 C1 1 C2 5 Error=0.167 C1 2 C2 4 Error = 0.333 C1 3 C2 3 Error = 0.500 Gini = 0.000 Gini = 0.278 Gini = 0.444 Gini = 0.500 Entropy = 0.000 Entropy = 0.650 Entropy = 0.920 Entropy = 1.000
Αλγόριθμος του Hunt Ψευδό-κώδικας Algorithm GenDecTree(Sample S, Attlist A) 1. create a node N 2. If all samples are of the same class C then label N with C; terminate; 3. If A is empty then label N with the most common class C in S (majority voting); terminate; 4. Select a A, with the highest information gain (gini, error); Label N with a; 5. For each value v of a: a. Grow a branch from N with condition a=v; b. Let S v be the subset of samples in S with a=v; c. If S v is empty then attach a leaf labeled with the most common class in S; d. Else attach the node generated by GenDecTree(S v, A-a)
Δέντρο Απόφασης: Κατασκευή Δέντρου Greedy στρατηγική. Διάσπαση εγγραφών με βάση έναν έλεγχο γνωρίσματος που βελτιστοποιεί ένα συγκεκριμένο κριτήριο Θέματα Καθορισμός του τρόπου διαχωρισμού των εγγραφών Καθορισμός του ελέγχου γνωρίσματος Καθορισμός του βέλτιστου διαχωρισμού Πότε θα σταματήσει ο διαχωρισμός (συνθήκη τερματισμού)
Κριτήρια τερματισμού για την επαγωγή δέντρων Σταματάμε να επεκτείνουμε έναν κόμβο αν όλα τα δεδομένα ανήκουν στην ίδια κατηγορία /κλάση Σταματάμε να επεκτείνουμε έναν κόμβο όταν όλα δεδομένα έχουν τις ίδιες τιμές Γρήγορος τερματισμός
Δέντρο Απόφασης Data Fragmentation Διάσπαση Δεδομένων Ο αριθμός των εγγραφών μειώνεται όσο κατεβαίνουμε στο δέντρο Ο αριθμός των εγγραφών στα φύλλα μπορεί να είναι πολύ μικρός για να πάρουμε οποιαδήποτε στατιστικά σημαντική απόφαση Μπορούμε να αποτρέψουμε την περαιτέρω διάσπαση όταν ο αριθμός των εγγραφών πέσει κάτω από ένα όριο
Πλεονεκτήματα Δέντρων Απόφασης Μη παραμετρική προσέγγιση: Δε στηρίζεται σε υπόθεση εκ των προτέρων γνώσης σχετικά με τον τύπο της κατανομής πιθανότητας που ικανοποιεί η κλάση ή τα άλλα γνωρίσματα Η κατασκευή του βέλτιστου δέντρου απόφασης είναι ένα NPcomplete πρόβλημα. Ευριστικοί: Αποδοτική κατασκευή ακόμα και στην περίπτωση πολύ μεγάλου συνόλου δεδομένων Αφού το δέντρο κατασκευαστεί, η ταξινόμηση νέων εγγραφών πολύ γρήγορη O(h) όπου h το μέγιστο ύψος του δέντρου Εύκολα στην κατανόηση (ιδιαίτερα τα μικρά δέντρα) Η ακρίβεια τους συγκρίσιμη με άλλες τεχνικές για μικρά σύνολα δεδομένων
Ταξινόμηση με δέντρα απόφασης Πλεονεκτήματα: Υπολογιστικά οικονομικά Πολύ γρήγορα στην ταξινόμηση νέων καταγραφών Εύκολα να ερμηνευθούν για δέντρα μικρού μεγέθους Η ακρίβεια που επιτυγχάνεται είναι συγκρίσιμη με άλλες τεχνικές για μικρά σύνολα δεδομένων Καλή συμπεριφορά στο θόρυβο Η ύπαρξη πλεοναζόντων γνωρισμάτων (γνωρίσματα των οποίων η τιμή εξαρτάται από κάποιο άλλο) δεν είναι καταστροφική για την κατασκευή. Χρησιμοποιείται ένα από τα δύο. Αν πάρα πολλά, μπορεί να οδηγήσουν σε δέντρα πιο μεγάλα από ότι χρειάζεται
Δέντρα Απόφασης Εκφραστικότητα Δυνατότητα αναπαράστασης για συναρτήσεις διακριτών τιμών, αλλά δε δουλεύουν σε κάποια είδη δυαδικών προβλημάτων πχ, parity 0(1) αν υπάρχει μονός (ζυγός) αριθμός από δυαδικά γνωρίσματα 2 d κόμβοι για d γνωρίσματα Όχι καλή συμπεριφορά για συνεχείς μεταβλητές Ιδιαίτερα όταν η συνθήκη ελέγχου αφορά ένα γνώρισμα τη φορά
Δέντρο Απόφασης Decision Boundary Μέχρι στιγμής είδαμε ελέγχους που αφορούν μόνο ένα γνώρισμα τη φορά, μπορούμε να δούμε τη διαδικασία ως τη διαδικασία διαμερισμού του χώρου των γνωρισμάτων σε ξένες περιοχές μέχρι κάθε περιοχή να περιέχει εγγραφές που να ανήκουν στην ίδια κλάση Η οριακή γραμμή (Border line) μεταξύ δυο γειτονικών περιοχών που ανήκουν σε διαφορετικές κλάσεις ονομάζεται και decision boundary (όριο απόφασης)
1 0.9 0.8 Διαχωριστικό όριο (επιφάνεια) Decision Boundary x < 0.43? 0.7 Yes No 0.6 y 0.5 y < 0.47? y < 0.33? 0.4 0.3 Yes No Yes No 0.2 0.1 : 4 : 0 : 0 : 4 : 0 : 3 : 4 : 0 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 x Η διαχωριστική γραμμή μεταξύ δύο γειτονικών περιοχών διαφορετικών κατηγοριών ονομάζεται διαχωριστικό όριο (decision boundary Το διαχωριστικό όριο είναι παράλληλο στους άξονες γιατί η συνθήκη ελέγχου εμπλέκει μόνο ένα χαρακτηριστικό κάθε φορά
«Λοξά» Δέντρα απόφασης (Oblique Decision Trees x + y < 1 Class = + Class = Η συνθήκη ελέγχου μπορεί να περιλαμβάνει πολλά χαρακτηριστικά (περισσότερα από ένα) Η εύρεση της βέλτιστης συνθήκης ελέγχου είναι υπολογιστικά ακριβή Μεγαλύτερη εκφραστικότητα
Δέντρο Απόφασης Tree Replication (Αντίγραφα) P Q R S 0 Q 1 0 1 S 0 Το ίδιο υπο-δέντρο να εμφανίζεται πολλές φορές σε ένα δέντρο απόφασης Αυτό κάνει το δέντρο πιο περίπλοκο και πιθανών δυσκολότερο στην κατανόηση 0 1 Σε περιπτώσεις διάσπασης ενός γνωρίσματος σε κάθε εσωτερικό κόμβο ο ίδιος έλεγχος σε διαφορετικά σημεία
Δέντρο Απόφασης: C4.5 Simple depth-first construction. Uses Information Gain Sorts Continuous Attributes at each node. Needs entire data to fit in memory. Unsuitable for Large Datasets. Needs out-of-core sorting. You can download the software from: http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar. gz
Δέντρo Απόφασης Στρατηγική αναζήτησης Ο αλγόριθμος που είδαμε χρησιμοποιεί μια greedy, top-down, αναδρομική διάσπαση για να φτάσει σε μια αποδεκτή λύση Άλλες στρατηγικές? Bottom-up (από τα φύλλα, αρχικά κάθε εγγραφή και φύλλο) Bi-directional
Δέντρο Απόφασης Constructive induction Κατασκευή σύνθετων γνωρισμάτων ως αριθμητικών ή λογικών συνδυασμών άλλων γνωρισμάτων
Δέντρο Απόφασης - Περίληψη Προτερήματα - Pros + Λογικός χρόνος εκπαίδευσης + Γρήγορη εφαρμογή + Ευκολία στην κατανόηση + Εύκολη υλοποίηση + Μπορεί να χειριστεί μεγάλο αριθμό γνωρισμάτων Μειονεκτήματα - Cons Δεν μπορεί να χειριστεί περίπλοκες σχέσεις μεταξύ των γνωρισμάτων Απλά όρια απόφασης (decision boundaries) Προβλήματα όταν λείπουν πολλά δεδομένα
Πρακτικά ζητήματα στην Ταξινόμηση
Πρακτικά ζητήματα στην Ταξινόμηση Υπο-προσαρμογή (Underfitting) και υπέρ-προσαρμογή (Overfitting) Εκτίμηση λάθους Ελλιπή δεδομένα (Missing Values) Κόστος ταξινόμησης (Costs of Classification)
Εκτίμηση του Λάθους Ως λάθος μετράμε τις εγγραφές που ο ταξινομητής τοποθετεί σε λάθος κλάση Λάθη Εκπαίδευσης (training, resubstitution, apparent): λάθη ταξινόμησης στα δεδομένα του συνόλου εκπαίδευσης (ποσοστό δεδομένων εκπαίδευσης που ταξινομούνται σε λάθος κλάση) Γενίκευσης (generalization): τα αναμενόμενα λάθη ταξινόμησης του μοντέλου σε δεδομένα που δεν έχει δει
Λάθη και στα δεδομένα εκπαίδευσης, γιατί χρησιμοποιούμε την πλειοψηφία των εγγραφών σε ένα φύλλο για να αποδώσουμε κλάση Εκτίμηση του Λάθους Πλειοψηφία στην + Άρα 1 έγγραφή λάθος Πλειοψηφία στην - Άρα 3 εγγραφές λάθος Παράδειγμα δύο δέντρων για τα ίδια δεδομένα εκπαίδευσης Με βάση το λάθος εκπαίδευσης Αριστερό 4/24 = 0.167 Δεξί: 6/24 = 0.25
Overfitting Overfitting Μπορεί ένα μοντέλο που ταιριάζει πολύ καλά με τα δεδομένα εκπαίδευσης να έχει μεγαλύτερο λάθος γενίκευσης από ένα μοντέλο που ταιριάζει λιγότερο καλά στα δεδομένα εκπαίδευσης
Underfitting καιoverfitting (Παράδειγμα) Δύο κλάσεις: κλάση 1 (500 κυκλικά σημεία) και κλάση 2 (500 τριγωνικά σημεία) Για τα σημεία της κλάσης 1 (κυκλικά σημεία): 0.5 sqrt(x 12 +x 22 ) 1 Για τα σημεία της κλάσης 2 (τριγωνικά σημεία): sqrt(x 12 +x 22 ) > 0.5 or sqrt(x 12 +x 22 ) < 1
Underfitting: όταν το μοντέλο είναι πολύ απλό, τόσο το σφάλμα εκπαίδευσης όσο και το σφάλμα ελέγχου είναι μεγάλα Underfitting και Overfitting Overfitting Το δέντρο απόφασης για το προηγούμενα δεδομένα 30% εκπαίδευση 70% έλεγχο Gini Στη συνέχεια, pruning
Overfitting Μπορούμε να διασπάμε το δέντρο μέχρι να φτάσουμε στο σημείο κάθε φύλλο να ταιριάζει απολύτως στα δεδομένα Μικρό (μηδενικό) λάθος εκπαίδευσης Μεγάλο λάθος ελέγχου Και το ανάποδο, μπορεί επίσης να ισχύει Δέντρα απόφασης με διαφορετική πολυπλοκότητα
Υπερπροσαρμογή λόγω Θορύβου Η διαχωριστική επιφάνεια «παραμορφώνεται» λόγω ενός εσφαλμένου σημείου
Υπερπροσαρμογή λόγω έλλειψης παραδειγμάτων Κόκκινοι κύκλοι ανήκουν στην ίδια κλάση Οι γεμάτοι είναι στο σύνολο εκπαίδευσης, οι άδειοι στο σύνολο ελέγχου Η έλλειψη παραδειγμάτων (κόκκινων σημείων) στο κάτω μισό του διαγράμματος κάνει δύσκολη την σωστή ταξινόμηση σε αυτή την περιοχή - Στην περίπτωση ενός δέντρου απόφασης αυτή η έλλειψη μπορεί να οδηγήσει στη χρήση άσχετων με το συγκεκριμένο πρόβλημα χαρακτηριστικών για την πραγματοποίηση της ταξινόμησης για τα σημεία αυτής της περιοχής
Σχετικά με την υπερπροσαρμογή Η υπερπροσαρμογή οδηγεί συνήθως σε μοντέλα τα οποία είναι πιο πολύπλοκα από το «ιδανικό» Το σφάλμα εκπαίδευσης δεν παρέχει πλέον μια καλή εκτίμηση για την απόδοση του ταξινομητή σε παραδείγματα που δεν έχει «δει» προηγουμένως Απαιτούνται νέοι τρόποι για την εκτίμηση του σφάλματος
Overfitting Πρόβλημα λόγω πολλαπλών επιλογών - Επειδή σε κάθε βήμα εξετάζουμε πάρα πολλές διαφορετικές διασπάσεις, - κάποια διάσπαση βελτιώνει το δέντρο κατά τύχη Το πρόβλημα χειροτερεύει όταν αυξάνει ο αριθμός των επιλογών και μειώνεται ο αριθμός των δειγμάτων
Overfitting Το οverfitting έχει ως αποτέλεσμα δέντρα απόφασης που είναι πιο περίπλοκα από ό,τι χρειάζεται Τα λάθη εκπαίδευσης δεν αποτελούν πια μια καλή εκτίμηση για τη συμπεριφορά του δέντρου σε εγγραφές που δεν έχει δει ξανά Νέοι μέθοδοι για την εκτίμηση του λάθους
Αντιμετώπιση Overfitting Δύο βασικές προσεγγίσεις: Pre-pruning Σταμάτημα της ανάπτυξης του δέντρου μετά από κάποιο σημείο Post-pruning Η κατασκευή του δέντρου χωρίζεται σε δύο φάσεις: 1. Φάση Ανάπτυξης 2. Φάση Ψαλιδίσματος
Αντιμετώπιση Overfitting Pre-Pruning (Early Stopping Rule) Σταμάτα τον αλγόριθμο πριν σχηματιστεί ένα πλήρες δέντρο Συνήθεις συνθήκες τερματισμού για έναν κόμβο: Σταμάτα όταν όλες οι εγγραφές ανήκουν στην ίδια κλάση Σταμάτα όταν όλες οι τιμές των γνωρισμάτων είναι οι ίδιες Πιο περιοριστικές συνθήκες: Σταμάτα όταν ο αριθμός των εγγραφών είναι μικρότερος από κάποιο προκαθορισμένο κατώφλι Σταμάτα όταν η επέκταση ενός κόμβου δεν βελτιώνει την καθαρότητα (π.χ., Gini ή information gain) ή το λάθος γενίκευσης περισσότερο από κάποιο κατώφλι. (-) δύσκολος ο καθορισμός του κατωφλιού, (-) αν και το κέρδος μικρό, επόμενοι διαχωρισμοί μπορεί να καταλήξουν σε καλύτερα δέντρα
Έλεγχος της υπερπροσαρμογής στην περίπτωση δέντρων Εκ των υστέρων κλάδεμα (Post-pruning) Δημιουργούμε ένα πλήρες δέντρο Αποκόπτουμε κόμβους από κάτω προς τα πάνω (bottom-up) Εάν το σφάλμα γενίκευσης αυξάνει μετά από το κλάδεμα, αντικατέστησε το υπο-δέντρο με ένα κόμβο φύλλο. Η ετικέτα της κατηγορίας για το συγκεκριμένο κόμβο φύλλο καθορίζεται από την πλειοψηφούσα κατηγορία του υποδέντρου (που αντικαταστάθηκε)
Εκτίμηση του Λάθους Ταξινόμησης Εκτίμηση Λάθους Γενίκευσης Ως λάθος μετράμε τις εγγραφές που ο ταξινομητής τοποθετεί σε λάθος κλάση Χρήση Δεδομένων Εκπαίδευσης αισιόδοξη εκτίμηση απαισιόδοξη εκτίμηση 3. Χρήση Δεδομένων Ελέγχου
Εκτίμηση του Λάθους Γενίκευσης Re-substitution errors: Λάθος στην εκπαίδευση ( e(t) ) Generalization errors: Λάθος στον έλεγχο ( e (t)) Ως λάθος μετράμε το ποσοστό των εγγραφών που ο ταξινομητής τοποθετεί σε λάθος κλάση Μέθοδοι εκτίμησης του λάθους γενίκευσης: 1. Optimistic approach Αισιόδοξη προσέγγιση: e (t) = e(t)
Εκτίμηση του Λάθους Γενίκευσης Πλειοψηφία στην + Άρα 1 έγγραφή λάθος Πλειοψηφία στην - Άρα 3 εγγραφές λάθος Παράδειγμα δύο δέντρων για τα ίδια δεδομένα Το δέντρο στο δεξί (T R ) μετά από ψαλίδισμα του δέντρου στα αριστερά (T Με βάση το λάθος εκπαίδευσης L ) sub-tree raising Αριστερό 4/24 = 0.167 Δεξί: 6/24 = 0.25
Συνεπώς, θα πρέπει να περιλαμβάνεται και η πολυπλοκότητα του μοντέλου όταν εκτιμάμε ένα μοντέλο Το ξυράφι του Occam (Occam s Razor) Δεδομένου δύο μοντέλων με παρόμοιο σφάλμα γενίκευσης (generalization errors), πρέπει να προτιμάμε το πιο απλό μοντέλο από τα δύο Για πολύπλοκα μοντέλα, υπάρχει μεγαλύτερη πιθανότητα να έχει προσαρμοστεί λανθασμένα σε εσφαλμένες καταγραφές
Εκτίμηση/αποτίμηση των μοντέλων Model Evaluation Μέτρα για την εκτίμηση της απόδοσης (Metrics for Performance Evaluation) Πώς εκτιμούμε την απόδοση ενός μοντέλου? Μέθοδοι για την εκτίμηση της απόδοσης (Methods for Performance Evaluation) Πώς θα πάρουμε αξιόπιστες εκτιμήσεις? Μέθοδοι για την σύγκριση των μοντέλων Πώς θα συγκρίνουμε την σχετική απόδοση ανάμεσα στα υποψήφια μοντέλα?
Εκτίμηση του Λάθους Γενίκευσης 2. Pessimistic approach - Απαισιόδοξη προσέγγιση: k: αριθμός φύλλων, για κάθε φύλλο t i προσθέτουμε ένα κόστος V(t i ) e'( T ) k i 1 [ e( t ) V ( t )] k i i 1 n( t ) Aν για κάθε φύλλο t,v(t) = 0.5: e (t) = e(t) + 0.5 Συνολικό λάθος: e (T) = e(t) + k 0.5 (k: αριθμός φύλλων) Το 0.5 σημαίνει ότι διαχωρισμός ενός κόμβου δικαιολογείται αν βελτιώνει τουλάχιστον μία εγγραφή Για ένα δέντρο με 30 φύλλα και 10 λάθη στο σύνολο εκπαίδευσης (από σύνολο 1000 εγγραφών): Training error = 10/1000 = 1% Generalization error = (10 + 30 0.5)/1000 = 2.5% i i
Εκτίμηση του Λάθους Γενίκευσης Παράδειγμα δύο δέντρων για τα ίδια δεδομένα Με βάση το λάθος εκπαίδευσης Αριστερό (4 + 7*0.5)/24 = 0.3125 Δεξί: (6 + 4*0.5)/24 = 0.3333 Αν αντί για 0.5, κάτι μεγαλύτερο;
Overfitting Παράδειγμα Post-Pruning Λάθος εκπαίδευσης (Πριν τη διάσπαση) = 10/30 Class = Yes 20 Class = No 10 Error = 10/30 A1 A? A4 Απαισιόδοξο λάθος = (10 + 0.5)/30 = 10.5/30 Λάθος εκπαίδευσης (Μετά τη διάσπαση) = 9/30 Απαισιόδοξο λάθος (Μετά τη διάσπαση) A2 A3 = (9 + 4 0.5)/30 = 11/30 PRUNE! Class = Yes 8 Class = No 4 Class = Yes 4 Class = No 1 Class = Yes 5 Class = No 1 Class = Yes 3 Class = No 4
Εκτίμηση του Λάθους Γενίκευσης 3. Reduced error pruning (REP): χρήση ενός συνόλου επαλήθευσης για την εκτίμηση του λάθους γενίκευσης Χώρισε τα δεδομένα εκπαίδευσης: 2/3 εκπαίδευση 1/3 (σύνολο επαλήθευσης validation set) για υπολογισμό λάθους Χρήση για εύρεση του κατάλληλου μοντέλου
Παράδειγμα post-pruning Overfitting Αισιόδοξη προσέγγιση? Όχι διάσπαση Απαισιόδοξη προσέγγιση? Case 1: C0: 11 C1: 3 C0: 2 C1: 4 όχι case 1, ναι case 2 REP? Εξαρτάται από το σύνολο επαλήθευσης Case 2: C0: 14 C1: 3 C0: 2 C1: 2
Τιμές που λείπουν Οι τιμές που λείπουν (missing values) επηρεάζουν την κατασκευή του δέντρου με τρεις τρόπους: Πως υπολογίζονται τα μέτρα καθαρότητας Πως κατανέμονται στα φύλλα οι εγγραφές με τιμές που λείπουν Πως ταξινομείται μια εγγραφή εκπαίδευσης στην οποία λείπει μια τιμή
10 Τιμές που λείπουν Tid Refund Marital Status Taxable Income Class 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10? Single 90K Yes Missing value Υπολογισμό μέτρων καθαρότητας Πριν τη διάσπαση: Entropy(Parent) = -0.3 log(0.3)-(0.7)log(0.7) = 0.8813 Κόμβος 1 Κόμβος 2 Class Class = Yes = No Refund=Yes 0 3 Refund=No 2 4 Refund=? 1 0 Διάσπαση στο Refund: Entropy(Refund=Yes) = 0 Entropy(Refund=No) = -(2/6)log(2/6) (4/6)log(4/6) = 0.9183 Entropy(Children) = 0.3 (0) + 0.6 (0.9183) = 0.551 Gain = 0.9 (0.8813 0.551) = 0.3303 0 3 3 7 2 4
10 10 Tid Refund Marital Status Taxable Income Class 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No Τιμές που λείπουν Tid Refund Marital Status Taxable Income Class 10? Single 90K Yes Σε ποιο φύλλο; Πιθανότητα Refund=Yes is 3/9 (3 από τις 9 εγγραφές έχουν refund=yes) Πιθανότητα Refund=No is 6/9 Aνάθεση εγγραφής στο αριστερό παιδί με βάρος 3/9 και στο δεξί παιδί με βάρος 6/9 Yes Refund No Yes Refund No Class=Yes 0 Class=No 3 Class=Yes 2 Class=No 4 Class=Yes 0 + 3/9 Class=No 3 Class=Yes 2 + 6/9 Class=No 4
10 Τιμές που λείπουν Νέα εγγραφή Married Single Divorced Total Tid Refund Marital Status Taxable Income Class Class=No 3 1 0 4 11 No? 85K? Class=Yes 6/9 1 1 2.67 Yes NO NO Refund Single, Divorced No TaxInc MarSt < 80K > 80K YES Married NO Total 3.67 2 1 6.67 Πιθανότητα οικογενειακή κατάσταση (MarSt) = Married is 3.67/6.67 Πιθανότητα οικογενειακή κατάσταση (MarSt) ={Single,Divorced} is 3/6.67
Αποτίμηση Μοντέλου
Αποτίμηση Μοντέλου Επιλογή Μοντέλου (model selection): το μοντέλο που έχει την απαιτούμενη πολυπλοκότητα χρησιμοποιώντας την εκτίμηση του λάθους γενίκευσης Αφού κατασκευαστεί μπορεί να χρησιμοποιηθεί στα δεδομένα ελέγχου για να προβλέψει σε ποιες κλάσεις ανήκουν Για να γίνει αυτό πρέπει να ξέρουμε τις κλάσεις των δεδομένων ελέγχου
Αποτίμηση Μοντέλου Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Τι θα μετρήσουμε Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Πως θα το μετρήσουμε Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων Ισχύουν για όλα τα μοντέλα ταξινόμησης
Μέτρα Εκτίμησης Αφού κατασκευαστεί ένα μοντέλο, θα θέλαμε να αξιολογήσουμε/εκτιμήσουμε την ποιότητα του/την ακρίβεια της ταξινόμησης που πετυχαίνει Έμφαση στην ικανότητα πρόβλεψης του μοντέλου παρά στην αποδοτικότητα του (πόσο γρήγορα κατασκευάζει το μοντέλο ή ταξινομεί μια εγγραφή, κλιμάκωση κλπ.)
Μέτρα για την απόδοση της εκτίμησης Επικεντρώνονται στην προβλεπτική ικανότητα ενός μοντέλου Αντί να επικεντρωθούμε στο πόσο γρήγορα ταξινομεί ή χτίζει ένα μοντέλο, εάν κλιμακώνεται γραμμικά κτλ. Πίνακας (μήτρα) σύγχυσης Confusion Matrix: πρόβλεψη PREDICTED CLASS πραγματική ACTUAL CLASS Class=Yes Class=No Class=Yes f 11 TP f 10 FN Class=No f 01 FP f 00 TN TP (true positive) f 11 FN (false negative) f 10 FP (false positive) f 01 TN (true negative) f 00 f ij : αριθμός των εγγραφών της κλάσης i που προβλέπονται ως κλάση j
Μέτρα για την απόδοση της εκτίμησης Πιστότητα - Accuracy Πιστότητα (ακρίβεια;) (accuracy) Το πιο συνηθισμένο μέτρο ACTUAL CLASS PREDICTED CLASS Class=Yes Class=No Class=Yes TP FN Class=No FP TN Accuracy f 11 f f 11 00 f f 00 01 f 10 TP TN TP TN FP FN = 0 Λόγος Λάθους Error rate f 11 f f 01 00 f f 10 01 f 10 ErrorRate(C) = 1 Accuracy(C)
Πίνακας σύγχυσης Άλλα Μέτρα Εκτίμησης πέραν της Πιστότητας PREDICTED CLASS Class=Yes Class=No ACTUAL CLASS Class=Yes TP FN Class=No FP TN Πιστότητα (accuracy) -- υπενθύμιση -- Accuracy f 11 f f 11 00 f f 00 01 f 10 TP TN TP TN FP FN Λόγος Λάθους Error rate f 11 f f 01 00 f f 10 01 f 10
Περιορισμοί από τη χρήση της ακρίβειας Έστω ένα πρόβλημα με 2 κατηγορίες Παραδείγματα από την κατηγορία 0 = 9990 Παραδείγματα από την κατηγορία 1 = 10 Εάν ένα μοντέλο προβλέπει ότι κάθε τι ανήκει στην κατηγορία 0, η ακρίβεια είναι 9990/10000 = 99.9 % Η ακρίβεια σε αυτή την περίπτωση είναι παραπλανητική γιατί το μοντέλο αποτυγχάνει να ανιχνεύσει οποιοδήποτε από τα παραδείγματα που ανήκουν στην κατηγορία 1
ACTUAL CLASS Πίνακας Κόστους PREDICTED CLASS C(i j) Class = + Class = - Class = + C(+, +) C(+, -) Class = - C(-, +) C(-, -) Μέτρα Εκτίμησης C(i j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j βάρος ACTUAL CLASS PREDICTED CLASS C(i j) Class = + Class = - Class = + TP F 11 FN F 10 Class = - FP F 01 TN F 00 Αρνητική τιμή κόστους σημαίνει επιπρόσθετη «επιβράβευση» σωστής πρόβλεψης C(M) = TP x C(+, +) + FN x C(+, -) + FP C(-, +) + TN C(-, -) Στα προηγούμενα, είχαμε C(+, +) = C(-, -) = 0 -> όχι επιβράβευση C(+, -) = C(-, +) = 1 -> κάθε λάθος μετρά 1
Μέτρα Εκτίμησης Υπολογισμός του Κόστους της Ταξινόμησης Model M 1 ACTUAL CLASS Cost Matrix ACTUAL CLASS PREDICTED CLASS + - + 150 40-60 250 Accuracy = 80% Cost = 3910 PREDICTED CLASS C(i j) + - + -1 100-1 0 Model M 2 ACTUAL CLASS PREDICTED CLASS + - + 250 45-5 200 Accuracy = 90% Cost = 4255 C(i j): κόστος λανθασμένης ταξινόμησης ενός παραδείγματος της κλάσης i ως κλάση j
Μέτρα Εκτίμησης Ταξινόμηση που λαμβάνει υπό όψιν της το κόστος Κατασκευή Δέντρου Ταξινόμησης Επιλογή γνωρίσματος στο οποίο θα γίνει η διάσπαση Στην απόφαση αν θα ψαλιδιστεί κάποιο υποδέντρο Στον καθορισμό της κλάσης του φύλλου
Μέτρα Εκτίμησης Καθορισμός κλάσης Κανονικά, ως ετικέτα ενός φύλλου την πλειοψηφούσα κλάση, Έστω p(j) τον ποσοστό των εγγραφών του κόμβου που ανήκουν στην κλάση j Τότε, Leaf-label = max p(j), το ποσοστό των εγγραφών της κλάσης j που έχουν ανατεθεί στον κόμβο Τώρα, δίνουμε την κλάση i στον κόμβο που έχει το ελάχιστο: j p ( j) C( j, i) Για όλες τις κλάσεις
Μέτρα Εκτίμησης Έστω 2 κλάσεις: + και - Αν όχι κόστος, ετικέτα +, ανν, p(+) > 0.5 Τώρα, αυτήν με το μικρότερο κόστος: κόστος της κλάσης - : p(+) x C(+, +) + p(+) x C(+, -) κόστος της κλάσης + : p(-) x C(-, -) + p(-) x C(-, +) Αν C(-, -) = C(+, +) = 0 (όχι κόστος (επιβράβευση) στα σωστά) Δίνουμε +, αν p(+) C(+, -) > p(-) x C(-, +) => p( ) C(, ) C(, ) C(, ) p(-) = 1 p(+) Αν C(-, +) < C(+, -), τότε λιγότερο του 0.5
Κόστος εναντίον Ακρίβειας Count ACTUAL CLASS PREDICTED CLASS Class=Yes Class=No Class=Yes a b Class=No c d Η ακρίβεια είναι ανάλογη του κόστους εάν 1. C(Yes No)=C(No Yes) = q 2. C(Yes Yes)=C(No No) = p N = a + b + c + d Accuracy = (a + d)/n Cost ACTUAL CLASS PREDICTED CLASS Class=Yes Class=No Class=Yes p q Class=No q p Cost = p (a + d) + q (b + c) = p (a + d) + q (N a d) = q N (q p)(a + d) = N [q (q-p) Accuracy]
Μέτρα Εκτίμησης Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης ACTUAL CLASS PREDICTED CLASS Class=Yes Class=No Class=Yes TP FN Class=No FP TN True positive rate or sensitivity: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται σωστά TPR TP TP FN True negative rate or specificity: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται σωστά TNR TN TN FP
Μέτρα Εκτίμησης Άλλες μετρήσεις με βάση τον πίνακα σύγχυσης ACTUAL CLASS PREDICTED CLASS Class=Yes Class=No Class=Yes TP FN Class=No FP TN False positive rate: Το ποσοστό των αρνητικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως θετικά) FPR FP TN FP False negative rate: Το ποσοστό των θετικών παραδειγμάτων που ταξινομούνται λάθος (δηλαδή, ως αρνητικά) FNR FN TP FN
Άλλα μέτρα a Precision (p) a c a Recall (r) a b 2rp F - measure (F) r p 2a 2a b c Weighted Accuracy w a 1 w a 1 w b 2 w d 4 w c 3 w d 4
Μέτρα Εκτίμησης Recall (ανάκληση) Precision (ακρίβεια) Precision Recall ACTUAL CLASS TP p TP FP TP r TP FN PREDICTED CLASS Class=Yes Class=No Class=Yes TP FN Class=No FP TN Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Όσο πιο μεγάλη η ακρίβεια, τόσο μικρότερος o αριθμός των FP Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Όσο πιο μεγάλη η ανάκληση, τόσο λιγότερα θετικά παραδείγματα έχουν ταξινομεί λάθος (=TPR)
Μέτρα Εκτίμησης Recall (ανάκληση) Precision (ακρίβεια) Precision Recall TP p TP FP TP r TP FN Πόσα από τα παραδείγματα που ο ταξινομητής έχει ταξινομήσει ως θετικά είναι πραγματικά θετικά Πόσα από τα θετικά παραδείγματα κατάφερε ο ταξινομητής να βρει Συχνά το ένα καλό και το άλλο όχι Πχ, ένας ταξινομητής που όλα τα ταξινομεί ως θετικά, την καλύτερη ανάκληση με τη χειρότερη ακρίβεια Πώς να τα συνδυάσουμε;
Μέτρα Εκτίμησης F 1 measure F 1 2rp r p 2TP 2TP FP FN F 1 1/ 2 r 1/ p Αρμονικό μέσο (Harmonic mean) Τείνει να είναι πιο κοντά στο μικρότερο από τα δύο Υψηλή τιμή σημαίνει ότι και τα δύο είναι ικανοποιητικά μεγάλα
Μέτρα Εκτίμησης Αρμονικά, Γεωμετρικά και Αριθμητικά Μέσα Παράδειγμα α=1, b=5
TP Precision (p) TP FP TP Recall (r) TP FN 2rp F - measure (F) r p 2TP 2TP FN FP Μέτρα Εκτίμησης Precision - C(Yes Yes) & C(Yes No) Recall - C(Yes Yes) & C(No Yes) F-measure όλα εκτός του C(No No) Weighted Accuracy w1tp w4tn w TP w FP w FN 1 2 3 w TN 4 w1 w2 w3 w4 Recall 1 1 0 0 Precision 1 0 1 1 F1 2 1 1 0 Accuracy 1 1 1 1
Αποτίμηση Μοντέλου Μπορούμε να χρησιμοποιήσουμε τα λάθη εκπαίδευσης/γενίκευσης (αισιόδοξη ή απαισιόδοξη προσέγγιση) Δεν είναι κατάλληλα γιατί βασίζονται στα δεδομένα εκπαίδευσης μόνο Συνήθως, σύνολο ελέγχου
Μέθοδοι για την εκτίμηση της απόδοσης Πώς θα πάρουμε μία αξιόπιστη εκτίμηση της απόδοσης? Η απόδοση ενός μοντέλου μπορεί να εξαρτάται και από άλλους παράγοντες πέρα από τον αλγόριθμο εκπαίδευσης : Την κατανομή των παραδειγμάτων Το κόστος εσφαλμένης ταξινόμησης Το μέγεθος των συνόλων ελέγχου και εκπαίδευσης
Μέθοδοι εκτίμησης Holdout Κρατάμε τα 2/3 των παραδειγμάτων για εκπαίδευση και το 1/3 για έλεγχο Τυχαία υποδειγματοληψία (Random subsampling) Repeated holdout Cross validation Χωρισμός των δεδομένων σε k μη επικαλυπτόμενα υποσύνολα (disjoint subsets) k-fold: εκπαιδεύουμε χρησιμοποιώντας τα k-1 υποσύνολα, κάνουμε έλεγχο χρησιμοποιώντας το ένα που δεν χρησιμοποιήσαμε Leave-one-out: k=n Bootstrap Δειγματοληψία με επανατοποθέτηση (Sampling with replacement)
Μέθοδοι Αποτίμησης Μοντέλου Μέθοδος Holdout Διαμέριση του αρχικού συνόλου σε δύο ξένα σύνολα: Εγγραφές που χρησιμοποιούνται για την κατασκευή του μοντέλου Σύνολο εκπαίδευσης (2/3) Σύνολο Ελέγχου (1/3) Κατασκευή μοντέλου με βάση το σύνολο εκπαίδευσης Αρχικό σύνολο εγγραφών για το οποίο γνωρίζουμε την κλάση τους Εγγραφές που χρησιμοποιούνται για τον έλεγχο του μοντέλου Αποτίμηση μοντέλου με βάση το σύνολο ελέγχου
Μέθοδοι Αποτίμησης Μοντέλου Μέθοδος Holdout (-) Λιγότερες εγγραφές για εκπαίδευση πιθανόν όχι τόσο καλό μοντέλο, όσο αν χρησιμοποιούνταν όλες (-) Το μοντέλο εξαρτάται από τη σύνθεση των συνόλων εκπαίδευσης και ελέγχου όσο μικρότερο το σύνολο εκπαίδευσης, τόσο μεγαλύτερη η variance του μοντέλου όσο μεγαλύτερο το σύνολο εκπαίδευσης, τόσο λιγότερο αξιόπιστη η πιστότητα του μοντέλου που υπολογίζεται με το σύνολο ελέγχου wide confidence interval (-) Τα σύνολα ελέγχου και εκπαίδευσης δεν είναι ανεξάρτητα μεταξύ τους (υποσύνολα του ίδιου συνόλου - πχ μια κλάση που έχει πολλά δείγματα στο ένα, θα έχει λίγα στο άλλο και το ανάποδο)
Μέθοδοι Αποτίμησης Μοντέλου Τυχαία Λήψη Δειγμάτων Random Subsampling Επανάληψη της μεθόδου για τη βελτίωσή της έστω k επαναλήψεις, παίρνουμε το μέσο όρο της ακρίβειας (-) Πάλι αφαιρούμε δεδομένα από το σύνολο εκπαίδευσης (-) Ένα ακόμα πρόβλημα είναι ότι μια εγγραφή μπορεί να χρησιμοποιείται (επιλέγεται) ως εγγραφή εκπαίδευσης πιο συχνά από κάποια άλλη
Μέθοδοι Αποτίμησης Μοντέλου Cross validation Κάθε εγγραφή χρησιμοποιείται τον ίδιο αριθμό φορών στην εκπαίδευση και ακριβώς μια φορά για έλεγχο Διαμοίραση των δεδομένων σε k ίσα διαστήματα Κατασκευή του μοντέλου αφήνοντας κάθε φορά ένα διάστημα ως σύνολο ελέγχου και χρησιμοποιώντας όλα τα υπόλοιπα ως σύνολα εκπαίδευσης Επανάληψη k φορές 2-fold (δύο ίσα υποσύνολα, το ένα μια φορά για έλεγχο το άλλο για εκπαίδευση και μετά ανάποδα) Αν k = N, (Ν ο αριθμός των εγγραφών) leave-one-out
Μέθοδοι Αποτίμησης Μοντέλου Bootstrap Sample with replacement δειγματοληψία με επανένταξη Μια εγγραφή που επιλέχθηκε ως δεδομένο εκπαίδευσης, ξαναμπαίνει στο αρχικό σύνολο Οι υπόλοιπες εγγραφές (όσες δεν επιλεγούν στο σύνολο εκπαίδευσης) εγγραφές ελέγχου Αν Ν δεδομένα, ένα δείγμα Ν στοιχείων 63.2% των αρχικών Πιθανότητα ένα δεδομένο να επιλεγεί 1 (1-1/Ν) Ν Για μεγάλο Ν, η πιθανότητα επιλογής τείνει ασυμπτωτικά στο 1-e -1 = 0.632, πιθανότητα μη επιλογής 0.368.632 boostrap b: αριθμός επαναλήψεων acc boot 1 b b i 1 (0.6328* errortest acc s ακρίβεια όταν όλα τα δεδομένα ως σύνολο εκπαίδευσης i 0.368* acc ) s
Βελτίωση Απόδοσης Ensemble Methods Σύνολο Μεθόδων Κατασκευή ενός συνόλου από ταξινομητές από τα δεδομένα εκπαίδευσης C 1, C 2,. C t -> C* Υπολογισμός της κλάσης των δεδομένων συναθροίζοντας (aggregating) τις προβλέψεις των t ταξινομητών Πως: πχ με πλειοψηφικό σύστημα (Voting majority) Βήμα 1: Δημιουργία Πολλαπλών Συνόλων Δεδομένων Βήμα 2: Κατακσκευή Πολλαπλών Ταξινομητών Βήμα 3: Συνδυασμός Ταξινομητών D Aρχικά Δεδομένα εκπαίδευσης... D 1 D 2 D t-1 D t C 1 C 2 C t -1 C t C *
Βελτίωση Απόδοσης Έστω t = 25 βασικοί ταξινομητές Αν ο καθένας λάθος, = 0.35 Έστω ότι ανεξάρτητοι και μόνο 2 κλάσεις Πιθανότητα λανθασμένης πρόβλεψης του συνόλου: 25 i 13 25 i (1 ) i 25 i 0.06
Βελτίωση Απόδοσης Bagging (Bootstarp + Aggregation) Δειγματοληψία με επανένταξη (Sampling with replacement) Κατασκευή ταξινομητή για κάθε δείγμα Κάθε δείγμα έχει πιθανότητα (1 1/n) n να επιλεγεί Original Data 1 2 3 4 5 6 7 8 9 10 Bagging (Round 1) 7 8 10 8 2 5 10 10 5 9 Bagging (Round 2) 1 4 9 1 2 3 2 7 3 2 Bagging (Round 3) 1 8 5 10 5 5 9 6 3 7 Boosting Δε δίνουμε το ίδιο βάρος σε όλους τους ταξινομητές, αλλά παίρνουμε υπόψη μας την ακρίβειά τους -- C* βάρος με βάση την ακρίβεια του Βασική ιδέα: Έστω C i, o C i+1 μεγαλύτερο λάθος στις πλειάδες που ταξινόμησε λάθος ο C i Πως; «πειράζουμε» την πιθανότητα επιλογής τους στο σύνολο εκπαίδευσης σωστά, πιθανότητα επιλογής λάθος, πιθανότητα επιλογής +
Μέθοδοι Αποτίμησης Μοντέλου Πως μπορούμε να πάρουμε αξιόπιστες εκτιμήσεις της απόδοσης Η απόδοση ενός μοντέλου μπορεί να εξαρτάται από πολλούς παράγοντες εκτός του αλγορίθμου μάθησης: Κατανομή των κλάσεων Το κόστος της λανθασμένης ταξινόμησης Το μέγεθος του συνόλου εκπαίδευσης και του συνόλου ελέγχου
Καμπύλη Μάθησης (Learning Curve) Μέθοδοι Αποτίμησης Μοντέλου Η καμπύλη μάθησης δείχνει πως μεταβάλλεται η πιστότητα (accuracy) με την αύξηση του μεγέθους του δείγματος Επίδραση δείγματος μικρού μεγέθους: Bias in the estimate Variance of estimate
Αποτίμηση Μοντέλου: ROC ROC (Receiver Operating Characteristic Curve) Αναπτύχθηκε στη δεκαετία 1950 για την ανάλυση θορύβου στα σήματα Χαρακτηρίζει το trade-off μεταξύ positive hits και false alarms Η καμπύλη ROC δείχνει τα TPR [TruePositiveRate] (στον άξονα των y) προς τα FPR [FalsePositiveRate] (στον άξονα των x) Η απόδοση κάθε ταξινομητή αναπαρίσταται ως ένα σημείο στην καμπύλη ROC Πόσα από τα θετικά βρίσκει TP TPR TP FN FP FPR TN FP Πόσα από τα αρνητικά βρίσκει
Αποτίμηση Μοντέλου: ROC (TP,FP): (0,0): declare everything to be negative class (1,1): declare everything to be positive class (1,0): ideal Diagonal line: Random guessing Μια εγγραφή θεωρείται θετική με καθορισμένη πιθανότητα p ανεξάρτητα από τις τιμές των γνωρισμάτων της TPR TP TP FN FP FPR TN FP
Αποτίμηση Μοντέλου: ROC Καλοί ταξινομητές κοντά στην αριστερή πάνω γωνία του διαγράμματος Κάτω από τη διαγώνιο Πρόβλεψη είναι το αντίθετο της πραγματικής κλάσης TPR TP TP FN FP FPR TN FP
Αποτίμηση Μοντέλου: ROC Σύγκριση δύο μοντέλων Κανένα μοντέλο δεν είναι πάντα καλύτερο του άλλου M 1 καλύτερο για μικρό FPR M 2 καλύτερο για μεγάλο FPR Η περιοχή κάτω από την καμπύλη ROC Ideal: Area = 1 Random guess: Area = 0.5
Αποτίμηση Μοντέλου Μέτρα (metrics) για την εκτίμηση της απόδοσης του μοντέλου Πως να εκτιμήσουμε την απόδοση ενός μοντέλου Μέθοδοι για την εκτίμηση της απόδοσης Πως μπορούνε να πάρουμε αξιόπιστες εκτιμήσεις Μέθοδοι για την σύγκριση μοντέλων Πως να συγκρίνουμε τη σχετική απόδοση δύο ανταγωνιστικών μοντέλων
Αποτίμηση Μοντέλου Έλεγχος Σημαντικότητας (Test of Significance) Έστω δύο μοντέλα: Μοντέλο M1: ακρίβεια = 85%, έλεγχος σε 30 εγγραφές Μοντέλο M2: ακρίβεια = 75%, έλεγχος σε 5000 εγγραφές Είναι το Μ1 καλύτερο από το Μ2; Πόση εμπιστοσύνη (confidence) μπορούμε να έχουμε για την πιστότητα του Μ1 και πόση για την πιστότητα του Μ2; Μπορεί η διαφορά στην απόδοση να αποδοθεί σε τυχαία διακύμανση του συνόλου ελέγχου;
Αποτίμηση Μοντέλου Διάστημα Εμπιστοσύνης για την Ακρίβεια (Confidence Interval) Η πρόβλεψη μπορεί να θεωρηθεί σε ένα πείραμα Bernoulli Ένα Bernoulli πείραμα έχει δύο πιθανά αποτελέσματα Πιθανά αποτελέσματα πρόβλεψης: σωστό ή λάθος Μια συλλογή από πειράματα έχει δυωνυμική κατανομή Binomial distribution: x Bin(N, p) x: αριθμός σωστών προβλέψεων Πχ: ρίξιμο τίμιου νομίσματος (κορώνα/γράμματα) 50 φορές, αριθμός κεφαλών; Expected number of heads = N p = 50 0.5 = 25 Δοθέντος του x (# σωστών προβλέψεων) ή ισοδύναμα, acc=x/n, και του N (# εγγραφών ελέγχου), Μπορούμε να προβλέψουμε το p (την πραγματική πιστότητα του μοντέλο);
Αποτίμηση Μοντέλου Για μεγάλα σύνολα ελέγχου (N > 30), acc έχει κανονική κατανομή με μέσο mean p and variance p(1-p)/n Area = 1 - P acc p 1 / ) 1 p(1 p) / N ( Z / 2 Z 2 Confidence Interval for p (Διάστημα εμπιστοσύνης για το p): Z /2 Z 1- /2 2 N acc Z 2 / 2 Z 2 / 2 2( N Z 4 N acc 4 N acc 2 / 2 ) 2