Μέθοδοι εκμάθησης ταξινομητών από θετικά παραδείγματα με αριθμητικά χαρακτηριστικά Νικόλαος Α. Τρογκάνης Διπλωματική Εργασία
Αντικείμενο Μελέτη και ανάπτυξη μεθόδων από τον χώρο της μηχανικής μάθησης για την εκμάθηση ταξινομητών από ταξινομημένα παραδείγματα της μιας κλάσης (θετικά παραδείγματα) Πειραματική αξιολόγηση της αποτελεσματικότητας των μεθόδων σε μια ποικιλία σωμάτων εκπαίδευσης
Διάρθρωση της παρουσίασης Μηχανική μάθηση Ταξινόμηση Κατηγορίες μάθησης Μάθηση από θετικά και μη ταξινομημένα παραδείγματα Αλγόριθμοι Πειραματικά αποτελέσματα ECML-PKDD 2006 Discovery Challenge
Μηχανική μάθηση Ένα πρόγραμμα μαθαίνει από την υπάρχουσα εμπειρία Ε σε σχέση με κάποια εργασία Τ που πρέπει να επιτελέσει και με κάποιο μέτρο απόδοσης Ρ, όταν η απόδοσή του στην εργασία Τ, όπως μετριέται από το Ρ, βελτιώνεται από την εμπειρία Ε.
Ταξινόμηση Το πρόβλημα της ταξινόμησης (classification) συνιστάται στην εκμάθηση μιας συνάρτησης στόχου ικανής να αντιστοιχεί άγνωστα αντικείμενα σε προκαθορισμένο σύνολο κατηγοριών. Στόχος της διαδικασίας μάθησης είναι η δημιουργία ενός μοντέλου πρόβλεψης της μη παρατηρούμενης ιδιότητας που είναι το διακριτικό (όνομα/τιμή) της κατηγορίας ενός αγνώστου αντικειμένου, βάσει των τιμών των χαρακτηριστικών που το προσδιορίζουν.
Κατηγορίες μάθησης Μάθηση με πλήρη επίβλεψη (supervised learning) Παραδοσιακή μάθηση Περιγραφή έννοιας Μάθηση με μερική επίβλεψη (semi-supervised learning) Μάθηση από ένα μικρό σύνολο ταξινομημένων παραδειγμάτων και ένα μεγάλο μη ταξινομημένων Μάθηση από θετικά και μη ταξινομημένα παραδείγματα Μάθηση χωρίς επίβλεψη (unsupervised learning)
Μάθηση από θετικά και μη ταξινομημένα παραδείγματα Πρόβλημα Θετικά παραδείγματα: Έχουμε ένα σύνολο από παραδείγματα μιας κλάσης P Μη ταξινομημένα παραδείγματα: Έχουμε ένα σύνολο U από μη ταξινομημένα παραδείγματα με στιγμιότυπα από την P και όχι P (αρνητικά παραδείγματα) Κατασκεύασε έναν ταξινομητή να ταξινομήσει τα παραδείγματα στο U και/ή μελλοντικά δεδομένα δοκιμής Κύριο χαρακτηριστικό του προβλήματος: δεν υπάρχουν ταξινομημένα αρνητικά δεδομένα εκπαίδευσης Αλγόριθμοι Αλγόριθμοι 2 βημάτων Naive Bayes Positive Biased-SVM
Εφαρμογές του προβλήματος Σε προβλήματα ταξινόμησης που έχουμε στην διάθεση μας μόνο παραδείγματα από την κατηγορία που μας ενδιαφέρει, και ταυτόχρονα δεν μπορούμε να αποκομίσουμε αρνητικά παραδείγματα χωρίς να πληρώσουμε κάποιο επιπρόσθετο κόστος. Π.χ.: Χρησιμοποιώντας τις αγαπημένες ιστοσελίδες ενός χρήστη να αναγνωρίσουμε ενδιαφέρουσες ιστοσελίδες για αυτόν Μάρκετινγκ: αναγνώριση μελλοντικών πελατών μιας εταιρείας από το προφίλ τους
Αλγόριθμοι 2 βημάτων Βήμα 1: Αναγνώρισε ένα σύνολο παραδειγμάτων από τα μη ταξινομημένα τα οποία με μεγάλη πιθανότητα μπορούν να χαρακτηριστούν αρνητικά (reliable negative). Βήμα 2: Χτίσε μια ακολουθία ταξινομητών εφαρμόζοντας επαναληπτικά έναν αλγόριθμο ταξινόμησης και επέλεξε ένα καλό ταξινομητή από αυτούς. Τα δύο βήματα μαζί σχηματίζουν μια επαναληπτική στρατηγική να αυξήσουν τον αριθμό των μη ταξινομημένων παραδειγμάτων που θα ταξινομηθούν ως αρνητικά, ενώ ταυτόχρονα να διατηρήσουν τα θετικά σωστά ταξινομημένα. Το τελευταίο έχει αποδειχθεί ότι είναι ισοδύναμο με το να οδηγηθούμε σε καλό ταξινομητή.
Αλγόριθμοι 2 βημάτων Βήμα 1: S-EM: τεχνική κατασκόπων PEBL: αλγόριθμος 1-DNF Roc-SVM: αλγόριθμος Rocchio Βήμα 2: S-EM: αλγόριθμος μεγιστοποίησης προσδοκίας (Expectation Maximization) με μηχανισμό για την επιλογή του ταξινομητή βασισμένο στα σφάλματα PEBL: αλγόριθμος SVM Roc-SVM: αλγόριθμος SVM με μια ευριστική μέθοδο για την επιλογή του τελικού ταξινομητή
Αλγόριθμοι Μάθηση με πλήρη επίβλεψη Naive Bayes (NB) Naive Bayes Multinomial (NBM) Support Vector Machines (SVM) Μάθηση από θετικά και μη ταξινομημένα παραδείγματα Naive Bayes Positive (NBP) Naive Bayes Multinomial Positive (NBMP) Biased-SVM
Naive Bayes Χρησιμοποιεί μια πιθανοθεωρητική προσέγγιση. Για το πρόβλημα της ταξινόμησης, έχοντας ένα στιγμιότυπο δοκιμής x για ταξινόμηση, χρησιμοποιούμε το νόμο του Bayes για να υπολογίσουμε την εκ των υστέρων πιθανότητα για κάθε κλάση c, δεδομένου του διανύσματος x, και επιλέγουμε την μεγαλύτερη από αυτές: arg max arg max c c i { p ( C = c X= x) } = p( C = c) p( Xi = xi C = c) Όπου οι πιθανότητες στο δεξί μέλος εκτιμώνται από το σώμα εκπαίδευσης.
Naive Bayes with Gaussian Kernels Flexible Bayes (NB-K) Γιατασυνεχή-αριθμητικά χαρακτηριστικά μπορούμε να θεωρήσουμε ότι οι τιμές τους δεν είναι κανονικά κατανεμημένες, αλλά ότι προσεγγίζονται από άθροισμα κανονικών πυρήνων (Gaussian kernels).
Naive Bayes Positive arg max arg max c c i { p ( C = c X= x) } = p( C = c) p( Xi = xi C = c) p( C = pos) = pˆ( pos) ( = = ) p X x C pos i ( ) p X = x C = neg = i ( = x ) p X i i i i : δίνεται από τον χρήστη : εκτιμώνται από τα θετικά ταξινομημένα παραδείγματα ( i = i) ( i = i = ) ( = ) 1 p ( C = pos) p X x p X x C pos p C pos : εκτιμώνται από τα μη ταξινομημένα παραδείγματα (υποθέτουμε ότι ακολουθούν την κατανομή του πραγματικού κόσμου) Κανονικοποίηση: { } ( = = ) = ( = = ) p X x C neg max p X x C neg ;0 x i i i i ( ) p X = x C = neg = 1 i
Naive Bayes Multinomial (Positive) Στην ίδια λογική βασίζονται ο Naive Bayes Multinomial και ο Naive Bayes Multinomial Positive χρησιμοποιώντας όμως το πολυωνυμικό μοντέλο, κατάλληλο κυρίως για προβλήματα ταξινόμησης κειμένου. d = x t t = 1... V x V ( ) t p wt c j arg max { p( cj d) } = arg max p( cj) p( d ) d! j j t= 1 xt!
Η εκ των προτέρων πιθανότητα της θετικής κλάσης στους Bayes Positive αλγορίθμους Μειονέκτημα των δύο Naive Bayes Positive αλγορίθμων: η απαίτηση από τον χρήστη να δίνει μια εκτίμηση της εκ των προτέρων πιθανότητας της θετικής κλάσης Υλοποιήσαμε τέσσερις μεθόδους για τον υπολογισμό της: Θεωρούμε ότι όλα τα άγνωστα παραδείγματα είναι αρνητικά Προσπαθούμε επαναληπτικά να εντοπίσουμε τα πιο πιθανά θετικά παραδείγματα από τα άγνωστα Δοκιμάζονται διάφορες τιμές και επιλέγεται εκείνη που οδηγεί στην καλύτερη απόδοση του αλγορίθμου χρησιμοποιώντας την εκτίμηση του μέτρου F Συνδυασμός των δύο προηγούμενων μεθόδων
SVM ΟαλγόριθμοςSVM, χρησιμοποιεί μεθόδους πυρήνων (kernel methods) ώστε να μετασχηματιστεί μη γραμμικά ο χώρος εισόδου (input space) στο χώρο των χαρακτηριστικών (feature space), όπου θα υπάρχει ένα υπερεπίπεδο που διαχωρίζει τα θετικά/αρνητικά παραδείγματα, μεγιστοποιώντας το περιθώριο (margin). Στην περίπτωση που τα δεδομένα δεν μπορούν να διαχωριστούν ο αλγόριθμος SVM έχει μια παράμετρο C, η οποία επηρεάζει το πλήθος των δεδομένων εκπαίδευσης που θα βρίσκονται στη λάθος μεριά του υπερεπιπέδου.
SVM
Biased-SVM Ο Biased-SVM χρησιμοποιεί διαφορετικό C για τα θετικά και αρνητικά παραδείγματα, οπότε είναι κατάλληλος για το πρόβλημα μάθησης από θετικά και μη ταξινομημένα παραδείγματα, θεωρώντας όλα τα άγνωστα ως αρνητικά και επιλέγοντας κατάλληλες τιμές για τα C+ και C- που μεγιστοποιούν την εκτίμηση του μέτρου F.
Εκτίμηση του μέτρου F Μέτρο F: Εκτίμηση του μέτρου F(χρησιμοποιείται όταν έχουμε μόνο θετικά και μη ταξινομημένα παραδείγματα, για την επιλογή παραμέτρων): F c = precision 2 precisionc recallc c + recall 2 p r r = Pr[ Y = 1] Pr f ( X) = 1 c precision c = recall c = #σωστών προβλέψεων κλάσης c #προβλέψεων κλάσης c #σωστών προβλέψεων κλάσης c #δεδομένων κλάσης c
Πειραματική αξιολόγηση Προβλήματα ταξινόμησης μη ισοζυγισμένων σωμάτων δεδομένων: TPM (13,91%): φιλτράρισμα ανεπιθύμητης αλληλογραφίας thrombin (2,2%): σχεδιασμός φαρμάκων mammo (3,22%): βιοπληροφορική satimage (9,73%): αναγνώριση εικόνων vowel (9,09%): αναγνώριση φωνής hypothyroid (2,52%): ιατρική διάγνωση sick (6,12%): ιατρική διάγνωση
Πειραματική αξιολόγηση mammo 0,7 0,7 0,6 0,6 0,5 0,5 0,4 mammo 0,3 0,4 0,3 0,2 0,2 0,1 0,1 0 0 mammo NB NB -po NBP -m 0 NB-K NB-K -po NBP-K -m 0 SVM NBP -m 0 NBP -m 1 NBP -m 2 NBP -m 3 NBP -m 4 NBP-K -m 0 NBP-K -m 1 NBP-K -m 2 NBP-K -m 3 NBP-K -m 4 SVM -po OneClassSVM Biased-SVM
Πειραματική αξιολόγηση TPM 1 0,9 1 0,8 0,7 0,8 0,6 0,5 0,4 0,3 TPM 0,6 TPM.bin.num TPM.bin.nom 0,4 0,2 0,1 0,2 NB NB -po NBP -m 0 NBM NBM -po NBMP -m 0 SVM SVM -po OneClassSVM Biase d-svm 0 0 TPM TPM.bin.num TPM.bin.nom NBMP -m 4 NBMP -m 3 NBP -m 0 NBP -m 1 NBP -m 2 NBP -m 3 NBP -m 4 NBMP -m 0 NBMP -m 1 NBMP -m 2
Πειραματική αξιολόγηση Συμπεράσματα Οι αλγόριθμοι μάθησης από θετικά και μη ταξινομημένα παραδείγματα (NBP, NBMP, και Biased-SVM) αναδεικνύονται ιδιαίτερα ανταγωνιστικοί σε σχέση με τους αντίστοιχους ταξινομητές δύο κλάσεων (NB, NBM, και SVM). Ισάξια απόδοση με πολύ μικρότερο αριθμό ταξινομημένων παραδειγμάτων εκπαίδευσης, και μάλιστα μόνο από την κατηγορία που μας ενδιαφέρει. π.χ. στο σώμα mammo οι αλγόριθμοι μάθησης με πλήρη επίβλεψη εκπαιδεύτηκαν σε 3924 ταξινομημένα παραδείγματα, 127 θετικά και 3797 αρνητικά, ενώ οι αλγόριθμοι μάθησης από θετικά και μη ταξινομημένα παραδείγματα εκπαιδεύτηκαν σε μόλις 127 ταξινομημένα παραδείγματα όλα θετικά Τεράστιο κέρδος αφού η ταξινόμηση του σώματος εκπαίδευσης αποτελεί μια επίπονη και χρονοβόρα διαδικασία (γίνεται συνήθως χειροκίνητα από τον εκπαιδευτή).
ECML-PKDD 2006 Discovery Challenge Θέμα: Εξατομικευμένο φιλτράρισμα ανεπιθύμητης αλληλογραφίας Διαθέτουμε: Σώμα εκπαίδευσης δημιουργημένο από δημόσια διαθέσιμες πηγές (newsgroup και «spam παγίδες») Μη ταξινομημένα ηλεκτρονικά γραμματοκιβώτια του κάθε χρήστη Στόχος: Κατασκευή ταξινομητών για κάθε ένα χρήστη χωριστά που να ταξινομεί τα μηνύματα του σε ανεπιθύμητα ή μη Αποστολές: Στην αποστολή Α έχουμε διαθέσιμα αρκετά ταξινομημένα μηνύματα και αρκετά άγνωστα μηνύματα για κάθε χρήστη Στην αποστολή Β έχουμε πολύ λιγότερα μηνύματα αλλά περισσότερους χρήστες
ECML-PKDD 2006 Discovery Challenge, Αλγόριθμος TPN 2 Είσοδος: Σύνολο ταξινομημένων ηλεκτρονικών μηνυμάτων, T Γραμματοκιβώτιο προς ταξινόμηση, E i Μη ταξινομημένα γραμματοκιβώτια, E 1,, E n Βάρος, w Εκ των προτέρων πιθανότητα θετικής κλάσης, p Έξοδος: Ταξινομητής Αλγόριθμος: E: = E + w E j i j NBM := construct_nbm (T); POS := NBM.classify(E); do { i POS_OLD := POS; U := E POS; E p POS P(1) : = ; U NBMP := construct_ NBMP(POS, U, P(1)); POS := NBMP.classify(E); } while (POS POS_OLD); U := E POS; PEBL := construct_pebl(pos, U); return PEBL;
ECML-PKDD 2006 Discovery Challenge, Αλγόριθμος TPN 2, Εξήγηση Επειδή το ταξινομημένο σώμα εκπαίδευσης T δεν ακολουθεί την ίδια κατανομή με τα γραμματοκιβώτια E, κρίθηκε απαραίτητο η κατασκευή του ταξινομητή για κάποιον χρήστη να στηριχθεί κυρίως στα μη ταξινομημένα μηνύματα του ίδιου καθώς και των υπολοίπων χρηστών. Εκτελώντας επαναληπτικά τον NBMP στόχος μας είναι να αναγνωρίσουμε όσο το δυνατόν περισσότερα θετικά-ανεπιθύμητα μηνύματα. Τα υπόλοιπα προσπαθούμε να τα αναγνωρίσουμε με την χρήση του PEBL. Σχετική ομοιομορφία της θετικής κλάσης έναντι της αρνητικής δεν υπάρχουν αρνητικά παραδείγματα που εσφαλμένα ταξινομούνται ως θετικά χρήση της μάθησης με μερική επίβλεψη από θετικά και μη ταξινομημένα παραδείγματα
ECML-PKDD 2006 Discovery Challenge, Αλγόριθμος TPN 2, Αποτελέσματα Αξιολόγηση με χρήση του μέτρου του εμβαδού κάτω από την καμπύλη ROC (Area under curve AUC), μέσοςόροςαπόόλατα γραμματοκιβώτια για κάθε αποστολή: Αποστολή Α: AUC = 0,936457 Αποστολή Β: AUC = 0,918251 Η επίδοση του αλγορίθμου μας οδήγησε στην δεύτερη θέση και στις δύο αποστολές του διαγωνισμού.
Μελλοντικές κατευθύνσεις Επαναληπτικό σχήμα για τον Naive Bayes Positive σταδιακή χρησιμοποίηση των μη ταξινομημένων παραδειγμάτων ως ταξινομημένα Μείωση των δοκιμών με κάποιο ευριστικό τρόπο των παραμέτρων που επιλέγονται με χρήση της εκτίμησης του μέτρου F Επαυξητική μάθηση (incremental learning) χρονική εξέλιξη της κατανομής των στιγμιότυπων