HMY 795: Αναγνώριση Προτύπων Διδάσκων: Γεώργιος Μήτσης, Λέκτορας, Τμήμα ΗΜΜΥ Γραφείο: GP401 Ώρες γραφείου: Οποτεδήποτε (κατόπιν επικοινωνίας) Τηλ: 22892239 Ηλ. Ταχ.: gmitsis@ucy.ac.cy
Βιβλιογραφία C. M. Bishop Pattern Recognition and Machine Learning, Springer, 2007 (βιβλίο μαθήματος) R.O. Duda, P.E. Hart and D.G. Stork, Pattern Classification, Wiley Blackwell, 2nd edition, 2000. S Theodoridis and K Koutroumbas, Pattern Recognition, Academic Press 4th edition, 2008 Επιπρόσθετη συναφής βιβλιογραφία C.M. Bishop Neural lnt Networks for Ptt Pattern Recognition, Oxford University it Press, 1996 B Scholkopf and A.J. Smola, Learning with Kernels: Support Vector Machines, Regularization, Optimization and Beyond (Adaptive Computation and Machine Learning), MIT Press, 2002 T. Hastie R. Tibshirani and J. Friedman The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer Series in Statistics, Second Edition Α. Gelman, J. B. Carlin, H. S. Stern and D. B. Rubin, Bayesian Data Analysis, Chapman & Hall/CRC Texts in Statistical Science, 2003. D. J. C. MacKayInformation Theory, Inference and Learning Algorithms, Oxford University Press, 2007, available free online: http://www.inference.phy.cam.ac.uk/mackay/itila/book.html Αξιολόγηση και Βαθμολόγηση Τελική Εξέταση: 50% Κατ' οίκον εργασίες: 30% Υπολογιστική άσκηση (Project): 20%
Εισαγωγή Πρότυπο (Pattern): Το αντίθετο του χάους, οντότητα που παρουσιάζει κάποιας μορφής κανονικότητα στα χαρακτηριστικά της, στην οποία μπορεί να δώσουμε κάποιο όνομα
Εισαγωγή Αναγνώριση προτύπων: ο επιστημονικός κλάδος που ασχολείται με την αυτόματη αναγνώριση προτύπων σε δεδομένα διάφορων μορφών χρησιμοποιώντας υπολογιστικούς αλγορίθμους με σκοπό την ταξινόμηση δεδομένων δ σε διάφορες κατηγορίες (pattern classification), ή πιο γενικά την ανακάλυψη ενδιαφέροντων χαρακτηριστικών στα δεδομένα Συναφείς κλάδοι: Εξόρυξη Δεδομένων (Data Mining), Υπολογιστική όραση (Computer Vision), Τεχνητή/Υπολογιστική Νοημοσύνη (Artificial/Computational Intelligence), Νευρωνικά Δίκτυα (Neural Nt Networks), k) Υπολογιστική ήβιολογία (Computational ti lbiology/ Bioinformatics), Στατιστική Επεξεργασία Σήματος (Statistical Signal Processing), Θεωρία Βελτιστοποίησης (Optimization Theory) κλπ
Εισαγωγή Ανθρώπινος εγκέφαλος: η πιο εξελιγμένη μηχανή αναγνώρισης προτύπων, π.χ. αναγνώριση χειρόγραφων χαρακτήρων, αντικειμένων, προσώπων κλπ Εύ λ βλή έ ά θ λύ δύ λ Εύκολα προβλήματα για έναν άνθρωπο, πολύ πιο δύσκολα για έναν υπολογιστή!
Γενική διαδικασία αναγνώρισης/ταξινόμησης Συνήθως δεν χρησιμοποιούνται τα αρχικά δεδομένα, αλλά προηγείται προεπεξεργασία και ένας μετασχηματισμός τους που απλοποιεί το πρόβλημα Μετασχηματισμός: Χαρακτηριστικά (features) Επιλέγοντας ένα κατάλληλο διάνυσμα χαρακτηριστικών (feature vector) x = [ x1,..., x N ] μπορούμε να εκπαιδεύσουμε ένα μοντέλο το οποίο τυπικά μπορεί να εκφραστεί ως μια συνάρτηση y(x), των οποίων οι παράμετροι καθορίζονται κατά τη φάση εκπαίδευσης/εκμάθησης (training/ learning phase) Μετά την εκπαίδευση, το μοντέλο πρέπει να είναι σε θέση να κατηγοριοποιήσει σωστά νέα δεδομένα που δεν χρησιμοποιούνται για εκπαίδευση (testing/validation phase) Η ικανότητα γενίκευσης (generalization) είναι πολύ σημαντική Συλλογή δεδομένων Προεπεξεργασία δεδομένων Επιλογή χαρακτηριστικών Επιλογή μοντέλου/ ταξινομητή Εκπαίδευση ταξινομητή Επικύρωση ταξινομητή
Επιβλεπόμενη/ Μη επιβλεπόμενη αναγνώριση προτύπων Δύο πολύ γενικοί τύποι προβλημάτων στην αναγνώριση προτύπων Επιβλεπόμενη (supervised): Πρότυπα των οποίων η κατηγορία είναι εκ των προτέρων γνωστή χρησιμοποιούνται για την εκπαίδευση του αλγορίθμου Μη επιβλεπόμενη (unsupervised): Ο αριθμός των κατηγοριών δεν είναι εκ των προτέρων γνωστός και πρέπει να προσδιοριστεί κατά την εκπαίδευση. Σκοπός: Ανακάλυψη παρόμοιων παραδειγμάτων στα δεδομένα μας (clustering ομαδοποίηση) η) Καθορισμός της κατανομής των δεδομένων μας στο χώρο εισόδου (input space): density estimation Π.χ. σε ένα απλό πρόβλημα ταξινόμησης χαρακτήρων: Category A Category B Supervised classification Unsupervised classification (clustering)
Ένα απλό παράδειγμα: Αυτόματη ταξινόμηση ψαριών! Ας υποθέσουμε ότι θέλουμε να ξεχωρίσουμε αυτόματα σολωμούς από λαβράκια Αρχικά δεδομένα: εικόνες Προεπεξεργασία: ργ βελτίωση εικόνας και ανίχνευση ακρών
Ένα απλό παράδειγμα: Αυτόματη ταξινόμηση ψαριών! Πιθανά χαρακτηριστικά (features) που μπορούμε χρησιμοποιήσουμε Μήκος Φωτεινότητα Πλάτος Αριθμός και σχήμα πτερυγίων Θέση του στόματος κλπ κλπ. Ποια είναι η καλύτερη επιλογή??
Ταξινόμηση με βάση το μήκος
Ταξινόμηση με βάση τη φωτεινότητα Επιλογή του ορίου/κατωφλίου (threshold): αντικείμενο της θεωρίας λήψης αποφάσεων (decision theory)
Ταξινόμηση με βάση μήκος και φωτεινότητα Έστω ότι χρησιμοποιούμε και τα δύο χαρακτηριστικά Feature vector: x = [ x1, x2] Μήκος Φωτεινότητα Έστω ότι χρησιμοποιούμε γραμμικό ταξινομητή
Ταξινόμηση με βάση μήκος και φωτεινότητα Η τέλεια ταξινόμηση στο σύνολο εκπαίδευσης (training set) δεν είναι απαραίτητα καλή!
Ταξινόμηση με βάση μήκος και φωτεινότητα Καλύτερη γενίκευση με πιο απλό ταξινομητή
Παράδειγμα: Πρόβλεψη επιληπτικών κρίσεων Πρόβλεψη με βάση το ηλεκτροεγκεφαλογράφημα (EEG) Επιλογή χαρακτηριστικών (μονο/πολυμεταβλητά): π.χ. φασματική ισχύς, αλληλοσυσχέτιση, συγχρονισμός φάσης κλπ Πρόβλημα ταξινόμησης με 2 κατηγορίες: Επίκειται ή όχι επιληπτική κρίση? Δεδομένα εκπαίδευσης/επικύρωσης: Σημαντική η συλλογή δεδομένων με μεγάλη διάρκεια, τα δεδομένα εκπαίδευσης καθορίζονται από κάποιον ειδικό (γιατρό)
Ένα απλό πρόβλημα παλινδρόμησης (regression): Προσαρμογή καμπύλης (Curve fitting) Θέλουμε να προβλέψουμε την τιμή μιας μεταβλητής t από παρατηρήσεις μιας άλλης μεταβλητής x Έστω ότι τα δεδομένα εκπαίδευσης είναι μια ακολουθία ανεξάρτητων μεταβλητών (regressors) x k {x 1,x 2,,x N } και οι αντίστοιχες παρατηρούμενες τιμές της εξόδου {t 1,t 2,,t N } και ότι τα δεδομένα μας έχουν δημιουργηθεί από τη συνάρτηση sin(2πx) + λευκό θόρυβο
Προσαρμογή καμπύλης (Curve fitting) Συνάρτηση κόστους ελάχιστων τετραγώνων
Προσαρμογή καμπύλης (Curve fitting) Πως επιλέγουμε την τάξη του πολυωνύμου?
Προσαρμογή καμπύλης (Curve fitting) Root Mean Square (RMS) Error:
Προσαρμογή καμπύλης (Curve fitting)
Επίδραση του αριθμού δεδομένων
Κανονικοποίηση (regularization) Ποινή σε συντελεστές μεγαλύτερου πλάτους (shrinkage) Αν έχουμε τετραγωνική νόρμα: ridge regression
Κανονικοποίηση (regularization)
Κατηγορίες μεθόδων αναγνώρισης προτύπων MODEL INFORMATION COMPLETE INCOMPLETE Bayes Decision Theory Supervised Learning Unsupervised Learning Parametric Approach Nonparametric Approach Parametric Approach Nonparametric Approach Optimal Rules Plug in Rules Density Estimation Geometric Rules (K NN, MLP) Mixture Resolving Cluster Analysis (Hard, Fuzzy)
Επισκόπηση θεωρίας πιθανοτήτων και αποφάσεων (Overview of probability and decision theory) Μπεϋζιανή επαγωγή (Bayesian inference) Γραμμικά μοντέλα παλινδρόμησης και ταξινόμησης (Linear regression and classification models) dl) Μη γραμμική ταξινόμηση και νευρωνικά δίκτυα (Nonlinear classification models and neural networks) Μέθοδοι πυρήνων και μηχανές υποστηριζόμενων διανυσμάτων (Kernel methods and support vector machines) Μπεϋζιανά δίκτυα και τυχαία πεδία Markov (Bayesian networks and random Markov fields) Ανάλυση κύριων και ανεξάρτητων συνιστωσών (Principal and independent component analysis) Μοντέλα ανάμιξης και μεγιστοποίηση αναμενόμενης τιμής (Mixture models and expectation maximization) Μέθοδοι δειγματοληψίας (Sampling methods)