Μελέτη Αλγορίθμων Κατηγοριοποίησης με Χρήση του MATLAB

Σχετικά έγγραφα
ΜΕΛΕΤΗ ΑΛΓΟΡΙΘΜΩΝ ΚΑΤΗΓΟΡΙΟΠΟΙΗΣΗΣ ΜΕ ΧΡΗΣΗ ΤΟΥ MATLAB

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Data Mining - Classification

Διπλωματική Εργασία: «Συγκριτική Μελέτη Μηχανισμών Εκτίμησης Ελλιπούς Πληροφορίας σε Ασύρματα Δίκτυα Αισθητήρων»

ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ. Κατηγοριοποίηση. Αριστείδης Γ. Βραχάτης, Dipl-Ing, M.Sc, PhD

Ζητήματα ηήμ με τα δεδομένα

1 η ΕΝΟΤΗΤΑ ΕΙΣΑΓΩΓΗ (Προγραμματισμός & MATLAB)

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

HMY 795: Αναγνώριση Προτύπων

Αναγνώριση Προτύπων. Μη παραμετρικές τεχνικές Αριθμητικά. (Non Parametric Techniques)

Α.Σ.Ε.Ι ΚΡΗΣΗ ΣΜΗΜΑ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ & ΠΟΛΤΜΕΩΝ ΕΡΓΑΣΗΡΙΟ ΝΕΤΡΩΝΙΚΩΝ ΔΙΚΣΤΩΝ 2

HMY 795: Αναγνώριση Προτύπων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΠΑΡΟΥΣΙΑΣΗ ΤΕΛΙΚΗΣ ΕΡΓΑΣΙΑΣ ΛΙΝΑ ΜΑΣΣΟΥ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium Iii

Χαλκίδης Νέστωρας, Τσαγιοπούλου Μαρία, Παπακωνσταντίνου Νίκος, Μωυσιάδης Θεόδωρος. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης 2016

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΜΗΜΑ ΟΡΓΑΝΩΣΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΔΙΔΑΣΚΩΝ: ΘΑΝΑΣΗΣ ΚΑΖΑΝΑΣ. Οικονομετρία

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ

Διδάσκουσα: Χάλκου Χαρά,

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή

Κατηγοριοποίηση βάσει διανύσματος χαρακτηριστικών

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Πρόλογος... xv. Κεφάλαιο 1. Εισαγωγικές Έννοιες... 1

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Αποθήκες εδομένων και Εξόρυξη εδομένων:

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Μηχανική Μάθηση Εργασία 2

Πανεπιστήμιο Ιωαννίνων Ακαδ. Έτος Τμήμα Μηχανικών Η/Υ & Πληροφορικής. Παρασκευάς Τσανταρλιώτης Α.Μ. 318

HMY 795: Αναγνώριση Προτύπων

Υπολογιστική Νοημοσύνη. Μάθημα 9: Γενίκευση

Δύο είναι οι κύριες αιτίες που μπορούμε να πάρουμε από τον υπολογιστή λανθασμένα αποτελέσματα εξαιτίας των σφαλμάτων στρογγυλοποίησης:

Ευφυής Προγραμματισμός

Αναγνώριση Προτύπων Ι

ΠΕΡΙΓΡΑΦΙΚΗ ΣΤΑΤΙΣΤΙΚΗ Ι

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Εισαγωγή στην Στατιστική (ΔΕ200Α-210Α)

Αναγνώριση Προτύπων Ι

HMY 795: Αναγνώριση Προτύπων

Κεφ. Ιο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΘΕΩΡΙΑΣ ΠΙΘΑΝΟΤΗΤΩΝ

Υπερπροσαρμογή (Overfitting) (1)

ΣΤΑΤΙΣΤΙΚΟΙ ΠΙΝΑΚΕΣ. ΓΕΝΙΚΟΙ (περιέχουν όλες τις πληροφορίες που προκύπτουν από μια στατιστική έρευνα) ΕΙΔΙΚΟΙ ( είναι συνοπτικοί και σαφείς )

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΙΔΙΚΑ ΘΕΜΑΤΑ ΚΕΦΑΛΑΙΟ 9. Κατανομές Δειγματοληψίας

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Component Analysis, PCA)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΕΙΣΑΓΩΓΗ ΤΟ PASW ΜΕ ΜΙΑ ΜΑΤΙΑ ΠΕΡΙΓΡΑΦΙΚΗ ΣΤΑΤΙΣΤΙΚΗ: Η ΜΕΣΗ ΤΙΜΗ ΚΑΙ Η ΔΙΑΜΕΣΟΣ... 29

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ

Αριθμητική Ανάλυση & Εφαρμογές

ΑΠΟΤΥΠΩΣΕΙΣ - ΧΑΡΑΞΕΙΣ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΣΦΑΛΜΑΤΩΝ

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

Διακριτικές Συναρτήσεις

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ

Περιγραφή των Δεδομένων

HMY 795: Αναγνώριση Προτύπων

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

HMY 795: Αναγνώριση Προτύπων

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

ΑΣΥΜΜΕΤΡΙΑ Ας υποθέσουμε, ότι κατά την μελέτη της κατανομής δύο μεταβλητών, καταλήγουμε στα παρακάτω ιστογράμματα.

ΔΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ Τμήμα Επιστήμης Φυσικής Αγωγής και Αθλητισμού Πρόγραμμα Διδακτορικών Σπουδών ΠΛΗΡΟΦΟΡΙΑΚΟ ΕΝΤΥΠΟ ΜΑΘΗΜΑΤΟΣ

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΠΕΡΙΓΡΑΦΙΚΗ ΣΤΑΤΙΣΤΙΚΗ Ι Κ.Μ. 436

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Παρουσίαση 2 η : Αρχές εκτίμησης παραμέτρων Μέρος 1 ο

ΣΧΟΛΗ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΚΑΙ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

Εξόρυξη Γνώσης από Βιολογικά εδομένα

Απλή Γραμμική Παλινδρόμηση και Συσχέτιση 19/5/2017

Τυπικές χρήσεις της Matlab

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 2 ο : Βασικές έννοιες. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

Κεφάλαιο 1 o Εξισώσεις - Ανισώσεις

Ενδεικτικές Ερωτήσεις Θεωρίας

MATLAB. Εισαγωγή στο SIMULINK. Μονάδα Αυτόματης Ρύθμισης και Πληροφορικής

ΕΜΠ ΔΠΜΣ Εφαρμοσμένες Μαθηματικές Επιστήμες Αλγόριθμοι Εξόρυξης Πληροφορίας. Διάλεξη 04: Απεικόνιση Γνώσης, Αξιοπιστία & Αποτίμηση

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

f , Σύνολο 40 4) Να συμπληρώστε τον παρακάτω πίνακα f , , Σύνολο 5) Να συμπληρώστε τον παρακάτω πίνακα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Συστήματα Αναμονής (Queuing Systems)

Στοιχεία επεξεργασίας σημάτων

Γιατί μετράμε την διασπορά;

Εισόδημα Κατανάλωση

Περιεχόμενα. 2.1 Εισαγωγή Προγενέστερη έρευνα Ανάπτυξη υποδειγμάτων παραποίησης Πρόλογος... 11

Μέρος V. Ανάλυση Παλινδρόμηση (Regression Analysis)

27-Ιαν-2009 ΗΜΥ (ι) Βασική στατιστική (ιι) Μετατροπές: αναλογικό-σεψηφιακό και ψηφιακό-σε-αναλογικό

Στατιστικές συναρτήσεις Γραφική και πινακοποιημένη αναπαράσταση δεδομένων (ιστόγραμμα) Διαχειριστής Σεναρίων Κινητός Μέσος σε Χρονοσειρές o o o

3. Κατανομές πιθανότητας

Στατιστική. Εκτιμητική

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

4.4 Βάσεις Δεδομένων με πολλές Μεταβλητές

κυρτών και σύνθετων σωμάτων

Transcript:

Διπλωματική Εργασία Μελέτη Αλγορίθμων Κατηγοριοποίησης με Χρήση του MATLAB Στεργιανή Δόβα Διπλ. Μηχανικός Πληροφορικής και Επικοινωνιών Επιβλέπων Καθηγητής: Σαμαράς Νικόλαος

Εισαγωγή: Το πρόβλημα της κατηγοριοποίησης Πρόβλημα κατηγοριοποίησης (classification): Αναγνώριση της κατηγορίας που ανήκει ένα αντικείμενο, βάσει ενός συνόλου μετρήσεων που έχουν ληφθεί για αυτό Κατηγοριοποιητής (classifier): Μαθηματικό μοντέλο που επιτελεί την κατηγοριοποίηση Είσοδοι: τα Ν χαρακτηριστικά (features) του προβλήματος Έξοδος: μία από τις M κατηγορίες (ή κλάσεις) του προβλήματος Γενικότερο μοντέλο με ελεύθερες παραμέτρους (στατιστικές παράμετροι, βάρη, δομικά στοιχεία), ο κατάλληλος προσδιορισμός των οποίων επιτρέπει την επίλυση διαφορετικών προβλημάτων κατηγοριοποίησης Αλγόριθμος εκμάθησης Προσδιορισμός των ελεύθερων παραμέτρων του κατηγοριοποιητή για ένα δεδομένο πρόβλημα, βάσει ενός συνόλου εκπαίδευσης (training set) Το σύνολο εκπαίδευσης περιέχει Q ήδη κατηγοριοποιημένα πρότυπα (patterns) αναφοράς, καθένα από τα οποία είναι ένα ζεύγος εισόδων/εξόδου (τιμές χαρακτηριστικών/κατηγορία προτύπου)

Εισαγωγή: Το πρόβλημα της κατηγοριοποίησης Κύριες τεχνικές εκμάθησης: Παραμετρική κατηγοριοποίηση (parametric classification) Υπολογισμός στατιστικών παραμέτρων, θεωρώντας ότι τα δεδομένα ακολουθούν κάποια στατιστική κατανομή Διαχωριστική ανάλυση (discriminant analysis) Απλός κατηγοριοποιητής Bayes (naïve Bayes classifier) Επιβλεπόμενη εκμάθηση (supervised learning): Εξειδικευμένοι αλγόριθμοι εκμάθησης με χρήση του συνόλου εκπαίδευσης, που δεν κάνουν κάποια υπόθεση για την κατανομή των δεδομένων Κατηγοριοποιητής εγγύτατου γείτονα (nearest neighbor classifier) Δέντρα αποφάσεων (decision trees)

Εισαγωγή: Σφάλμα κατηγοριοποίησης Η αξιολόγηση ενός κατηγοριοποιητή γίνεται μέσω του σφάλματος κατηγοριοποίησης (συνήθως ως απόλυτος αριθμός στο διάστημα [0,1]): Εναλλακτικά χρησιμοποιείται η ακρίβεια κατηγοριοποίησης (συνήθως ως ποσοστό επί τοις εκατό): Acc = 100 (1 Err) (%) Τα δεδομένα αναφοράς συνήθως χωρίζονται σε δύο σύνολα: Σύνολο εκπαίδευσης (training set): Χρησιμοποιείται από τον αλγόριθμο εκμάθησης για τη δημιουργία του κατηγοριοποιητή σφάλμα αντικατάστασης (resubstitution error) Σύνολο δοκιμής (testing set): Χρησιμοποιείται για την αξιολόγηση του κατηγοριοποιητή σφάλμα γενίκευσης (generalization error) Η ποιότητα του κατηγοριοποιητή κρίνεται πάντα βάσει του σφάλματος γενίκευσης Εναλλακτικά χρησιμοποιείται η εξελιγμένη τεχνική διασταυρωμένης επικύρωσης (crossvalidation) k-fold: Τα πρότυπα χωρίζονται σε k τεμάχια 1 τεμάχιο χρησιμοποιείται ως σύνολο δοκιμής και τα υπόλοιπα k 1 ως σύνολο εκπαίδευσης Η διαδικασία επαναλαμβάνεται k φορές, θεωρώντας κάθε φορά διαφορετικό σύνολο δοκιμής Υπολογισμός του σφάλματος κατηγοριοποίησης από τα k σύνολα δοκιμής

Εισαγωγή: MATLAB Το MATLAB είναι μία τεχνική γλώσσα προγραμματισμού υψηλού επιπέδου, που παρέχει: Διαδραστικά εργαλεία για την εύκολη ανάπτυξη και δοκιμή αλγορίθμων Εξελιγμένες δυνατότητες οπτικοποίησης και ανάλυσης των δεδομένων και των αποτελεσμάτων Εκτεταμένες βιβλιοθήκες για την εύκολη διενέργεια περίπλοκων αριθμητικών υπολογισμών Απλή γλώσσα προγραμματισμού υψηλού επιπέδου, με έμφαση στην εύκολη διενέργεια πράξεων μεταξύ πινάκων Η γλώσσα του MATLAB είναι μία δυναμική γλώσσα δέσμης ενεργειών (scripting language), που προσφέρει μεταξύ άλλων: Δυναμική αλλαγή του τύπου των μεταβλητών Συναρτήσεις και δομές δεδομένων (δομημένος προγραμματισμός) Εύκολο χειρισμό εισόδου/εξόδου Εντολές ελέγχου ροής Ορισμό κλάσεων και δημιουργία αντικειμένων (αντικειμενοστραφής προγραμματισμός) Για ένα σύνολο δεδομένων κατηγοριοποίησης θεωρούνται ότι υπάρχουν αποθηκευμένες στο χώρο εργασίας (workspace) του MATLAB δύο μεταβλητές: features: Αριθμητικός πίνακας διαστάσεων Q N με τις τιμές των χαρακτηριστικών όλων των προτύπων labels: Διάνυσμα κελιών (cell array) με Q συμβολοσειρές, καθεμία από τις οποίες περιγράφει την κατηγορία του αντίστοιχου προτύπου

Εισαγωγή: Πρόβλημα κατηγοριοποίησης Iris Αναγνώριση του γένους του φυτού ίρις, βάσει μετρήσεων στο άνθος του: Τέσσερα χαρακτηριστικά: o Μήκος σέπαλων (sepal length, SL) o Πλάτος σέπαλων (sepal width, SW) o Μήκος πετάλων (petal length, PL) o Πλάτος πετάλων (petal width, PW) Τρεις κατηγορίες: o Setosa o Versicolor o Virginica Εισήχθηκε από τον στατιστικολόγο Roland Fischer το 1936 για την εξέταση της διαχωριστικής ανάλυσης Απλό πρόβλημα κατηγοριοποίησης, με 150 πρότυπα αναφοράς (50 για κάθε κλάση) Τα δύο τελευταία χαρακτηριστικά (μήκος και πλάτος πετάλων) επαρκούν για το διαχωρισμό της συντριπτικής πλειονότητας των προτύπων αναφοράς Εύκολη οπτικοποίηση των αποτελεσμάτων εποπτική σύγκριση των διαφόρων μεθοδολογιών κατηγοριοποίησης

Εισαγωγή: Πρόβλημα κατηγοριοποίησης Iris Διασπορά των προτύπων αναφοράς στα δύο πρώτα χαρακτηριστικά Διασπορά των προτύπων αναφοράς στα δύο τελευταία χαρακτηριστικά

Διαχωριστική Ανάλυση (Discriminant Analysis) Μία από τις αρχαιότερες μεθοδολογίες κατηγοριοποίησης (Fischer, 1936) Παραμετρική μεθοδολογία κατηγοριοποίησης: θεωρεί ότι τα δεδομένα ακολουθούν κανονική κατανομή Δύο βασικές μορφές: LDA (Linear discriminant analysis): Δημιουργία ενός γραμμικού κατηγοριοποιητή. Δισδιάστατος χώρος χαρακτηριστικών διαχωρίζεται μέσω ευθειών. QDA (Quadratic discriminant analysis): Θεώρηση επιπλέον τετραγωνικών όρων. Δισδιάστατος χώρος χαρακτηριστικών διαχωρίζεται μέσω καμπυλών, που αντιστοιχούν σε κάποια κωνική τομή. Ο αλγόριθμος εκμάθησης απλώς υπολογίζει κάποιες στατιστικές παραμέτρους από τα δεδομένα εκπαίδευσης: Μέσο όρο κάθε χαρακτηριστικού Πίνακα συνδιακύμανσης (covariance matrix) Στην περίπτωση της LDA γίνεται η υπόθεση ότι οι επιμέρους συνδιακυμάνσεις μεταξύ των χαρακτηριστικών είναι ίσες

Διαχωριστική Ανάλυση: Εφαρμογή στο MATLAB Η εφαρμογή στο MATLAB γίνεται μέσω της συνάρτησης classify, που υπολογίζει τις παραμέτρους μέσω του συνόλου εκπαίδευσης και παράγει το αποτέλεσμα της κατηγοριοποίησης ενός οποιουδήποτε συνόλου δεδομένων sample: result = classify(sample, trainingfeatures, traininglabels, type) Το όρισμα type καθορίζει τον τύπο της ανάλυσης: 'linear': Ο κατηγοριοποιητής LDA 'quadratic': Ο κατηγοριοποιητής QDA 'diaglinear': Ο LDA, θεωρώντας διαγώνιο πίνακα συνδιακύμανσης 'diagquadratic': Ο QDA θεωρώντας διαγώνιο πίνακα συνδιακύμανσης 'mahalanobis': Ο QDA, όπου ο πίνακας συνδιακύμανσης υπολογίζεται μέσω της απόστασης Mahalanobis Οι επιλογές 'diaglinear' και 'diagquadratic' είναι ειδικές περιπτώσεις του απλού κατηγοριοποιητή Bayes (naïve Bayes classifier), που θεωρεί ότι τα χαρακτηριστικά είναι μεταξύ τους ασυσχέτιστα Παράδειγμα εφαρμογής: result = classify(testingfeatures, trainingfeatures, traininglabels, 'quadratic'); generalizationerror = sum(~strcmp(result, testinglabels)) / length(testinglabels);

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Διαχωριστική Ανάλυση: Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Διαχωριστική Ανάλυση: Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Διαχωριστική Ανάλυση: Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris

Απλός Κατηγοριοποιητής Bayes Ο απλός κατηγοριοποιητής Bayes (naïve Bayes classifier, NBC) βασίζεται στην υπόθεση ότι τα χαρακτηριστικά του προβλήματος είναι μεταξύ τους ασυσχέτιστα (naïve hypothesis) Παραμετρική μεθοδολογία κατηγοριοποίησης: θεωρεί ότι τα δεδομένα ακολουθούν κανονική κατανομή Βασίζεται στο θεώρημα Bayes και παρουσιάζει ομοιότητες με τη διαχωριστική ανάλυση Απαιτεί τη θεώρηση της κατανομής που ακολουθούν τα δεδομένα: Κανονική κατανομή (τυπικός NBC) Κατανομή πυρήνα (kernel distribution): Πιο εξελιγμένη μορφή του NBC, που δεν απαιτεί τα δεδομένα να ακολουθούν κανονική κατανομή.

Απλός Κατηγοριοποιητής Bayes: Εφαρμογή στο MATLAB Αρχικά δημιουργείται ένα αντικείμενο της κλάσης NaiveBayes μέσω της μεθόδου fit, χρησιμοποιώντας τα δεδομένα εκπαίδευσης (διαδικασία εκμάθησης): nbc = NaiveBayes.fit(trainingFeatures, traininglabels, 'Distribution',type) Το όρισμα type καθορίζει τον τύπο της κατανομής που θεωρείται: 'normal': Κανονική κατανομή (τυπικός NBC) 'kernel': Κατανομή πυρήνα Ένα οποιοδήποτε σύνολο δειγμάτων κατηγοριοποιείται μέσω της συνάρτησης predict: result = predict(nbc, sample) Παράδειγμα εφαρμογής: nbc = NaiveBayes.fit(trainingFeatures, traininglabels, 'Distribution', 'normal'); result = predict(nbc, testingfeatures); generalizationerror = sum(~strcmp(result, testinglabels)) / length(testinglabels);

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Απλός Κατηγοριοποιητής Bayes: Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris

Κατηγοριοποιητής Εγγύτατου Γείτονα Ο κατηγοριοποιητής k-εγγύτατου γείτονα (k-nearest neighbor, knn) αποτελεί μία από τις πιο απλές μη παραμετρικές μεθοδολογίες κατηγοριοποίησης Η κατηγοριοποίηση ενός οποιουδήποτε δείγματος διενεργείται ως εξής: Υπολογίζονται οι αποστάσεις του δείγματος από όλα τα πρότυπα εκπαίδευσης Κρατούνται τα k πλέον κοντινά πρότυπα (γείτονες) Το δείγμα κατηγοριοποιείται στην κλάση που εμφανίζεται με τη μεγαλύτερη συχνότητα μεταξύ των k γειτόνων (κανόνας πλειοψηφίας, majority voting) Για τον υπολογισμό της απόστασης δύο σημείων θεωρείται παραδοσιακά η ευκλείδεια απόσταση. Εντούτοις, μπορούν να θεωρηθούν και άλλα μέτρα υπολογισμού της απόστασης. Παρά την απλότητα της βασικής αρχής λειτουργίας του, ο knn εμφανίζει υψηλή ακρίβεια κατηγοριοποίησης σε πολλά προβλήματα κατηγοριοποίησης Η απόδοση του κατηγοριοποιητή συνήθως μειώνεται για προβλήματα που περιλαμβάνουν μεγάλο αριθμό χαρακτηριστικών Βασικό μειονέκτημα: η ανάγκη καθορισμού του πλήθους των γειτόνων (τιμή της παραμέτρου k) από το χρήστη μέσω δοκιμής και σφάλματος

Κατηγοριοποιητής Εγγύτατου Γείτονα: Εφαρμογή στο MATLAB Η εφαρμογή στο MATLAB γίνεται μέσω της συνάρτησης knnclassify, που παράγει το αποτέλεσμα της κατηγοριοποίησης ενός οποιουδήποτε συνόλου δεδομένων sample χρησιμοποιώντας το σύνολο εκπαίδευσης: result = knnclassify(sample, trainingfeatures, traininglabels, k, distance) Το όρισμα k καθορίζει το πλήθος των εγγύτατων γειτόνων που θεωρούνται Το όρισμα distance καθορίζει το μέτρο απόσταση που θα χρησιμοποιηθεί: 'euclidean': Ευκλείδεια απόσταση 'cityblock': Απόσταση οικοδομικού τετραγώνου (city block distance) ή απόσταση Manhattan 'cosine': Απόσταση συνημίτονου 'correlation': Απόσταση συνέλιξης Παράδειγμα εφαρμογής: result = knnclassify(testingfeatures, trainingfeatures, traininglabels, 5, 'euclidean'); generalizationerror = sum(~strcmp(result, testinglabels)) / length(testinglabels);

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Κατηγοριοποιητής Εγγύτατου Γείτονα: Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris Όσο μεγαλύτερη η τιμή του k, τόσο πιο ομαλά γίνονται τα σύνορα διαχωρισμού των κλάσεων

Δέντρα Αποφάσεων Τα δέντρα αποφάσεων (decision trees) είναι μία οικογένεια μη παραμετρικών κατηγοριοποιητών Το MATLAB προσφέρει την πλέον διαδεδομένη μορφή δέντρου αποφάσεων, που ονομάζεται δέντρο κατηγοριοποίησης και παλινδρόμησης (classification and regression tree, CART) (Breiman et al., 1984) Ένα μοντέλο CART υλοποιείται μέσω ενός δυαδικού δέντρου αποφάσεων: Οι κόμβοι (nodes) του δέντρου περιλαμβάνουν μία ανισότητα σε ένα χαρακτηριστικό (π.χ. ΑΝ PetalLength < 2.45) Εφόσον ισχύει η ανισότητα ακολουθείται το αριστερό μονοπάτι, αλλιώς το δεξιό Τα φύλλα (leafs) του δέντρου περιγράφουν μία από τις κατηγορίες του προβλήματος ΑΝ PL < 2.45 ΤΟΤΕ κλάση Setosa, ΑΛΛΙΩΣ ΑΝ PW < 1.75 ΤΟΤΕ κλάση Versicolor ΑΛΛΙΩΣ κλάση Virginica

Δέντρα Αποφάσεων: Εφαρμογή στο MATLAB Αρχικά δημιουργείται ένα αντικείμενο της κλάσης classregtree μέσω της μεθόδου οικοδόμησης της κλάσης, χρησιμοποιώντας τα δεδομένα εκπαίδευσης (διαδικασία εκμάθησης): tree = classregtree(trainingfeatures, traininglabels) Η συνάρτηση classregtree επιδέχεται επιπλέον ορίσματα, που καθορίζουν διάφορες λεπτομέρειες της εκπαίδευσης Ένα οποιοδήποτε σύνολο δειγμάτων κατηγοριοποιείται μέσω της συνάρτησης eval: result = eval(tree, sample) Η δομή του δέντρου οπτικοποιείται μέσω της συνάρτησης view: view(tree) Παράδειγμα εφαρμογής: tree = classregtree(trainingfeatures, traininglabels); view(tree); result = eval(tree, testingfeatures); generalizationerror = sum(~strcmp(result, testinglabels)) / length(testinglabels);

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διπλωματική Εργασία Δέντρα Αποφάσεων : Όρια κατηγοριοποίησης Σύνορα κατηγοριοποίησης στα δύο πρώτα χαρακτηριστικά του προβλήματος Iris Τα σύνορα διαχωρισμού των κλάσεων είναι πάντοτε παράλληλα ως προς τους άξονες, αφού κάθε κόμβος ορίζει μία ανισότητα σε ένα χαρακτηριστικό

Δέντρα Αποφάσεων : Δομή δέντρου Δομή του μοντέλου CART (μέσω της συνάρτησης view)

Εφαρμογή σε Πραγματικά Προβλήματα Κατηγοριοποίησης Ονομασία Αριθμός Χαρακτηρ. Αριθμός κλάσεων Iris 4 3 Ionosphere 34 2 Cancer 9 2 Glass 9 2 Περιγραφή Αναγνώριση του γένους του φυτού ίρις, βάσει μετρήσεων στο άνθος του Αναγνώριση ύπαρξης ελεύθερων ηλεκτρονίων στην ιονόσφαιρα, μέσω σημάτων από ραντάρ Αναγνώριση του τύπου όγκου του μαστού (καλοήθης ή κακοήθης) μέσω βιοϊατρικών μετρήσεων από βιοψία Διαχωρισμός γυαλιού για παράθυρα από τους υπόλοιπους τύπους, μέσω μετρήσεων για τη χημική τους σύνθεσης Θεωρήθηκαν τέσσερα γνωστά πραγματικά προβλήματα κατηγοριοποίησης από τη βάση προβλημάτων UCI machine learning repository (Bache and Lichman, 2013) Τα δεδομένα αναφοράς βρίσκονται προαποθηκευμένα σε κάθε διανομή MATLAB Για κάθε κατηγοριοποιητή θεωρήθηκε η μορφή που παρέχει την υψηλότερη ακρίβεια κατηγοριοποίησης Χρησιμοποιήθηκε η τεχνική διασταυρωμένης επικύρωσης 10-fold για τον υπολογισμό του σφάλματος

Εφαρμογή σε Πραγματικά Προβλήματα Κατηγοριοποίησης Ακρίβεια διασταυρωμένης επικύρωσης στα θεωρούμενα προβλήματα κατηγοριοποίησης Μεθοδολογία Iris Ionosphere Cancer Glass LDA 98.00 85.18 96.14 92.47 QDA 98.00 87.47 94.71 91.54 Naïve Bayes (NBC) 96.00 91.17 96.42 92.49 knn 96.00 90.80 97.28 95.79 CART 94.67 89.17 94.56 92.03 Δεν υπάρχει κάποιος κατηγοριοποιητής που να εμφανίζει την υψηλότερη ακρίβεια σε όλα τα προβλήματα Οι LDA και QDA εμφανίζουν υψηλή ακρίβεια σε εύκολα προβλήματα (π.χ. Iris) Ο knn εμφανίζει τη μάλλον πιο ισορροπημένη απόδοση στα θεωρούμενα προβλήματα. Βασικό του μειονέκτημα όμως αποτελεί η ανάγκη καθορισμού της παραμέτρου k. Ο NBC (επιλογή 'kernel') εμφανίζει υψηλές ακρίβειες σε όλα τα προβλήματα και την υψηλότερη στο πλέον δύσκολο πρόβλημα Ionosphere Ο CART εμφανίζει υψηλές ακρίβειες στα πιο δύσκολα προβλήματα (Ionosphere και Glass) και συγκριτικά μικρότερες στα πιο απλά προβλήματα. Ταυτόχρονα όμως χαρακτηρίζεται από εύκολα ερμηνεύσιμη δομή μοντέλου κατηγοριοποίησης.

Τέλος παρουσίασης Ευχαριστώ πολύ για την προσοχή σας!

Εφαρμογή σε Πραγματικά Προβλήματα Κατηγοριοποίησης Διαδικασία εφαρμογής της τεχνικής διασταυρωμένης επικύρωσης 10-fold στο MATLAB: Για κάθε πρόβλημα φορτώνονται στο χώρο εργασίας η μεταβλητή features (με τις τιμές των χαρακτηριστικών των προτύπων αναφοράς) και το διάνυσμα κελιών labels (με τις αντίστοιχες ετικέτες που υποδηλώνουν την κλάση) Δημιουργείται ένα αντικείμενο της κλάσης cvpartition, που αποθηκεύει τις 10 διαμερίσεις των δεδομένων: cp = cvpartition(labels, 'kfold', 10) Ορίζεται ένας χειρισμός συνάρτησης (function handle), που υλοποιεί τη συνάρτηση που επιτελεί την εκπαίδευση του κατηγοριοποιητή και την τελική κατηγοριοποίηση (ο χειρισμός συνάρτησης έχει αντίστοιχη έννοια με το δείκτη συνάρτησης στη C/C++). Για παράδειγμα, η συνάρτηση για τον QDA ορίζεται ως εξής: qdafun = @(xtrain,ytrain,xtest)... (classify(xtest,xtrain,ytrain,'quadratic')) Η τεχνική 10-fold εκτελείται μέσω της συνάρτησης crossval: cverr = crossval('mcr', features, labels,... 'PredFun', qdafun, 'Partition', cp) Η συνάρτηση crossval επιστρέφει το σφάλμα διασταυρωμένης επικύρωσης (cverr)

Δέντρα Αποφάσεων: Διαδικασία κλαδέματος Ο αλγόριθμος εκμάθησης του CART μπορεί να οδηγήσει σε περίπλοκες δομές δέντρων, που ενδεχομένως να μειώνουν τις δυνατότητες γενίκευσης του κατηγοριοποιητή Η δομή ενός CART μπορεί να μειωθεί εκ των υστέρων, μέσω μίας διαδικασίας που ονομάζεται κλάδεμα (pruning) Η διαδικασία κλαδέματος αξιοποιεί πληροφορία που έχει αποθηκευτεί κατά τη δημιουργία του δέντρου (κόμβοι που θα μπορούσαν να αφαιρεθούν χωρίς να μειωθεί πολύ η ακρίβεια κατηγοριοποίησης) Η εφαρμογή της διαδικασίας στο MATLAB γίνεται μέσω των συναρτήσεων test και prune: [cost, secost, ntnodes, bestlevel] =... test(tree, 'crossvalidate', trainingfeatures, traininglables) tree = prune(tree, bestlevel)

Διαχωριστική Ανάλυση: Διαδικασία κλαδέματος

Τμήμα Εφαρμοσμένης Πληροφορικής Στεργιανή Δόβα Διαχωριστική Ανάλυση: Διαδικασία κλαδέματος Διπλωματική Εργασία